|Now featured on the cover of the March 2018 issue of Nuts and Volts magazine!|
I assembled the board. Whew, that’s a lot of LEDs to solder! I adjusted the code for the test circuit to work on the new clock. However many of the LEDs refused to light!
At first, I thought I had a bad connection on one of the I/O lines, but then discovered what the actual problem was. Early on, I realized that the processor’s RA4 output was not suitable for driving the LEDs. This pin could only sink current, but not source it. The LED matrix required pins that could both source and sink current. Therefore, I had assigned this pin to drive the buzzer. All the buzzer needed was a current sink, so RA4 was dedicated to it. However, somewhere along the way, probably while laying out the PCB, I decided to switch some I/O lines around, and RA4 was connected to the LED matrix instead. So the LEDs that required a current source from RA4 were not lighting!
I made adjustments to the schematic and modified the board by cutting three traces and installing three jumper wires. I also had to modify the code to accommodate the changed I/O lines. Now all the LEDs light properly; the clock hardware is working correctly! 🙂