Posts: 5
Joined: Mon Apr 15, 2013 8:26 am

12V LED Strip controlled by SPI

Mon Apr 15, 2013 9:09 am


I have been experimenting with controlling 5V LED pixel string (WS2801 ICs) with the SPI output on the Raspberry Pi with great success. I am trying to increase the length of the string (without adding more LEDs), but when I do this I am experiencing voltage drop and brown-outs towards the end.

In my mind I have two solutions:

1) Increase the diameter of the cable between the pixels
2) Use a higher voltage

I don't really want to increase the thickness of the cables I am currently using, and to get any great distance the diameter needs to be quite large!

If I purchase a 12V string of lights, power them separately from the Raspberry Pi (sharing a common ground), can I still use the 3.3V output of the SPI data and clock pins to control them, or would I need to bump this voltage up too? If so, what is the best way to do this while still maintaining high frequency updating?

Also, if anyone has any alternative solutions, would be happy to hear those too!!

Thanks for your help,


Posts: 1
Joined: Mon Apr 15, 2013 8:53 pm

Re: 12V LED Strip controlled by SPI

Mon Apr 15, 2013 9:46 pm

Have also played around with the WS2801 chip set found two things when running 144 LED improve the ground wires and the 5v lines by jumping some additional wires between them. But the main improvement was a beefier 5v supply so when they turned to white the PSU had spare capacity

Posts: 1
Joined: Thu Apr 18, 2013 7:33 am
Location: Germany, Stuttgart

Re: 12V LED Strip controlled by SPI

Thu Apr 18, 2013 7:35 am

Have you tried one of those "rgb led amplifiers" ? I'm running a 12V RGB LED Strip with a 5V Arduino.

Posts: 1
Joined: Sat Apr 27, 2013 2:22 pm

Re: 12V LED Strip controlled by SPI

Sat Apr 27, 2013 2:55 pm

Hey Springy,

I am looking for a little help with the SPI in controlling these strips. Could you please tell me what SPI library you are using and what SPI settings are working for you?

As for the signal integrity and voltage drop I have a lot of experience with these kind of systems, just not in embedded linux :)

First and foremost, get a good supply, you can use a computer power supply from best buy or a standard enclosed supply like this TDK-Lambda makes good supplies and distributor like mouser and digikey carry them

Second, (this will help your voltage drop problem a lot) hookup power and ground at both ends of the strip every few meters, (4-5 meters), so at the beginning of a strip hook up 12 and ground, and then again at the end of that strip hook up 12 and ground, use good quality low gauge cable. This turns the strip into a mesh essentially and will help reduce voltage drop. Actually, you can resupply 12V and ground anywhere along the strip to help ensure voltage stability.

Third, keep the data wires as short as possible and use good quality cable between the segments try and make sure the clock and data wires are exactly the same length

Lastly, you should use a level converter to convert the pi's 1.8V to 5V IO.

If your already using one and having good luck could you tell me which one your using, I'm having some difficulty with a few i've been trying.

Posts: 1512
Joined: Sat Jul 14, 2012 6:40 pm
Location: Reading, UK
Contact: Website

Re: 12V LED Strip controlled by SPI

Sun Apr 28, 2013 9:10 pm

dbrateris wrote:Lastly, you should use a level converter to convert the pi's 1.8V to 5V IO.
Ahem 3V3 to 5V a typo I hope.
Just another techie on the net - For GPIO boards see http:///www.facebook.com/pcservicesreading
or http://www.pcserviceselectronics.co.uk/pi/

Return to “Interfacing (DSI, CSI, I2C, etc.)”