Project: DIY Ambilight (boblight) with Raspberry Pi

ambilightAugust 2013
Alright so you have a raspberry pi and xbmc (with Raspbmc). But wouldn’t it be awesome to have Ambilight with it? I thought it would! So after i read some about it, i thought there should be a clear and easy guide. Also I don’t like to buy stuff when I can use parts that are lying around the house. So I use an usb cable and usbcharger.
This is a guide for raspbmc with boblight.

Update 10 Februari 2014
Changed the colours for more red/yellow.

Update 27 March 2014
Installed Hyperion instead of boblight. Read more here:
How to install Hyperion on the Raspberry Pi

The guide is for the Raspberry Pi B (512MB) version! If you want to use version A, try hyperion and don’t use the DNC pin. The A version only has 1 ground, version B has multiple grounds.

First you need some parts to make this happen:
(Click on the image for a bigger size)

The Parts

  1.  5V 2A power adapter. There are a lot of USB poweradapters, but most of them are 1A. Use one with 2A!Something like an iPad charger.
  2. Something like a floppy power connector. See picture below.
  3.  USB cable (Male to male or male to female)
  4. A board or a frame, a bit smaller then your television. This is for attaching the led lights on.
  5. Raspberry Pi, or Arduino, but this guide is for the raspberry pi.
  6. Leds. Especially de WS2801. You can get them pretty cheap with no shipping fee from ebay:
    Click here for the item: WS2801 Leds 50 pc 12mm. These are 50 leds, big enough for around 42 inch i think, i’m not sure.
    ambilight_raspbmc (5)

 

Putting the hardware together

Alright, after you got the parts, you can cut the usb cable up, to connect to the leds.

  • Powering the leds

    Cut the side of the USB cable. You will see 4 smaller cables.
    USB-cable-wiring
    You’ll need the 5 volt and ground, so it’s the red and black one.

  • ambilight_raspbmc (4)
  • Connect the usb cable to the led as you can see in the image
  • ambilight_raspbmc (6)
  • Connect the leds to the raspberry pi

    To connect the leds to the raspberry pi, you can use a floppy power connector. The left one in the image.

  • ambilight_raspbmc (9)
    As you can see on the next image, the leds have green for CLK and blue for data. I forgot to mention that the yellow one must be connected to the white one for ground.
  • ambilight_raspbmc (10)
    Image of the pins on the raspberry pi.
  • pi_gpio copy
  • So the green cable goes to pin with SCLK, the blue one to MOSI.
    The ground cable (white) from the power, can go to the DNC
    When you’re done, it will look something like this:
  • ambilight_raspbmc (12)
  • Alright, thats for the wiring part.

Placing the leds in the right order

Leds placement configuration

To create and see how to place the leds, you can use the Boblight Config Tool (Windows)
Download here

You can see my configuration in the screenshot. As you can see, the leds goes on the backplate counterclockwise:
Capture

Boblight settings:
Vertical/Horizontal block blur in %:block overlap
Vertical/Horizontal Block Depth:the range in depthsize of the block to analyse
Border top/bottom and right/left:start of range on the sides to detect color

Click on generate boblight.conf and name it boblight.conf


Click here for my boblight.conf file

Now you need to edit the file so the top will look like this, it’s also for the best colour experience 🙂


#[global]
interface 127.0.0.1
port 19333


[device]
name ambilight
output /dev/spidev0.0
channels 150
type ws2801
interval 20000
rate 48000


[color]
name red
rgb FF0000
gamma 2.1
adjust 0.9
blacklevel 0.0


[color]
name grn
rgb 00FF00
gamma 2.0
adjust 1.0
blacklevel 0.0


[color]
name blu
rgb 0000FF
gamma 2.1
adjust 0.7
blacklevel 0.0


[light]
name 001
color red ambilight 1
color grn ambilight 2
color blu ambilight 3
hscan 43 50
vscan 80 100

As you can see the word green is grn and blue is blu. This is since the new update. The names must be 3 characters! See my boblight config above.

Backplate for the television

I then made a carton plate for the leds.
ambilight_raspbmc (16)
And this is the result
ambilight_raspbmc (17)

 

3. Configure Raspbmc for ambilight

Boblight.conf

The boblight.conf file must be place under /etc/, So it will be: /etc/boblight.conf

Enabling PiBob in Raspbmc

Enable Pibob on the raspberry under Add-ons -> Program Addons -> Raspbmc settings
Restart raspbmc

Boblight-dispmanx

