Flickering lights when extending the data signal on WS2811

whatthej

New elf
Joined
Dec 31, 2019
Messages
42
Hi folks,

My setup is 4x2m vertical strips driven by the same pixel controller (Wemos D1). They are all connected along the floor with 3 wire cable (1.5mm2 cable), which is where the 12v power comes from. The WS2811 LED light strips are all driving upwards, then the middle wire (data) branches off, back through the same tube and rejoins the main 3 wire cable.

1608025855901.png

I'm not sure why there is noise being introduced and how to fix it. From the 2nd strip onward, it flickers a lot and by the 3rd strip only the first pixel is lighting up.
If I string them all together in series, it works ubeaut. If I connect string 2 at the bottom of string 1, after the data cable, I get the same flickering.

Any clues to what might be happening here and what are your setups for long distances? It's less than 10m so null pixels shouldn't be needed (but even so, just the 2m is causing issues for the way I've done it)
 

franky_888

Full time elf
Joined
Dec 31, 2013
Messages
160
Location
Medowie
I had this issue even with a 1m 3-wire extension cable from RayWu. Not sure of the exact electrical reasoning behind the issue, but my issues have been fixed with the use of Null Buffers (AKA F-Amps)


You'd put a null buffer at the top of the strings (As per your diagram) hopefully this will resolve your issues. Alan has a demonstration video on the page above.
 

whatthej

New elf
Joined
Dec 31, 2019
Messages
42
What sorcery is this! Alan's video is exactly what my lights are doing, but he gets up to 9m before he has issues, while I'm experiencing it at 2m (even with 1.5mm wire!). Unfortunately I won't be able to get these null pixels in time :/
 

franky_888

Full time elf
Joined
Dec 31, 2013
Messages
160
Location
Medowie
You need to remember you have the 'return' data cable on your prop that accounts for the length too, so you're really at about 3.5m, still not the same as Alan's example, but every pixel is different.

- Can you program in Null pixels? they are simply another pixel you add in between to regenerate the signal, but they count as another pixel in your props.
- Do you have any spare Cat5/6 cable? You might get away with using 1 of the 8 wires for your data signal, and may have less signal issues. Can someone else confirm if this is a possibility?
-
Can you redesign it (even if temporarily) to reduce the length of data and separate it from the power? You'd have to reverse alternate strings:
wemo.png
 

ICon

New elf
Joined
Dec 27, 2018
Messages
35
Try another power feed link to the end of the first 2m strip (feed both ends), this may improve signal to the next strip
 

whatthej

New elf
Joined
Dec 31, 2019
Messages
42
Nice photoshop work there mate!
I'm using 1.5mm mains wiring as the cable, so it should work better than Cat6 cabling; if copper is the main reason for the suggestion.
My arduino is using the forkineye ESPixelstick firmware, which doesn't have null pixel config. I'm wondering if simply telling Xlights to drive 19 and 1 dark will have the same effect as a null pixel? Excuse me while I give it a shot outside! I also have some scrap WS2811 strip and might be able to dummy up a null pixel if I can get my head around how the wiring of a null pixel should be.
 

whatthej

New elf
Joined
Dec 31, 2019
Messages
42
Well.. telling xlights that one pixel is null didnt help.
My understanding was that normal pixels can be made into null pixels if you drive them to zero. In essence I thought that some power draw from the pixel after the chip would drain the signal.
 

franky_888

Full time elf
Joined
Dec 31, 2013
Messages
160
Location
Medowie
Nice photoshop work there mate!
Ahem, mspaint :p

I'm using 1.5mm mains wiring as the cable, so it should work better than Cat6 cabling; if copper is the main reason for the suggestion.
My arduino is using the forkineye ESPixelstick firmware, which doesn't have null pixel config. I'm wondering if simply telling Xlights to drive 19 and 1 dark will have the same effect as a null pixel? Excuse me while I give it a shot outside! I also have some scrap WS2811 strip and might be able to dummy up a null pixel if I can get my head around how the wiring of a null pixel should be.

Right, I'm kinda following how you've configured this now.

The point I was making is that Cat6 will suffer from less interference than a 1.5mm cable due to twisted pairs.

So I'm assuming your wemo is configured currently for 80 pixels? if you wanted to add 2 nulls between each prop, you'd have to re-configure it for 86 pixels (to account for 2 between 3 of the 4 props), then in xlights, for string 2,3 and 4, configure it to have 2 x null pixels:
nulls.png

Example wiring:
wemo_1.png
 

whatthej

New elf
Joined
Dec 31, 2019
Messages
42
Thanks heaps Franky.

I didn't realise that PWM signal could be helped by twisted pair; I thought it might have needed dedicated + and - signals to cancel out noise.

Still couldn't get it to work. I tried to use a 3 LED strip as a null, but it didn't seem to fare very well. I'm guessing it's dependent on the chip the one that I got mustn't be sufficient. Before Alan made his null pixels, what did people do before? Is there a DIY null pixel guide that hacks apart dead pixels to produce a null?
 

Srmorgan

Full time elf
Joined
Jan 26, 2020
Messages
100
I had a similar problem in the past. I was installing 12 V lighting under my soffits run with a ESP 32. The ESP can only handle 5 V so I had to step the power down from the incoming 12 V to 5 V to power of the ESP and then run the data out from the ESP back to my lights. I assumed that the V- coming in from the PSU was all I needed. But the controller uses the V- as a reference point to be able to make the data signal. It needs to know how high or low electrical signal is coming in from the V- to be able to make a proper higher low on the data line or things will not match up. (at least that’s how it was explained to me) So I also had to run a V- from the ESP32 to the lights and join it with the V- coming from the PSU. After I added the additional V- my flickering stop. Try running an additional V- wire from the bottom of the icicle along with the data.
 
Last edited:

TerryK

Retired Elf
Joined
Feb 9, 2020
Messages
655
Location
West Central Ohio
My suspicion would be it is caused by one or combination of 2 things. One, if the return Data Line is close to the pixels and their 3 wires, there are good odds that the PWM noise on the Data Line and any PWM 'sync-ed' Data Line noise on both power wires (from pixels being PWM-ed On/Off) are being induced into the return Data Line. Whatever the amplitude of the noise may be, it will be at the same or nearly same 800 KHz frequency as the return Data Line. In essence, the pulse train one is trying to shove to the next pixel has an 'earlier' version of itself riding piggy-back.

Next, as other ACL members have mentioned, a shift in the negative at the top of the first strip (positive direction [voltage rise]). By returning only the Data Line, the first pixel of strip #2 is seeing an offset voltage in the data input not referenced correctly to its negative. Returning both negative and data should give String #2 a better referenced data signal. For the strips, doing so will also give them a beginning/end power injection for the negative.

My suggestion would be to double end power inject the strip. The end power injection will help even out voltage drop through the strip and with the negative power wire better reference the data signal into the next pixel.
 

whatthej

New elf
Joined
Dec 31, 2019
Messages
42
Thanks for your replies folks.
(with no null pixel)
I tried adding a ground line connecting back, but the flickering became worse.
Then I tried the CAT cabling solution, even crossing over the twisted pairs so that the data and negative lines are in different pairs (a la TIA568 ethernet standards), as well as powering 12V from both ends. This time only 2 nodes on the second strip lit up.
This voodoo is all very perplexing (tempted to buy an oscilloscope to test and understand it more).
Unfortunately I won't be able to get the null pixels in time so I will have to try the null pixels in Jan!
Much appreciated and warm fuzzy feelings from this helpful community. Cheers and Merry Christmas!
 

TerryK

Retired Elf
Joined
Feb 9, 2020
Messages
655
Location
West Central Ohio
Well, something is being overlooked. Your setup does not seem that complex to me. Let's try to fill in the blanks. You have 4 strips each 2 meter in length which are WS2811 12 Volt types. Wired parallel for power single ended and series for data. Controller is a Wemos D1.

Now the questions, bear with me if already answered. Something in the following should give us a nudge in the right direction.

You keep mentioning strips, are these strips or strings? Perhaps a photo or link so we know exactly what you have.
The WS2811s, resistor or regulator type? Pixel density: pixels per meter or spacing?
Distances: power supply to the first strip, controller to the first strip, 1st to 2nd, 2nd to the 3rd, and 3rd to the 4th.
Wire sizes, 1.5 mm2 slightly larger than 16 AWG: everything the same? Anything larger or smaller?
I'm not familiar with the Wemos. Are you certain the setup is correct? Please post so individuals familiar can verify it.
What is the capacity of the power supply? Model number please?
Using a terminal block at the bottom of each strip as shown in the graphic? Connections secure/well made?
Power routing: directly to strip with data only from the Wemos or power through the Wemos?
 

BAZMick

Full time elf
Generous elf
Joined
Nov 26, 2019
Messages
484
If I string them all together in series, it works ubeaut. If I connect string 2 at the bottom of string 1, after the data cable, I get the same flickering.
W

What's stopping you from connecting them in series? And by in series did you connect them from the top of string 1 to the top of string 2?

Are all your strips/strings running bottom to top or are they zigzag?
What kind of tube are your lights and data wire mounted in?
 

whatthej

New elf
Joined
Dec 31, 2019
Messages
42
Answers and pictures below:
Possibly the most important useful bit is that I have identical setups across the other parts of the house, which work fine (almost) end to end connected. (i.e output plug connected straight into the next strip). The only difference is I have extended the distances between strips with 1.5mm2 cable.

1608180836045.png

The WS2811s, resistor or regulator type? Pixel density: pixels per meter or spacing?
I have these 30LED/m (10 nodes) and from this manufacturer. Not sure if it's resistor or regulator type (I presume it's resistor since a regulator as I understand it, has a big 3 prong chip).

