In two weeks I’ll be giving a workshop on Controlling LEDs with Arduino, where I hope to present ways in which the Arduino can be used to control lots of LEDs though charlieplexing, IC controllers (such as the MAX7219 used for the clock face) and addressable LEDs such as the WS2812 (a strip of 24 such LEDs illuminates the seconds and hour position from the back of this clock).
The clock was thrown together with what I had kicking around. The body comes from an old IKEA clock (I’d bought it for the movement which went into a CNC cut LP clock) with four 8×8 LED matrices controlled by MAX7219s. Behind that a strip of NeoPixels / WS2812 LEDs provides the seconds (red band) and hour position (blue pixel).
The code could do with some work. It is based on the TimeSerial example provided with the Time library and as such it needs to connect to a PC to set the time. I’ve ordered a Real Time Clock (RTC) to aid in removing that dependancy. I might implement some sort of minute hand on the RGB LEDs, perhaps by lighting a few in another colour (and blending the colours as I have done when the second hand reaches the hour hand). The clock could be programmed to display a rainbow or larson scanner effect when the clock strikes an hour. I might add a Light Dependant Resistor (LDR) to adjust the brightness of the LEDs to match ambient light levels.
Finishing off the face with something which will replace the scrap of cardboard used to hold the LED matrices in place is about all I expect to do with this.