I'll collect together some items on troubleshooting the U3 here on this page, over time!
Many people have tried to use switched mode power supplies, and I am sure the majority have had no problems. Nevertheless, many people have had issues. The most common cause of any builder who has trouble getting his U3 kit to work, is the power supply. Switching power supplies may be noisy, have spikes when the load changes suddenly, and other ailments. These spikes may upset the processor and cause it to reset, or hang. Furthermore, switching noise on the supply can get superimposed on the transmitter output, causing a dirty output signal.
SERIOUSLY, I have lost count of the number of times I have had people write in with a U3 that refuses to write anything on the LCD, and I asked them to try a different power supply, or put a big electrolytic smoothing capacitor across it (e.g. 4,700uF) and they come back the next day reporting success.
So my strong recommendation is: use a well-regulated, LINEAR power supply (analogue regulated, not switched-mode!).
The U3 firmware (v3.05 and upwards) contains a diagnostic mode, which is entered automatically on application of power to the kit for the first time. If all is well, "Diagnostic Mode" will be displayed on the screen. In that case, you can press the Left button once, to proceed with the normal operation of the kit. As soon as you have edited one configuration item at least one time, you will no longer see the "Diagnostic Mode" on startup. If you did want to go back to diagnostic mode, you would need to do a Factory Reset to restore the EEPROM contents (see operation manual for details).
If you do not see "Diagnostic Mode" on the screen, you can check a few things in this mode, to help fault-find. Specifically, pins D4 and D6 of the LCD are pulsed with a 50% duty cycle (square wave) at 1Hz (0.5 seconds on, 0.5 seconds off); pins D5 and D7 are pulsed with a 50% duty cycle (square wave) at 2Hz (0.25 seconds on, 0.25 seconds off). If you have an analogue multimeter you will be able to check these easily. You could also use an LED with a 220 ohms series resistor to ground, and touch it on D4-D7. You get different rates of flashing on D4 (1Hz), D5 (2Hz), D6 (1Hz) and D7 (2Hz). This will let you make sure that adjacent signals are not shorted together, and that none of the four signals are shorted to ground or Vcc.
Additionally if you see this flashing, then it is a good indication that the processor is working properly: which means the 20MHz crystal oscillator is correctly operating and the processor is properly installed and programmed, and there are no issies with the Reset signal.
This is the dreaded case, where the LCD top row shows black blocks, and the bottom row is empty. This typically means either 1) you have not properly adjusted the contrast potentiometer: please check this first!! Or, 2) it means the processor has not successfully managed to communicate information to display on the LCD. In the latter case, there are several possible causes, including the ones listed below.
a) the processor did not start running properly, because the power supply is too dirty, for example not smooth enough. This is the #1 cause of problems people have! Bad power supplies! See section above. Digital electronics does often need a nice smooth well-regulated and smooth power supply. If the voltage drops below 4.3V, even temporarily, the processor will shut down (this is the brown-out fuse, designed to protect the EEPROM contents in the event of power failure). Too much ripple: same result. A wall-wart power supply may simply not be good enough. You could try a larger smoothing capacitor across the supply, say 2,200uF. Or a different power supply altogether.
b) 20MHz crystal not oscillating. There have been a couple of cases where the crystal was faulty and had to be replaced. Sometimes they would oscillate, only when the 22pF capacitors were removed. If you have an oscilloscope with high enough bandwidth and good x10 probes you can check to make sure the crystal is oscillating. Or perhaps you can hear it at 20MHz on a general coverage receiver. If the crystal is not oscillating, you can try removing the 22pF capacitors and see if that helps. You can also substitute a different crystal. The U3 kit does require a 20MHz system clock in order for all functions to operate properly, however any other crystal less than 20MHz could also be used for testing purposes, and would allow the system to at least write the start-up message to the screen. See also the above section on the diagnostic mode - if the diagnostic mode correctly shows flashign signals at the LCD connections D4-D7 then it means the 20MHz is oscillating properly and the processor is operating normally, so the 20MHz crystal is not the cause of the fault.
c) connection faults between microprocessor and LCD module. If any signals are disconnected, or shorted to each other or ground etc., then there won't be any success with the LCD. Some of this can be detected using the diagnostic mode, see above. You should also check with a Digital Multimeter (DVM) to check for continuity between the LCD pins and the processor pins they are supposed to connect to (see circuit diagram). Check for shorts between each pin and the other LCD pins, and between each LCD pin and Ground and Vcc.
d) failure to fit any R3 resistor at the reset pin, or fit a jumper wire instead of R3. This can cause the chip to stay reset, not starting the program properly. If the diagnostic mode shows flashing signals D4-7 then the processor is properly started, there is no issue with the Reset. Do make sure you fit a resistor at R3 or a jumper wire.
e) Please check all the other jumpers too! For example, if you fail to fit a jumper at R4, or the resistor, then the LCD contrast voltage will not be properly set, and this may result in the display being unreadable. Also check that the correct jumper has been installed at A0-A3 (backlight brightness setting).
There could be several reasons for a failure to calibrate, most notable being an absent or noisy 1pps signal from the GPS (e.g. due to the GPS not having locked), or not having properly set the Cal parameters in the firmware. There's another interesting one emailed in by David G0LRD, who writes:
I thought I would write with an interesting problem I encountered (my fault not yours!). You'll probably be aware of it, but I'll mention it in case anyone else reports a similar failure.
I have recently switched my U3 from 10m to 630m (incidentally, I've attached the output spectrum with your standard filter, which is excellent). I tweaked up the DDS comparator potentiometer a little to optimise the output power, then set it running. The GPS cal went bananas! It endlessly shifted the frequency by the maximum increment.
I've been debugging this today and realised my mistake when I put the DDS output on the scope. In tweaking the DDS pot, I'd shifted the mark-space ratio a little to much and taken the 6.25MHz cal signal just out of spec for the AVR timer clock input. The cal frequency has 160ns period, but the AVR fails if the mark or space is less than 50ns, so there's 30ns margin. I set the mark-space back to 50% and it works fine again. Quite a gotcha!!!
Thanks for the info, David, it is a new one for me!
It is worth checking all connections on the PCB, carefully cross-checking against the circuit diagram. Use a DVM to check continuity where it should be, and to check that there are no shorts between signals and ground, or between adjacent tracks or pads.
There have been a few cases where the PCB has a manufacturing fault - this can be a broken track, or in some cases copper hasn't completely been etched away and there is a short between adjacent tracks. These cases are rare (PCBs are supposed to be tested for this, at the factory!). But it is worth a careful visual check to make sure that faults like this aren't present.
This information applies specifically only if you see the a display indicating Si5351A error on powering the U3, AND you are using a U3 with AD9850 DDS (NOT the newer U3S with Si5351A module), AND you are using firmware version v3.07 or above.
Firmware v3.07 and above are supposed to automatically detect whether the AD9850 DDS module is plugged in, or the Si5351A module, and behave accordingly. Unfortunately there appear to be a few rare cases with a few AD9850 DDS modules where the AD9850 DDS module is falsely identified as an Si5351A module. Then the firmware tries to communicate with it using I2C communication, and fails, and displays the Si5351A error.
This situation can be resolved, by connecting a 10K resistor between pin 15 of the AVR processor (IC1) on the U3 board, and ground (e.g. ground is pin 22). This pulls the FQUD signal to the AD9850 low and restores the correct operation.