2023-2024 ICS3U-E Charlieplex Clock Project


ACES enjoy a rich history with Charlie Allen's discovery back in 2001. Charlieplexing offers both a practical and creative use of your MCU's tri-state digital pins and ACES have developed a number of devices that exploit its features (ie. CharlieStick, CharlieplexEqualizer). The 2022/2023 ICS4U-E ACES had the notion late in their year to develop a clock based on the principle and, although they scrambled at the end of the year to realize it, the course ran out and it was off to summer and univeristy without crossing the finish line.

With a final three-hour class imposed upon the 2023/2024 ICS3U-E class, it was decided that an LED Charlieplex Clock was too irresistable to let sit on the drawing board for much longer. Mr. D. developed the PCB in late April and had JLC manufacture and populate 20 PCBs with 132 0603 LEDs (60 Red/Seconds, 60 Green/Minutes) and 12 Blue/Hours) in time for the final class of the year. Imagine, 132 LEDs driven by 12 tri-state digital pins. So good! Four mounting holes offers the motivated ACE the chance to develop and mount a driver circuit on the back or the front, over the summer. Hmmm.... come to think of it, digital date information would be a terrific complement to the analog time display. Furthermore, a stepper motor could rotate the day of the week into view, as do the Rolex; we'll call it the ACEX! Finally, a Fusion360 designed case would be a natural design enhancement. We'll see what my 2024/2025 ICS4U-E ACES show up with in September. They seldom disappoint :)

An inspiring site on the web devoted to the development of a clock based on a Charlieplex strategy can be found at: https://clock-it.net/charlieplexing-led-clocks/.

ACES Charlie Clock Schematic ACES Charlie Clock PCB: JLCPCB Rendering

The Key to Charlieplexing: Tri-State Digital IO Pins

ATmega328P Datasheet: Chapter 14. I/O Ports

PCB Board View Clip

The greatest gift/benefit I can offer to those engineering-bound ACES with the courage, commitment and conviction to take this project on is to give you 'just enough' information to ensure that, when you eventually cross the finish line, you can, justifiably, call the achievement completely YOUR doing. To this end, here is a clip of the board view revealing the sequence of LED names that you can map/link/associate to the schematic above.

Workshop Sequence

  1. (12:30) Review of the MCU's Tri-State Digital IO pins
  2. Math Concepts: Factorial, Permutations and Combinations
  3. Distribution and code development of the ACES 12-LED CharlieStick
  4. Demonstration of the 20-LED Charlieplexed Prototype
  5. Alternative #1. KIS. No RTC; simply 1s Timer1 Interrupts (pins 9&10) with H&M buttons (Ext Int. pins 2&3) for user adjustment)
    Alternative #2. Date Feature? RTC. Adapt I2C RTC code from Term 2.
  6. --------------------- (1:50-2:05) BREAK --------------------------
  7. Pair up (Those going on matched with those 'retiring')
  8. Distribution and review of the ACES CharlieClock PCB
  9. Data modeling of the 132-LED clock
  10. Design inspiration: G. Davidge's 8-Channel Graphic Equalizer
  11. Hardware Option: Arduino Pro Mini for compact form factor
  12. (3:30) September Project Description and Farewells

Design Considerations

Designing an encasement to secure and display your CharlieClock offers the creative ACE a rich set of alternatives. Since additional circuitry can be mounted on the front or back using the PCB's four mounting holes offset 0.9 in from the center, you may wish to incorporate additional design allowances to contain the second populated PCB.

Finally, be sure to check out the straightforward Emboss feature of Fusion 360 to apply text to a curved surface, as shown below.