Somewhere along the way, I had reassigned the I/O
pin that the buzzer was connected to. Instead of
connecting it to RA4, I had connected it to RB7. I think I
did this because the RB7 pin was physically closer to the
location on the board that I wanted to place the buzzer. I
must have made that swap early in the design, as the test
circuit has the buzzer connected to RB7 as well.
The result was that RA4 was driving the Charlieplex
LED matrix. However, RA4 is unable to source current, so
half the LEDs connected to this line would not light. I had
to swap the RA4 and RB7 lines. I did this by cutting some
traces and installing some jumper wires on the back side
of the PCB (Figure 3). After making the adjustments in the
code, everything was working.
I still had issues with some LEDs glowing faintly during
operation. I was unable to completely eliminate the glow,
but greatly reduced the brightness with adjustments to the
code. The glow was caused by a combination of the
voltage divider network and the fact that I couldn’t
activate outputs on both Port A and Port B at the exact
same time. Once one was set, it took a couple of
instruction cycles to set the other one. The end result was
that the glow was barely perceptible in a very dark room,
which I felt was quite acceptable.
The Final Circuit
The final circuit is
expanded version of
the test circuit, which
we went over in
detail last time.
Figure 4 shows the
power supply, which
30 May/June 2018
I would like to thank
the following people
who were a great
help in making the
Clock a huge
• Keith Bayern
• Professor John
• Dennis Halverson
• Joel & Jeanne
■ FIGURE 5. Microcontroller
■ FIGURE 4. Power supply schematic.
■ FIGURE 3. Circuit board rework.