amplifying/extending ws2812 digital signal?

Status
Not open for further replies.

virtualdave

Well-known member
Hi all,
Need some advice, and curious if it's even feasible. I'm working on a project with a t3.2 at the center, using the fastLED library to drive a bunch of ws2812 LED's. No issues controlling the LEDs as needed via the Teensy. I believe my issues are electrical. I have 8 "clusters" of LEDs, with 16 LEDs in each cluster. D-out from 1 cluster connects to D-in of the next cluster (i.e. daisy chained). There's roughly 12' of cable between clusters. Power is injected separately into each cluster. Ground is shared among all components. Using a 74HCT245 Level Shifter at the Teensy. Issue: by the time I get to the 7th or 8th cluster, I start to get flicker. Plenty of power in each cluster, so guessing the issue is that the digital signal isn't "strong" enough by the time it gets to the last couple clusters.

Question: would it be possible to amplify the digital signal just before it leaves each cluster to help ensure a good signal by the time it gets to the end? Or does anyone have any pointers on how best to ensure the signal gets all the ways to the end? My hope was that it would get a boost of some sort leaving each LED, but doesn't appear to the be the case (at least with these LEDs).

Thanks in advance for any pointers,
David

P.S. currently using 28awg wire for data signal. Thinking of going to 26awg. Will certainly test, but curious if smaller gauge wire could theoretically help as well.
 
Last edited:
Question: would it be possible to amplify the digital signal just before it leaves each cluster to help ensure a good signal by the time it gets to the end? Or does anyone have any pointers on how best to ensure the signal gets all the ways to the end? My hope was that it would get a boost of some sort leaving each LED, but doesn't appear to the be the case (at least with these LEDs).

My understanding is each ws2811 chip gerates the signal for the next chip. Perhaps its a noise issue.
The popular way people extend the ws2811 signal from your controller is a cheap pair of rs485 boards. I suppose this would work having a pair between each cluster but I don't think thats your problem.
 
thanks for your help. never considered rs485 for this. I built a quick circuit but only the first LED in the chain lights up, and flickers like crazy. I'll keep digging into this option, tho!
 
If you're using the default FastLED driver, try adding this before the FastLED.h include.

Code:
#define FASTLED_ALLOW_INTERRUPTS 0

Usually interrupt problems manifest as flicker or corruption after about 70 LEDs, so this is unlikely to matter if you're seeing problems after so few LEDs. But it's so easy to try, before you spend so much time changing wires.

This is a non-issue if you use the WS2812Serial driver & library, which also gives you non-blocking updates, but requires more memory. Usually on Teensy 3.2 that's a good trade-off, since there's plenty of memory.
 
Status
Not open for further replies.
Back
Top