My Beaglebone Black is installed inside a case from Logic Supply. The case features a hole for a power-on or reset button. As my Beaglebone is powered on all the time, I decided to try something a little more more exciting: An RGB notification LED similar to the ones most smartphones have.
Everything is available on github!
The Beaglebone has a lot of GPIO pins, and I thought it would be as simple as connecting an RGB led to the correct ones. It wasn’t. The GPIO pins are connected directly to the SOC and you can’t draw a lot of current from them. Most RGB leds either require more current or are barely visible in daylight. The solution is to add a voltage-level shifter in between, as those can draw current from an external source. Fortunatly, one of the pins on the Beaglebone provides direct access to the power supply.
I couldn’t do this myself, so I asked a friend. Matthijs Cottignie designed a custom printboard that’s small enough to fit inside the case and connects the RGB led to the beaglebone. Thanks again Matthijs, I coulndn’t have done this without your help! As I was planning to make the software open source, he was so kind to let me publish the schematics as well.
A small Go application allows you to configure the GPIO pins for output and toggle the LED in red, green and blue. I might update it later to support more colors using PWM. If you have Go installed, simply call
go get to install nled:
go get github.com/sorcix/nled nled init nled [red|green|blue] [on|off]
Make sure you always call
init first, as all other actions will fail if the pins are not exported. I usually do this by running it at boot time using a systemd service file.