Since the new update, boblight somehow doesnt work, so you can download boblight-dismanx from another site. The old options was to use a file in /home/boblight.conf. That doesnt work anymore, boblight-dispmanx needs to be started with the options enabled as you can see below.

Log on raspbmc with ssh.

sudo -s

Install CA certificates first so you can download from https

apt-get install ca-certificates

Then you download a working version of boblight-dispmanx with

wget https://github.com/brooc/boblight-rpi/blob/master/src/boblight-dispmanx

Give the file the right permissions

chmod 755 boblight-dispmanx

Now we change another file to point to the downloaded version of dispmanx

vi /etc/init/boblight-dispmanx.conf

And change to the following:


exec /home/pi/boblight-dispmanx -o interpolation=1 -o speed=70 -o threshold=5 -o autospeed=0 -o saturation=1.70 -o value=1 -p 100 -i 0.1 -f /dev/null

Or download the file here

You can change the speed, threshold and saturation if you want. I think this is the best setting when used with the boblight.conf settings above.
Click here to see what the option means.

If something doesnt work, check this website for updates, etc:
http://blog.nadnerb.co.uk/

Reboot! If done, your lights should start working after a minute raspbmc is on.

Example video of boblight on the raspberry

Example 1

Example 2

Example 3

Example 4

When video doesnt work use this link:
Example Boblight

  • Marco

    Hello,

    could you help me? I have a problem with the power supply. I only got a few LED`s working ( 7 ) in different colours. I used a atx power supply, i think this should work.
    The Code should be working, No errors there. Im using PI. But there is no Reaction on the LED string.

    LED Number 1,4,7,13,14 and number 48 were on.

    I couldnt explain 🙁

    • haitran

      Have you connected a ground to the led and the raspberry? I’ve edited the guide 🙂

  • Han Nijkrake

    Olaaa, kleine vraag, heb je hiervoor de rpi overgeclocked?

  • StoriesofChina

    Nope, heb m niet overclocked. Het verschil tussen overclocken en niet o

  • vanhaitran

    Nope, heb m niet overclocked. Het verschil tussen overclocken en niet overclocken is de reactie snelheid van de menu’s.

  • Jim

    Dit klinkt als een leuk project! Maar voordat ik alles ga kopen, is deze tutorial nog up to date? Ik draai nu versie XBMC 12.2 git:20131101-0536b03.
    En wat is trouwens de functie van de USB kabel? Het lijkt erop als je hem enkel stript om losse kabeltjes uit te halen.

  • vanhaitran

    Hey Jim,

    Tof! Jep, de tutorial is nog up to date. Ik draai zelf de laatste update van raspbmc met xbmc 12. De functie van de usb kabel is de stroom toevoer. Op andere tutorials zag ik dat er gebruik werd gemaakt van een aparte adapter en plug, maar omdat ik een zooi usb kabels heb liggen, heb ik daar gebruik van gemaakt. Het strippen van de usb kabel is om te zorgen dat je de juiste kabels hebt. De datakabels in de usb kabel zijn namelijk niet nodig. Succes!

  • Jim

    Bedankt voor je reactie 🙂 als ik het goed begrijp geef je de leds dus stroom via een usb poort van de Pi? Dan moet je toch minimaal een 2A adapter gebruiken lijkt me. Maar ik ga er vanuit dat het ook met externe voeding moet kunnen – ik kan aan de hand van je foto’s niet helemaal zien hoe je opstelling/schakeling werkt. Ik ga het proberen!

  • Jim

    Bedankt voor je reactie 🙂 als ik het goed begrijp geef je de leds dus stroom via een usb poort van de Pi? Dan moet je toch minimaal een 3A adapter gebruiken lijkt me (60mA x 50 = 3A, als je eBay moet geloven zelfs 90mA per led dus 4.5A). Maar ik ga er vanuit dat het ook met externe voeding moet kunnen – ik kan aan de hand van je foto’s niet helemaal zien hoe je opstelling/schakeling werkt. Ik ga het proberen!

  • vanhaitran

    Hey Jim,

    Nope, de leds worden apart gevoed door middel van een 2ampere usb adapter, de pi ook nog eens apart. Je kan beide inderdaad wel voeden met een bv een 5 ampère usb adapter. De aarde van de leds zijn aangesloten op de pi, aangezien er mensen zijn geweest met rare knipperende leds die niet reageren.
    Succes met het knutselen!

  • Igor

    Great thanks! Is the information that it doesnt work without dispmax still up to date?

  • vanhaitran

    Hi Igor,

    I’m not sure. When i wrote the above i was using the update from July. It could be working straight out of the box with the august update. If so it wouldn’t be necessary to download another dispmanx file.

  • Giulio Santino Stelling

    precies gedaan wat hier gezegd word… brand 1 enkel ledje en geen boblight addon te vinden

  • vanhaitran

    Heb je de naam van de kleuren (red, grn, blue) in het config bestand 3 karakters lang gehouden? En welke boblight addon bedoel je? Als je de boblight-manx bedoelt, je moet wel eerst de ca-certificates installeren 🙂

    • Giulio Santino Stelling

      Heb exact gedaan wat er staat. Dus ook de namen ingekort en certificaten geïnstalleerd.. Kijk nu naar Hyperion addon. Misschien dat die wel werkt

      • vanhaitran

        Heb je de leds getest met een testcommando? Je kan ze allemaal op blauw zetten bijvoorbeeld, als het dan wel werkt is het idd software, anders kan het de hardware zijn

        • Giulio Santino Stelling

          Er brand standaard 1 ledje. De kleur daarvan kan ik niet aanpassen. Op het moment dat ik de groene kabel van de pi koppel dan branden er 25 van de 50 leds. Maar dat is het ook wel. Bedankt voor je suggesties. Hulp word Zeker gewaardeerd

          • vanhaitran

            Heb je de leds geaard? Ik denk dat je daardoor dat vage probleem hebt

            • Giulio Santino Stelling

              Ja de leds Zijn geaard. Misschien dat het aan de voeding kan liggen? Ik hebt een 5 v 3 ampère voeding voor de leds en een voor de pi zelf

            • vanhaitran

              Het kan, maar 5v 3a moet meer dan voldoende zijn. De aansluiting van de leds op de pi zijn goed? Maar je zei hier ergens boven dat het downloaden dus niet lukt van de boblight-dispmanx?

            • Giulio Santino Stelling

              Het downloaden van de boblight is ondertussen wel gelukt. Vervolgens de config file gedownload en geplaats op de pi. Bij het starten van de pi geeft raspbmc dit aan : failed tot connect tot boblightd!

            • vanhaitran

              Dat kan zijn:
              1. de verwijzing naar het bestand boblight-dispmanx
              2. de boblight-dispmanx is niet executeable (chmod +x)
              3. de aansluiting van de leds naar de pi, heb je de juiste pinnen en niet per ongeluk omgeswitchd?

              als boblightd een afkorting van daemon is, dan zal het optie 1 of 2 zijn

            • Giulio Santino Stelling

              Het zal ongetwijfeld 1. Of 2 zijn. De leds zijn aangesloten zoals hierboven aangegeven word

            • vanhaitran

              Check of het pad waar boblight-dispmanx in staat overeenkomt met wat er in dit bestand staat

              /etc/init/boblight-dispmanx.conf

            • Giulio Santino Stelling

              Ga ik morgen doen. Thanks. Als het lukt laat ik het weten

            • vanhaitran

              Prima 🙂

            • Giulio Santino Stelling

              Btw. Ik las dat de september update van raspbmc er voor zorgt dat boblight het niet doet. Kan het daar mee te maken hebben?

            • vanhaitran

              Het klopt dat het niet werkte kort na de update, maar dat was na een vervolg patch weer gefixt, dus het zou wel moeten werken.

            • Giulio Santino Stelling

              OK duidelijk. Morgen maar even prutsen. Bedankt

    • GSS

      The boblight.conf file must be place under /etc/, So it will be:/etc/boblight.conf.. mijn vraag is nu.. waar staat die map op de pi? als ik via WinSCP verbinding maak met de pi kom ik nergens die etc map tegen

      • vanhaitran

        Als je in WinSCP naar rechtsmidden kijkt zie je de naam van de map waar je bent. Dat aanklikken, root selecteren en je ziet de map /etc
        Daar kan je het boblight.conf in opslaan

        • GSS

          aha. momenteel alles opnieuw aan het installeren dus moet nog even wachten tot ik het kan proberen.

        • GSS

          via WinSCP kan ik niets kopieren naar de etc map. krijg bij die map steeds een andere foutmelding. rename failed en could not create file geeft ie bijna iedere keer aan

          • vanhaitran

            ah, je bent geen root (niet voldoende rechten). Uhh, je kan proberen met root in te loggen, maar ik weet niet of dat werkt

            Ik ga ervan uit dat je niet weet hoe de terminal werkt:
            Log in met putty
            typ dan in:
            sudo -s
            cd /etc
            vi boblight.conf, krijg je leeg scherm, doe je opslaan met ZZ
            chmod 777 boblight.conf

            Daarna kan je het bestand als tekst openen met WinSCP en de inhoud van je bestand erin kopieren natuurlijk.

            • GSS

              zal even kijken.. niets lijkt echt te werken

            • GSS

              thanks..ik was inderdaad geen root

            • Grr

              mezelf root access geven is wel gelukt ondertussen. na de zoveelste keer raspbmc opnieuw te hebben geinstalleerd kan ik nu geen add ons installeren of inschakelen. de addon pagina’s zijn blanco en de boblight inschakelen kan ook niet.. vrees dat het voor mij gewoon niet gaat werken

            • vanhaitran

              Hmm, is je sd kaart wel goed? Toch maar een herinstal? Je weet nu hoe het moet :p

            • Grr

              sd kaart is wel goed ja. lampjes gaan nu continue branden zodra ik een film start maar reageren op wat er getoont word doen ze niet

            • vanhaitran

              Ik maak trouwens binnenkort nog 1 voor iemand anders, ik zal dan de default settings aanzetten en er een image van maken. Maar dat duurt nog wel een week of 2

  • Grr

    laat ook maar.. deze tutorial nu 8 keer bekeken en raspbmc 8 keer opnieuw geinstalleerd… shit gaat gewoon niet werken

  • Grr

    Ok het is nu gelukt om ambilight te maken via een alternatief. nieuwste rasbmc zit boblight en boblight dispmanx standaard in maar dat werkte dus niet. alternatief belast je pi ook een stuk minder. bedankt voor de hulp

    • vanhaitran

      Ah, wat is het alternatief? De standaard ingebouwde werkt idd niet goed, vandaar dat er in de tutorial naar een alternatieve displaymanx wordt verwezen 🙂

      • Grr

        ik gebruik nu hyperion. werkt prima en schijnt ook sneller te werken dan boblight. boblight moet wel uit in raspbmc.

        • Jim

          @grr: ik loop tegen hetzelfde probleem aan. Ik heb nu Xbian (ipv raspbmc) en ik krijg boblight niet werkend. Hyperion lijkt bij mij goed geïnstalleerd te zijn maar de LEDs doen nog niets. Heb je misschien een link naar een tutorial die je gevolgd hebt?

          • Grr

            ik heb de kabels anders aangesloten dan vermeld word in de tutorials.. groen heb ik op sclk aangesloten, blauw op dnc(20) en wit op mosi. misschien kun je dat proberen.. en zorg dat boblight uit staat(weet niet of die standaard in Xbian zit)

            • Jim

              Bij mij zijn de kleuren van de kabels sowieso anders, maar in ieder geval heb ik de data op mosi, clock op sclk en ground op ground. Heb het nog even omgedraaid maar geen succes. Wat doen jouw leds zodra je stroom inschakelt?

            • Grr

              sorry voor de late reactie.. mijn leds doen in eerste instantie niets zodra ik de stroom inschakel. zodra de pi opstart krijg je een animatie te zien met alle kleuren van de regenboog… eenmaal raspbmc opgestart is schijnen ze enkele seconden blauw en hierna gaan ze weer uit tot ik een film start

            • Jim

              Bedankt voor je reply! Nu weet ik wat ik moet verwachten (dat de LEDs dus al aan moeten gaan voordat Raspbmc überhaupt is opgestart). Toch een hardwareprobleem denk ik…

            • Grr

              mogelijk een te zwakke voeding? geven de lampen helemaal geen licht?

            • Jim

              Ze flitsen heel kort als ik de adapter inschakel (5V 3A), maar gaan direct uit. Soms blijven één of twee ledjes blauw branden aan het eind van de ketting, maar ze reageren nooit op commands vanuit Hyperion. Ik heb echt geen idee waar het aan zou kunnen liggen, de pin aansluiting klopt gewoon en nergens zijn short circuits te vinden.

            • Grr

              eerder zei je dat je xbian gebruikt(e?) heb je gekeken naar ENABLE SPI ON XBIAN?

            • Jim

              Dat klopt, ik had eerst Xbian maar omdat dat niet werkte heb ik Raspbmc geprobeerd. Ik had SPI wel enabled (van de blacklist afgehaald), maar verder geen succes. Uiteindelijk liep Xbian toch te vaak vast dus als het aan mij ligt blijf ik bij Raspbmc (als ik uiteindelijk ambilight maar werkend krijg natuurlijk!).
              Ik weet niet of jij toevallig een multimeter hebt, maar bij mij is er een hoge weerstand voor en na het eerste ledje/IC op de Clock en Data kabels en ik vraag me af of dat hoort. Ground en Power gaan wel de volledige ketting door.

            • Grr

              heb helaas geen multimeter dus kan het niet nameten voor je.. configuratie file komt qua aantal leds wel overeen met je ledstring? geen idee waar het aan zou kunnen liggen. uiteindelijk ben ik met de aansluitingen gaan prutsen tijdens het afspelen van een filmbestand tot uiteindelijk alle leds constant wit waren. toen de pi opnieuw gestart en het werkte.. en dubbel checken dat boblight in raspbmc uit staat.. die van mij moest ik meerder malen uitzetten voordat hij voorgoed uit bleef.

            • Jim

              Had jij eerder boblight geprobeerd zonder tussendoor een re-install? Ik werk nu vanuit een volledig ‘schone’ installatie van raspbmc (alleen xbmc gebackupped) dus ik ging er vanuit dat er überhaupt geen boblight op staat.
              Toevallig dat ik net (voor ‘t eerst) 3/4 van de LEDs aankreeg (statisch wit), maar een keer in- en uitpluggen en ze zijn weer uit. De config file komt overeen met mijn setup. Toch bedankt voor je hulp, ik zoek verder naar een oplossing!

            • Grr

              met de meest recente versie van raspbmc zit boblight er standaard in. deze kun je vinden in raspbmc onder settings(programma)-> systeem configuratie ->service management en dan naar beneden scrollen tot je boblight support ziet staan.

            • Jim

              Ah, ik zie hem staan, maar boblight is niet geactiveerd dus ik neem aan dat er niets van boblight draait op ‘t moment.

            • Grr

              nee dat zou dus goed moeten zijn. ik zoek ook nog wel even verder. ben benieuwd waar het probleem nu zit

  • Hans

    Ik heb een klein vraagje. Inmiddels heb ik verschillende mogelijkheden bekijken op het internet. Ik zie dat u geen gebruik maakt van de 5volt op het moederbord van de raspberry pi. Klopt dit?

    De rede waarom ik dit vraag: Om de boblight soepel te laten bij een full HD film die gestreamd wordt van het internet wil ik de raspberry overclocken tot 1000hz. Hiervoor heb drie koelblokjes en een 5volt fan geinstaleerd op het moederbordje. De 5volt van de fan haald hij van het moederbord (P1 header – 2 5.0 VDC Power).

    In verschillende andere forms lees zie ik dat ze naast externe voeding voor de leds ook voeding pakken van (P1 header – 2 5.0 VDC Power). Of tenmiste daar is aangesloten.

    Waarom heeft u een andere opstelling en is het dus juist dat bij deze opstelling de 5volt (P1 header – 2 5.0 VDC Power) beschikbaar blijft voor mijn fan. Deze moet namelijk altijd draaiden zodra de raspberry aangezet wordt.

    Ik maak tevens gebruikt van OpenELX XBMC OS.

    Alvast bedankt voor u antwoord.

    Hans

    • chris

      ey kameraad,
      als u een dubbele converter gebruikt kunt u dit probleem oplossen. een spanningsbron van 5V kan hier ook helpen
      Chris

      • Hans

        Heeft u voor mij een liNK waar ik de dubbele converter kan kopen? Alixpress.com misschien?

  • Hai

    Hey Hans,
    De reden dat ik de LEDS apart heb gevoed is omdat mijn usb adapters niet meer dan 2 ampere leveren. Het is inderdaad niet ideaal, want ik heb nu 2 usb adapters in gebruik. 1 voor de pi en 1 voor de leds. Maar ik had geen zin om een aparte adapter aan te schaffen, dus vandaar deze opstelling. Geen idee waarom ze in de andere fora de leds nog eens op de pi aansluiten naast de externe voeding. Misschien gebruiken ze voor de leds een 1 ampere adapter?

    Je kan trouwens ook Hyperion gebruiken, dan hoef je de pi niet over te clocken. Ik heb er zelf nog geen ervaring mee, maar zal dat binnenkort wel oppakken 🙂

  • Apo Adrian

    Hello, but how did you connect it to the TV ?

    • haitran

      With a HDMI cable

    • Hai

      With a HDMI cable, with some TV’s there is also CEC support

Sidebar