ldp6803 vs WS2801

by DJ4MC on Sun Apr 22, 2012 7:01 pm

OK, I have a conundrum. I have a bunch of LDP6803 based LED pixels and want to build an adavision type thing or at least a large matrix of 20X20. I got the Adafruit library for them up and running on a boarduino this afternoon, but not the 324u breakout board. What I am wondering is how to even tackle a processing library for them or if anyone knows how to adapt the WS2801 library to it. I am suspecting that the big difference is the resolution of 15 bits for the LDP6803 vs 3 bytes for each WS2801. Any pointers on where to start? I am persistent but not a programming guru by any stretch of the imagination.

Thanks,

Jules
DJ4MC
 
Posts: 35
Joined: Sun Feb 22, 2009 9:34 am

Re: ldp6803 vs WS2801

by pburgess on Sun Apr 22, 2012 8:38 pm

What I would suggest...this is just me, and not some Grand Proclamation of How It Must Be Done™...but I'd be inclined to take a look at the LEDstream_LPD8806 Arduino code (included with the Adalight and Adavision demos) and adapt that for LPD6803 use. The payoff would be that a lot of existing code (all of the Processing-side code for Adalight and Adavision, plus things like PixelInvaders and Adalight-compatible drivers) would then work "out of the box." It's not an optimal approach, but that doesn't automatically make it pessimal either.

Both versions of LEDstream, as written, are designed to not buffer LED data at all, but simply forward it to the LED strip. This allows them to scale to hundreds or even thousands of LEDs...more than would fit in the Arduino's limited RAM. You don't have this luxury with the LPD6803...PWM output requires maintaining all of the LED data (times two...both the displayed data and the next incoming frame)...so it would require some slightly different code on the Arduino side (the LPD8806 version is a little closer to what you'd need than the original WS2801 code), and there would be a hard limit to how many LEDs could be displayed (400 might be a very tight squeeze even with the 32u4's extra RAM).
User avatar
pburgess
 
Posts: 2172
Joined: Sun Oct 26, 2008 1:29 am

Re: ldp6803 vs WS2801

by DJ4MC on Sun Apr 22, 2012 10:25 pm

Thanks, you only have to buffer it and send the data. As I understand the LDP6803, it has 5bit for each color for 15bit color depth. The WS2801 has 24 bit color depth. I spent way to long today sleuthing this one out.I actually removed the plastic molded on one of the boards to get down to reading the P/N of the chip. For me the challenge is I bought 1000 of these (20X50LED strands) in Shanghai a month ago thinking I was getting WS2801 based ones. Not really exchangeable LOL! Just form looking at Adafruit's library for both chips I think I might be able to adapt the processing one if I can sort out how to feed the right data i nto it. I need make a small array first and then start tweaking!

Jules
DJ4MC
 
Posts: 35
Joined: Sun Feb 22, 2009 9:34 am

Re: ldp6803 vs WS2801

by pburgess on Sun Apr 22, 2012 10:37 pm

Ah! That's right. I was thinking of the older HL1606 strips, which don't do PWM and required that "buffer the whole image" trick to approximate the same. The 6803 does PWM but requires a continuous PWM clock from the MCU. You can probably achieve some sort of mash-up between the LPD6803 library and the LEDstream sketch.
User avatar
pburgess
 
Posts: 2172
Joined: Sun Oct 26, 2008 1:29 am

Re: ldp6803 vs WS2801

by zwickl on Sun Jul 29, 2012 8:05 am

Hi there,

are there any news on this subject/have u found sth which works with the LPD6803 lib & LEDStream ?


I'm very interested in it, as I got LPD6803 IC LED Strand instead of WS2801 :/


Thank you in advance,

Christian
zwickl
 
Posts: 3
Joined: Sat Jul 28, 2012 8:13 pm

Re: ldp6803 vs WS2801

by hilbert70 on Fri Sep 21, 2012 2:26 pm

Hi,

I made LEDStream work with LPD6803 and WS2801. As what Phil said, this code buffers the data so there is a limit on how many leds one can use.

The code can be found at:

git://github.com/Hilbert70/LEDStream.git

Hop it helps.

HIlbert
hilbert70
 
Posts: 2
Joined: Mon Aug 06, 2012 3:43 am