1000+ LED single ws2811b string, octows2811 usable?

Status
Not open for further replies.

stan

Member
don't have the hardware to test yet, but will I run into issues trying to run one string per teensy 3.2 / octows2811 combo, when the string is 1000-1300 LEDs long? not sure if it's possible to configure octows2811 to only handle one string. trying to keep frame rate at 60fps or greater.

EDIT:
did more research and it looks like per Paul, the way the DMA coding for the library works means you can't set up for fewer than 8 strips. however he seems to think that you could be ok just having 8x1000 in memory and only actually using the 1 strip.

any idea if I'm going to have terrible frame rates using such a configuration? the board will receive a high/low signal on an input pin which is used to send pulses down the string that represent the input pulses. high on input sets first led high, then code cycles everything downwards one position per loop. I have this code running on an uno with a 300 led strip and have no issues, but am interested in what my result is likely to be when moving to new bigger hardware
 
Last edited:
Bear in mind that if you hook 1000-1300 leds up in a single string, that you are limited to the time it takes the signal to be sent from LED to LED. Where octows2811 gets its power is it does things on 8 strands in parallel. Thus the time it takes to update all LEDs is 1/8th of the time it would take to update them sequentially (on ws2812/neopixels, the time between each LED being updated is fixed).

The documentation says that at 8,864 LEDs, the octows2811 can achieve 30fps (and take up 86% of the total dram in the Teensy 3.2). That means the best you can hope for with 1,000 is 30fps, and somewhat less than that if you are doing 1,300 leds.

I suspect however, it would be a lot easier if you broke the strips down into 8 strips. Note, the addressing via setPixel is as if the LEDs are one giant strand (http://www.pjrc.com/teensy/td_libs_OctoWS2811.html). Lets say you have 1,200 LEDs. You would change the wiring to 8 strands of 150 LEDs in each strand. Strand #0 has LEDs 0..149, strand #1 has LEDs 150..299, strand #2 has LEDs 300..449, and so forth. You would still program it the same way, treating the entire strand as being LEDs 0..1199.
 
Last edited:
Bear in mind that if you hook 1000-1300 leds up in a single string, that you are limited to the time it takes the signal to be sent from LED to LED. Where octows2811 gets its power is it does things on 8 strands in parallel. Thus the time it takes to update all LEDs is 1/8th of the time it would take to update them sequentially (on ws2812/neopixels, the time between each LED being updated is fixed).

The documentation says that at 8,864 LEDs, the octows2811 can achieve 30fps (and take up 86% of the total dram in the Teensy 3.2). That means the best you can hope for with 1,000 is 30fps, and somewhat less than that if you are doing 1,300 leds.

I suspect however, it would be a lot easier if you broke the strips down into 8 strips. Note, the addressing via setPixel is as if the LEDs are one giant strand (http://www.pjrc.com/teensy/td_libs_OctoWS2811.html). Lets say you have 1,200 LEDs. You would change the wiring to 8 strands of 150 LEDs in each strand. Strand #0 has LEDs 0..149, strand #1 has LEDs 150..299, strand #2 has LEDs 300..449, and so forth. You would still program it the same way, treating the entire strand as being LEDs 0..1199.



the strips are long runs that will be housed in diffusion material (tbd) and sending signal to segments along the run will mean running a signal wire down the length of the strip. this means that potentially the final segment will be signaled by a wire that is 8 meters long, and I don't know if simply using a thick wire (ie 14awg or whatever is needed to keep the signal at least 70% per specs) will be an adequate solution or not.

I see that my understanding of the way things are addressed is lacking, it sounds like I can have my pixel array contiguous and octows2811 will still break it down into segments that are laid end to end. I had gotten the impression that multiple segments would need to be addressed in a way that would make my life difficult.
 
8 meters will be an interesting run for neopixels signals. It's not so much the wire gauge as the impermanence of the wire. Suggest using twisted pair as a starting point and just add 8 meters to your existing uno setup and see what happens, working to minimise potential cross talk and interference with the wire run.

Apart from anything else 8 contiguous meters of neopixels will probably need a heavier power/ground wire run with taps every meter or so when it comes time to make your final design.
 
this means that potentially the final segment will be signaled by a wire that is 8 meters long, and I don't know if simply using a thick wire (ie 14awg or whatever is needed to keep the signal at least 70% per specs) will be an adequate solution or not.
I have just completed an install of 8192 leds using the OctoWS2811 adapter. It was broken down into 32 blocks of 256 leds. Data connections between the blocks were around 1m with every fourth block being fed from the Octo board. The longest run from the Octo was around 14m. For the data cables it is important to use twisted pair and make sure it is grounded at the strip end. I just used stripped down Cat5E and have had no problems. Hope this info helps.
 
Status
Not open for further replies.
Back
Top