Instructables

16x16 LED Matrix

For our Game of Life workshop at Ithaca Generator we built a 3 foot by 3 foot LED matrix display with halved ping-pong balls for light diffusion. We used it to illustrate some of the famous emergent structures in Conway's Game of Life as well as to demonstrate the evolution of randomly seeded colonies. The display now graces our Makerspace as a permanent art installation and we will continue to find creative uses for it as a general purpose 256 large-pixel display. I decided to write it up as an instructable to document the electronics, firmware, and construction process.




 
Remove these adsRemove these ads by Signing Up

Step 1: Electronics

Picture of Electronics
board.png
Unlike many LED matrix displays you might find out there, this one is not multiplexed. Each LED is driven by it's own dedicated control signal. The reasons we did it this way are:

 * we wanted it to be brighter than a multiplexed display would allow (since any subset of LEDs can be turned on at once)
 * we wanted to reduce software complexity that is inherent to multiplexing
 * we didn't want there to be any flickering artifacts on video footage of the display

The display is driven by an Arduino-compatible development board called Nanode interfaced to chain of custom made circuit boards hosing Texas Instruments TLC5926 16-bit Constant Current Source Sink Driver. Sixteen of these boards provide the 256 current sinks needed to drive the display. These chips have a similar interface to the familiar 74HC595 shift registers, except that:

 * using a single resistor per chip you can set the current that each channel will sink when it's enabled
 * they can handle sinking up to 120 mA per channel (!) (we only set the current to about 20 mA on our boards)
 * when you set a channel to one it sinks the preset constant current on that channel, whereas a zero pulls no current on that channel

The boards also each have a 74HC125 quad-buffer on board to ensure good signal quality all the way to the end of the chain of boards.

In summary, for our 16 x 16 display, we used one of these boards per row of LEDs and chained them all together to drive all 256 displays.