Step 9Circuit description
It multiplexes the 8x8 LED array by sequentially turning on one column at a time then sending 8 bits of data to the 8 LEDs in that column before moving on to the next.
This occurs much too fast for the eye to notice any flicker. (Actually about 15,000 times per second!)
The microcontroller selects the column to turn-on via a logic chip (ic2), a 4028 BCD to Decimal decoder. This is used in this design as this microcontroller does not have enough outputs to address all of the columns directly.
Only 8 outputs of the 4028 are used and these can be controlled using only 3 ports of the microcontroller (although a fourth port is actually used so that all of the columns can all be turned-off if required)
The 4028 drives a ULN2803 8 way transistor array. This chip has outputs easily capable of supplying enough current to light all 8 leds in each row.
The row leds are driven directly by the microcontroller via current limiting resistors as each output will only have to light one led in a column. Each microcontroller port can handle about 25mA max . As the display is multiplexed, it is possible to get-away with higher peak currents by using smaller value resistors although I don't recommend it!
Power is provided via a 5 volt regulator ic1. The power consumption is quite low (just under 100mA).
The circuit includes a serial data connection. This is provided so that the snowflake can be turned-on/off at a pre-set time from a connection to another of my Christmas projects from a few years ago (an LED Christmas Star).
My Star also sends commands which should be able to sync together several Snowflakes, although I can't test it yet as I have only built one Snowflake so far!
| « Previous Step | Download PDFView All Steps | Next Step » |
![]() |
Add Comment
|












































