by LostLess on Mon Mar 18, 2013 10:08 pm

I know it is a wild question, but for a project I am working on, I am considering combining a WS2801 based LED strip ( with an LPD8806 based one ( The information for each LED would be passed down via SPI. I am thinking about combining the two because while many of the parts of my project will use the LPD8806, there are some parts where the LPD8806 segments won't work (I need to make a few circular patterns). Would it work? I thought that it might given that I would be passing values that can be represented in 21 bits (the max for LPD8806 is 21 bits, which fits in with the 24 bit maximum of the WS2801), both strips operate on 5V, and the RGB value orders could be matched between the two (or at least, reading the sample code for WS2801 gives me that idea).

Posts: 28
Joined: Sun Sep 16, 2012 4:08 am

by pburgess on Tue Mar 19, 2013 12:57 am


I think you'll find it a LOT easier just to use the separate libraries for each, and have one (or both) use 'soft' SPI on a separate pair of pins.

But to answer your question...yes, it does look like this is possible, but not simple. Using the WS2801 library, you'd have to put the WS2801 strip first, and assign LPD8806-compatible colors to the later pixels (i.e. 7-bit RGB with high bit set). Would also need to add one more pixel to the strand length and assign it value 0 to properly fake out the LPD8806 latching.

Maybe. I think. Kindasorta. This would be a bear to debug though. And might not work in the first place. So the Official Word™ is to use separate libraries and separate pins.
User avatar
Posts: 2170
Joined: Sun Oct 26, 2008 1:29 am

by LostLess on Tue Mar 19, 2013 1:09 am

I see. I figured that it'd be the answer lol. Shortly after creating this thread, I realized an alternative that would allow me to just use LPD8806. Thanks for the reply! :)
Posts: 28
Joined: Sun Sep 16, 2012 4:08 am