A while ago I ordered and received a LEDBorg bright, three-colour LED for my Raspberry Pi. I am a fan of LEDs since I first saw those large LED screens in Seattle, and so this time wanted to have a go at writing software to drive the GPIO pins, but didn’t want to go to the trouble of building my own hardware. Not only would that be fiddly, but if (when) something did not work, I would not be sure whether it was my hardware assembly or my programming which was at fault.
Unpacking and installation
Unpacking was simple enough. I still haven’t quite got used to how small these things are, though. Somehow it looked as if it would be bigger from the pictures on the web site. The other thing that surprised me was the LED itself – it took me a little while to find it. My experience of LEDs has generally been with the kind that have their own little dome of plastic, but the LED on this board is tiny and square. It does become pretty obvious when the light is on, though!
Fitting was simplicity itself, just press the header gently on to the GPIO pins on the Raspberry Pi board. The board has a full 26-pin header, even though it only uses maybe five of the pins. This makes fitting especially easy, as there is not even any confusion about where to plug the board – it just covers the whole block of pins. Of course, there is the possibility of connecting the header the wrong way round. The pictures on the web site make it quite clear that the right way to connect the board is to have it hanging over the top of the main Raspberry Pi board.
I guess that for a relatively cheap board such as this, adding some installation instructions would be proportionally expensive, but I was a little surprised to be left to my own devices without even a suggested URL to visit for more information.
The installation web page gives a dozen driver downloads for a variety of Linux flavours and board revisions. If you want to use this device in another way, maybe from RiscOS or from bare-metal programs, you are on your own. The “troubleshooting” tab of the site is likewise completely aimed at Linux users. The “specification” tab does at least contain the GPIO pin numbers (including the note that one of the pins changes between board revisions), but that’s all you have to go on. Even a small example of how to control the lights without going through the Linux driver would be very useful.
Once I had found some other code to initialise, set and clear the GPIO pins, basic on/off control for the three colours was very straight-foward. Anything other than the seven simple combinations requires PWM control. The Raspberry Pi has one hardware PWM output, but to control the LEDBorg really needs a software PWM solution. It seems that the Linux driver provides this facility, but I had to write my own. I realize that it would add more expense and complexity, but some sort of on-board PWM would have made thr whole process much easier.
When all three colours are full on, the light is almost too bright to look straight at. I found that replacing the top cover of the Raspberry Pi enclosure (a white plastic clip-on case with slots cut out around the header) provided just enough muting to give the “mood lighting” effect they suggest on the web site. The LEDBorg board fitted comfortably inside all the cases I have.
While the size of the header makes the LEDBorg easy to fit it does also prevent connection of other devices at the sane time. I wanted to connect my USB-mini-UART cable for diagnostics when I was experimenting with some of the trickier aspects of bare-metal PWM programming, but the UART pins are on the same header. I was prevented from getting at them even though they were not actually being used by the LEDBorg board.
This board is a great first dip of the toe beyond Linux, Python and Scratch into the world of extra hardware. It is very limited in its features compared with a monster like the Getboard which has more input and output options than I thought possible. But, this limit is what makes it so useful as a first step. There’s no configuration, no wiring and jumpers, no external power supplies, just a bit of programming to switch some GPIO pins on and off.
I strongly recommend this board to anyone who’s secretly a bit scared by the thought of electronics, dangling cables and soldering, but who still wants to get to grips with making the Raspberry Pi do something “real”.