About
The LightQuad is a four-by-four array of RGB LEDs with build-in tactile buttons.
Watch
The flicker seen in the video isn't visible in person; it's just like videotaping a TV screen.Implementation
The top layer of the device is made from SparkFun parts: a button pad and LED breakout board.
The next layer is the controller. It uses at Atmega328 and two shift registers to drive the LED array. The system is Arduino-compatible and programmable through an FTDI serial cable.
Code
The code puts an interrupt on Timer 2, set to fire every 0.5 ms. Each row is lit for four timer cycles, to allow for glorious 2-bit color depth! This works out to a full display refresh rate of about 120 Hz, which is visually seamless.
Download
Source (zip file, 4 KB).