Distances: power supply to the first strip, controller to the first strip, 1st to 2nd, 2nd to the 3rd, and 3rd to the 4th.
Power supply and data is all fed via 1.5mm2 cable (9x more area that CAT5e wire). At the bottom of the strips, I break them all out with automotive terminal blocks (the white ones with screw clamps) and use it like a bus.
Power supply to first strip is ~4m. No appreciable voltage drop, still 12V
Power supply to the second strip is ~1.5m. (The second strip is actually closer to the first strip)
From the second strip to the 3rd strip is 6-7m, but the flickering already happens at the second strip.

Wire sizes, 1.5 mm2 slightly larger than 16 AWG: everything the same? Anything larger or smaller?
Everything is 1.5mm2 except where it connects into the strips, where the 1.5mm2 cable won't have enough space to solder on, so I've left the standard connectors on. Length for each of these smaller cables is 20cm max. No appreciable voltage drop at the start of the strips itself

I'm not familiar with the Wemos. Are you certain the setup is correct? Please post so individuals familiar can verify it.
The Wemos is an Arduino board. Works fine with all my other light strips (I have 6 of these units running 70m of these same WS2811 LED strips.
Have tried alternate Wemos boards (that work fine on other strips) and same issue.

What is the capacity of the power supply? Model number please?
12V 30A. Those metal boxes. Powers my other lights perfectly fine.

Using a terminal block at the bottom of each strip as shown in the graphic? Connections secure/well made?
Connections secure. Have also crimped directly on to see if that's a problem, no difference.

Power routing: directly to strip with data only from the Wemos or power through the Wemos?
Powered directly to strip, but Wemos shares same ground

What's stopping you from connecting them in series? And by in series did you connect them from the top of string 1 to the top of string 2?
Bad language, by 'in series' I meant to suggest that the output JST connector is connected directly to the next JST of the strip, so 20cm of the thin wire.

Are all your strips/strings running bottom to top or are they zigzag?
They all run bottom to top as I ran my main 3-wire on the ground

What kind of tube are your lights and data wire mounted in?
Plastic oval electrical conduit. They work a treat for diffusing light and were really cheap via my electrical distributor
 
Top