XBMC Boblight Project


quite some time ago I purchased a string of 50 addressable LEDs with the idea to create a boblight system for my XBMC media centre. Boblight is an open source system similar to Philips Abilight, the idea being RGB LEDs are attached to the back of a TV and through some magic processing the LEDs light up in syc with the colours being displayed on any video being played, a good demo can be viewed here.

How it works

boblightd runs on a computer, data sent to it is processed then sent to the LED controller (Via USB in my case) telling the controller which LEDs to activate and how bright they should be. The LED controller is usually an arduino which then sends out the correct data to control the LEDs. XBMC has a plugin for boblight which sends the required data to boblightd to generate the LEDs.

My Specific Requirements

There are a few different Types of Addressable LEDs out there, mine are the WS2801 type, so I needed to be careful the scripting I used on the arduino was designed for the correct LEDs.

I also wanted to use an arduino nano. This is due to them being cheap very compact and have a USB controller (some of the smaller arduinos don’t have USB). Generally the SPI interface is used for sending data to the LEDs, unfortunately the SPI interface is not supported by arduino on the nano, but the SPI is still accessible at a lower level.

Initial build

I would love to say I put in lots of hard work and development but I found a nice guide here I could use to get things running. Having said that I did have to deviate from the guide several times due to it being very raspberry pi orientated, a few years worth of breaking linux on a daily basis has proved useful and it wasn’t much of a problem for me (I hope to make a comprehensive guide at some point for nano + ubuntu + XBMC + WS2801 to help others as there doesn’t seem to be one out there yet).

As luck would have it the arduino sketch in the post created for the arduino uno was accessing the SPI at a low level for performance reasons and the nano is pin compatible with an uno, so it worked fine on the nano.

With the nano hooked up via USB to the media centre, the LEDs plugged into the correct pins on the nano, a variable psu providing power to the LEDs and all the correct software installed it worked !! :smile: (I wont mention that i then proceeded to kill the nano by fiddling with the wiring and messing up where the LEDs were drawing power from). I then switched to using my toolbox arduino uno (every toolbox should have one!) whilst i ordered a replacement nano.

It would have been much better if managed to take a picture with the LEDs illuminated :frowning:

What’s next

I have got a plugin 2amp 5v PSU, a few connectors and a switch, the next stage is to design a 3D printable case with connectors and a power switch to house the nano and add a connector to the LEDs. Then comes the task of mounting the LEDs.

1 Like

Cool project! :+1:

How expensive are the 50 addressable LEDs compared to a 5m strip of non addressable ones?

Considering using these in my light shelf boblight, along side the “natural white” LED strip for regular lighting.

There are various types of addressable LEDs. I went for the ones described in my post as they are separate, connected by wires instead on an integrated strip so can be evenly distributed around my TV with a spacing of my choice and the LEDs have a flat back making mounting easier. There is a link in the post to the amazon listing I purchased them from, i’m fairly sure you can get them cheaper from ebay or banggood.com but I had amazon vouchers to spend.