The Raspberry Pi makes a nice compact platform to attach an indicator light to for all sorts of projects—weather notification, new emails, etc. Read on as we show you how to hook up an LED module to your Pi and set up some basic notifications.
Why Do I Want to Do This?
Because it’s fun. Unlike many of our tutorials where we include a little blurb at the top outlining exactly what benefit you’ll derive from the project, the blurb is pretty short in this case because the benefit is simply having fun.
The Raspberry Pi is a perfect device to play around with, experiment with electronics, and learn some programming. Nobody needs an ambient rain indicator in their kitchen, for example, but building one is a fun exercise and a great reminder to bring your umbrella with you on potentially storm days.
What Do I Need?
To follow along with out tutorial you’ll need a few things. First, we assume that you’ve already followed our previous tutorial: The HTG Guide to Getting Started with Raspberry Pi (and thus have a the basics covered up to installing Rasbian on our Raspberry Pi).
In addition to having a functional Pi unit with Raspbian installed on it you’ll need the following things:
Note: The clear/frosted Pi case is entirely optional but if you’re currently using an opaque case then your LED indicator will be hidden inside. You’ll either need to cut a hole in your case to let the light out or use a GPIO extension cable with a breakout kit—like this one from Adafruit Industries—to tether the LedBorg to your Raspberry Pi. While using the breakout cable adds about $8 to the expense of the project it does offer more potential for customizing the end product in that you can more easily place the LED inside things or under something you want to illuminate.
Installing the LedBorg
While you could certainly build yourself a completely-from-scratch LED indicator (and a search engine inquiry will turn up plenty of people who have done so) the Piborg organization produces such a compact and inexpensive LED module, the LedBorg, that we couldn’t resist using it as the basis for our Raspberry Pi LED indicator project.
Installing the module is a snap as it’s designed to fit directly over the GPIO pins on the Pi. First, power down your Pi and open the case.
The most important part of the installation process is that you orient the module so that the LedBorg icon is closest to the RCA module on the Raspberry Pi board (and thus the edge of the LedBorg is flush with the edges of the Pi board with the overhanging portion of the LedBorg hanging over the Pi board and not off the edge). See the photograph above.
While you have the Pi board open, now would be an excellent time to cover the on-board LED indicators (next to the USB ports), especially if you’re using a clear case. You don’t want it to be confusing to read your LedBorg indicator because the power and network indicator lights are so bright.
We covered ours with a layer of white electrical tape. This dimmed them enough so that we could still reference them but they were so much dimmer than the LedBorg it was no longer distracting.
Once you have the LedBorg installed and have, optionally, covered the Pi’s LED indicators with electrical tape, it’s time to close the case back up. Boot your Pi up before moving onto the next phase of the tutorial.
Installing the LedBorg Software
PiBorg provides a great software package for the LedBorg that includes both a GUI controller as well as drivers to access the LedBorg from the command line.
Before we get started you need to make sure you’re grabbing the right package for your version of Rasbian and the revision # of your Raspberry Pi board.
If your Raspberry Pi board has no mounting holes, it is Revision 1. If your Raspberry Pi has mounting holes (located by the USB ports and between the power and HDMI port) then it is Revision 2. You also need to know the kernel version of your Rasbian installation. Open up the terminal and enter the following command to check:
Once you have the Revision number and the kernel number, you can visit the Packages section here to grab the link for your package. In our case we’re using a Revision 1 board with the 3.6.11 kernel so we would grab the raspbian-2013-02-09-rev1.zip file.
In order to install all the goodies we need to open up the terminal on the Pi. and then input the following commands to install the LedBorg package.
Note: You must replace the URL in the third command with the URL of the package for your board/kernel combination.
wget -O setup.zip http://www.piborg.org/downloads/ledborg/raspbian-2013-02-09-rev1.zip
chmod +x install.sh
At this point you now have the GUI wrapper for the LedBorg drivers and the drivers themselves installed. On your Raspbian desktop you’ll see an icon for the GUI wrapper:
Go ahead and click on the LedBorg icon to launch the GUI wrapper. You will be treated to the color picker interface like so:
Now is the perfect time to make sure your module is functional. Pick any color, save for black, to try it out. We are going to test it by picking a few colors:
Looks good! It’s bright and the frosted plastic of the case we ordered for the project offers moderate diffusion. If you want to play with the LED module more before moving on, click Demo Mode:
In demo mode you can cycle through all the colors at various speeds, check out the high/low output, and otherwise put the LED module through the paces.
It’s here in the Demo Mode section that you can also turn your LedBorg into the first of many indicators. By selecting CPU in the Colours section the LED will begin changing from green to yellow to red to indicate load on the Raspberry Pi’s ARM processor. We suggest changing the Speed to Slow while you’re at it—Fast updates the LED too quickly and makes the CPU indicator distracting instead of useful.
In addition to using the GUI interface to select colors you can pick colors from the terminal using RGB values. Open up the terminal and enter the following command to turn the LED off:
echo "000" > /dev/ledborg
The way the LedBorg handles RGB values is that 0 means the channel is off, 1 means the channel is half power, and 2 means the channel is full power. So for example 001 would set the Red channel at 0%, the Green channel at 0% and the Blue channel at 50% power.
Change the value to 002 and the LED output remains blue but becomes brighter because the Blue channel is now at 100% output. Change the value to 202 and the Red and Blue at full power combine to make a magenta color.
Now that we know how to manipulate the LED manually, let’s look at using scripts to turn our LED from a simple light to an actual indicator.
Continue reading to see how to setup a rain indicator, Gmail checker, and more.