Ciseco Pi-Lite: Make a Raspberry Pi trip light fantastic with 126 LEDs
Perfect illumination for hardware-tinkering newbies
Review Not so long ago, a hardware hacker called Jimmie Rodgers decided to solder 126 LEDs onto a small circuit board that could be plugged into the Arduino microcontroller kit. He dubbed it the LoL Shield: LoL for "lots of LEDs", and shield because that’s that’s what Arduino add-ons are called.
LoL Shield for RPi: Ciseco’s Pi-Lite
LoL Shield is a fun display for electronics projects, but it requires an Arduino board to control it. Deciding that Raspberry Pi fans could probably use something very similar, UK-based Ciseco, which makes and sells a range of add-ons for board computers, took Jimmie’s idea and recast it as Pi product.
The result is the Pi-Lite, a board containing not only a 14 x 9 array of red LEDs but also its own Arduino chip and firmware to run on it through which the Pi can control the lights, each of which is individually addressable. Where Rodgers used big, home-electronics-style LEDs, Ciseco has fitted surface-mount micro LEDs not dissimilar to the ones used on the Pi itself.
Like the LoL Shield, the Pi-Lite uses a trick called "charlieplexing" to send the LED-lighting signals over just a few IO pins, though it comes at the cost that one duff LED will ruin the whole board. The Pi-Lite clips directly onto the Pi’s GPIO header, though it only uses the 5V power source pin - the Pi-Lite draws 49mA - and the UART serial port for data.
Voila! It’s El Reg
Getting Pi-Lite up and running is easy. A little bit of Linux system file tweaking is required to make the Pi’s serial port is available for the add-on rather than as an output for boot information, but Ciseco has an easy-to-follow guide; it won’t take anyone long to set the Pi-Lite up. Shut the Pi down, connect the Pi-Lite, reboot and you’re now ready to start using all those lights.
The Pi’s GPIO serial port is made available through the
/dev/ttyAMA0 virtual device, and once the set-up adjustments have been made, you can use Linux’s
echo command to send text to the Pi-Lite:
sudo echo $'The Register on Pi-Lite' > /dev/ttyAMA0, for starters.
Ciseco’s documentation also guides you through installing and using the Minicom terminal emulator, which you can use if you want a more interactive experience: what you type appears immediately on the Pi-Lite’s panel of LEDs, automatically scrolling across the array, thanks to the firmware pre-loaded on the card.
126 LEDs, anyone?
Key in three dollar signs and Pi-Lite enters command mode. Commands need to be entered in upper case - the Caps Lock key is a boon here - and reasonably quickly because the Pi-Lite will automatically drop out of command mode after a second or so.
The available commands are rudimentary but allow you to work with pixels and text. You can set the auto-scroll speed, switch individual pixels on or off, switch the entire LED array on or off, and enter a 126-character string of 1s and 0s representing a character bit pattern to create some basic graphical glyphs - there’s a limit to what you can do on a display with a 14 x 9 resolution, after all - and text, and ultimately animate them.
Other commands provide more specific usages: you can illuminate a column of LEDs, for instance, by specifying the column and a percentage value to represent the height of the lit column. This is for bar graphs and such. There’s a row illumination command too, but it has been designed to enable horizontal Vu meter-type displays, so it covers two rows at a time.
The Pi-Lite has points on which to solder pass-through pins for the Pi’s GPIO
You can place a text string at a particular column and row, but you can’t set the size of the text - though, as I say, with a low-resolution dot-matrix display you don’t have much room for manoeuvre in any case.