Programmable RGB LED options
As touched on in my MakerPro display options post, LEDs can be very useful user interface devices. Though simple LEDs that light up when the proper voltage is applied have their place, another option comes in the form of programmable RGB LEDs.
[An up-close view of an RGB LED. Photo by Sven Killig, CC BY-SA 3.0 de, via Wikimedia Commons]
These devices, which come in several different versions, allow a series of LEDs to be lit up by a single output from a microcontroller. You’ll find some of these in a four-wire configuration, with a power, ground, data, and clock connection, and others which leave out the clock pin, allowing for a slightly simpler connection scheme.
Each LED module is a combination of three LEDs that are lit up to different brightness levels via individual pulse-width modulation (PWM) to display a dazzling array of colors. Some of these modules also add a white LED — known an RGBW LED — to display white properly, since this doesn’t display well with just RGB LEDs. Though they may seem exotic, there are lots of inexpensive lighting options available, as outlined below.
Individiual LED modules
[Individual 5050 LEDs are both tiny and inexpensive. Photo via Adafruit.]
Though you normally hear about multiple RGB LED units used together, at the heart of these devices are individual LED segments controlled by their own tiny driver chips. If you just need one of two of these lights in a project, or if you perhaps need something in a non-standard shape, you can always buy the individual modules and connect them together as needed. Adafruit sells 5050 RGB LEDs, as pictured above, which include an integrated driver chip for $4.50 per 10-pack. Even if this isn’t quite what you need, I’m happy to include this simply to show what kind of electronics can be dwarfed by George Washington’s head on a quarter.
If you’ve got a little more room for soldering, Adafruit also sell “Flora” units that mostly cover George’s head and include a constant-current driver for less battery sensitivity.
[RGB LEDs light up this ClearWalker device. Photo by PJ Accetturo via Instagram.]
When I think “programmable LEDs,” usually “strip” pops into my mind afterwards. I’ve used these in both the four-wire configuration, as well as the three-wire. Though that extra wire might not make that much of a difference in practical terms, saving an I/O pin is never a bad thing. Adafruit, which has done quite a bit of development for these type of LEDs, has developed Neopixel Arduino LED libraries that can work with their strips (both three- and four-wire), as well as many generic strips that are readily available via a simple web search. Some will come with a controller and power supply, which can be quite useful if you’d like to, for instance, decorate your game room, or want to be able to control you strip separately from your robot controller.
Rings, matrices, and other shapes
Individual LEDs are nice, strips are even better, but you can also buy these LED units in conveniently-shaped arrangements on a printed circuit board. These range from square or rectangular matrices, which can display patterns or even animated GIFs, to Neopixel Rings from, you guessed it, Adafruit, arranged in a circle. There’s even an interesting device called the RasPiO on Kickstarter, that allows for several different interesting shapes, including a series of triangles that can be stacked into a pyramid.
Of course, LEDs like this can make nearly any project better. If you’d like to see more about how the ClearWalker in the image above made, using a NeoPixel ring, LED strips, and even an LED matrix based on somewhat different technology, be sure to check out this video.