Help diagnosing flickering

Coincidentally, I was just experimenting with a resistor on the data line after reading a recent post on the topic from Quindor. I don’t have a 33ohm resistor handy, so I got a couple of potentiometers and tested using them. When I turned them as far down as I could the flickering stopped (or at least was DRASTICALLY reduced). So this must be pretty close to mimicking the 33ohm resistor. I’m using Cat6 cable for all my runs. I use 3 wires together for the power, 4 for ground and the other 1 for data. I was under the impression that the twisted pairing of the wires should reduce/remove interference in the line, but I guess I was wrong there.

I added a a sacrificial pixel (redneck level shifter) and 33ohm resistor to my stars’ data lines and experienced the same interference. Additionally, I ran separate grounds for each ESP32, and tied said grounds to their respective strips……still flickering. I have three more buck converters being delivered on Saturday, as I’m certain there is some type of interference occurring between the boards as a result of their sharing the buck converter (there can’t be any other reason, in my mind, that the stars would only while the tree’s board is sending data). Hopefully once I get both ESP32’s wired completely independently, I’ll see some improvement. Will keep y’all posted.

It is possible that the twisted pair will impact the induced noise (either positively or negatively), but that’s not the only variable at play here! Long wires have both inductance and capacitance, both of which alter the way the signal is passed along the line. When sending very high-frequency signals, these variables can cause the signal to reflect back to their source, effectively altering the signal. Adding the resistor helps to balance the impedance at the source and load, preventing (or reducing) the reflection. It does not do much to alter its susceptibility to noise induced.

@mjg1088, thanks for the explanation. I guess for some reason 12v power seems to interfere more with the data signal than 5v power. I have longer 5v runs with the same cabling and don’t see the flickering. So the 12v power must be more susceptible to interference in my setup.

Well, this has been a VERY valuable lesson learned. I spent MANY hours diagnosing, rewiring etc. I’m happy to finally have it figured out and can guarantee I won’t be making this mistake again. Thanks to everyone for helping out with suggestions!

1 Like

I’m fairly certain that the data for ALL WS28xx LEDs is done with 5V circuitry. It seems logical that having 12V run next to the 5V data cable would have a stronger negative impact than having 5V run next to the 5V data cable. Glad you’re all sorted out!

I am brand new to Pixels and this forum. Reading through this post, seems I am experiencing the same issue. I’m a big fan of Dr. ZZs and pretty much put together my setup through watching a couple of his tutorials.

I am experiencing the issue with two 100 pixel strands (not installed yet) on my desk and have been able to remove it if I literally hold the splice with my fingers on the data cable.

My setup i’m using for testing is: 30A 12V PSU, 5.5V DC converter, ESP8266 NodeMCU with WLED. Data pin connected to D4. Alitove WS2811 12V LED pixel string with 100 pixels per string.

I initially soldered a pin connector to the data cable and connected it to the NodeMCU. My pixels were opposite colors, R was G, etc. After a few hours of playing with the WLED settings and adjusting the ‘color order’ to present the color I was selecting in WLED, I noticed the occaisional ‘blink’. It’s like a strobing effect, but it effects the entire 200 LED string (2 strings plugged together). I then removed the pin connector wire (thinking maybe its gauge was too small to get the signal to the LED’s) and held the data wire from the pixels directly on the D4 pin with my finger. The blinking went away and the light color issue that I fixed with modifying the color order ‘fixed itself’. I had to go back into the color order setting and select what it ‘should’ve been’ as RGB. Everything was functioning as expected. I even went into effects and they were working as designed.

I wonder if soldering the data line from the string directly to D4 would fully eliminate the issue.

I ask that you all be kind to me, I am definitely not an electronics genius, as you all seem to be. Although, I am a man of many trades and master of little. The data signal hit me in my primary trade, of being an IT Network Engineer. I’m thinking potentially there is definitely signal loss.

Rewind a bit, sorry I am all over the place, as soon as I removed the data line from the NodeMCU data pin, obviously the effects would stop, but the ‘blinking’ would also stop.

So I’m not sure what my actual question is, but I believe one of the things I picked up from reading this post, is there appears to be interference with the 5V data signal and the 12V power signal. The issue is the lines going to the individual pixels are side-by-side in the molded plastic.

Are there any simple ways to diagnose the actual problem? Are there any known ways to deal with this? I guess the obvious and most ridiculous way would be to separately wire each individual pixel and shield the signals from interference, but I didn’t buy a string of already wired LED’s to then be forced to re-wire them all.

On another note, would it be possible to boost or do something to the data signal to make it stronger? I guess that is what the 33ohm resistors were from earlier in this post? I wholeheartedly don’t understand the resistor situation.

Again, I want to thank all of you super smart folks for any assistance you can lend.

Hey man, Welcome! Let’s see if we can get you sorted out. A few questions:

  • How long is the data wire you’re currently testing with? This wire should be kept as short as possible, and it should not be coiled up. If your data wire needs to be longer than a few inches, it’s likely you will need to add a level-shifter.

  • If not solder, what are you using to connect your data wire to D4? A cheap connector or breadboard that only makes intermittent contact with the pin can definitely cause this issue. I would recommend soldering for your final installation. Keep in mind that you’ll have a cleaner product soldering everything to a board than you will soldering wires directly to your pins.

ETA: As Tonyno mentioned below - upgrade to the newest firmware, 0.13-b5. This might not fix the issue, but guarantees that we aren’t wasting our energies fighting old bugs!

  1. Add a level shifter or sacrificial pixel right at the ESP.
  2. Make sure all grounds are connected to each other.
  3. Make sure that you are not using one of those black-with-red-text 5V regulators.
  4. If you are running wled 0.12, upgrade.
1 Like

I really appreciate any assistance you provide.

The data wire is literally like 5 inches. It is super tiny (thats what she said).
I am using the latest version as of 5 days ago, when I first downloaded/flashed the NodeMCU. I will verify later.

Is a level shifter necessary with such a short data wire?
All grounds are using a common ground source.
Please don’t shoot me for following DrZZs guidance, I am most likely using one of those 5V regulators you mentioned because its black-with-red-text “TOBSUN” EA50-5V. At least I’m guessing this is one of the “forbidden” regulators.
Please help me understand why this regulator is forbidden and any different than the rest, in non-technical jargon?

I wish there was a packet sniffer that would understand the E.131 transmission, like there is for Ethernet. haha

The regulator issue is:
They notoriously fail to meet their specs - voltage drops before reaching max current and/or noisy 5V supplies. The use of those models in powering strings and MCU’s are more trouble than they’re worth.

A data line that short is probably not the main issue here. My gut says start with clean adequate power and work forward. An old PC power supply is often a good bench supply for testing designs and provide clean power.

In my experience, no. Make sure the wire is solidly connected to your pin though. Solder it if you can. (In fact, review ALL your connections to make sure they’re solid)

If that doesn’t help then I agree with divsys - power your nodemcu with a different power source, while making sure all grounds are connected. You should be able to test this pretty easily by removing the V+ wire from your node and then plugging it into a micro-usb phone charger.

That regulator was found to cause problems for multiple people. They tried something else and all was well. :wink:

12V LEDs usually require a shifter or null/sacrificial pixel.

I have not had a chance to test it just yet, but I did move forward with purchasing a DigQuad to replace the NodeMCU. I will perform some testing today, since I’m off the rest of the week.

I really appreciate everyone’s assistance and willingness to jump in, for this new guy!

On another subject, are there any good articles on here that you can point me to that would help me understand if its possible to run older non-RGB lights (120V string lights) with WLED? Obviously, I would need a different controller I’m assuming, etc.

Thanks again all!

There are usermods available for relay control! Check out the multi_relay mod!

Just to touch on the original topic again, and maybe help someone else if they experience the same thing…

As mentioned previously, adding a low resistor fixed the flickering issue for me. My assumption was that that something with the 12v power was interfering with the data, and the resistor seemed to fix that. However, I have since added 2 more 12v outputs and in anticipation of the flickering issue, I added the same low resistor that fixed my original issue. However, I found that one of the 2 new 12v outputs was still flickering the same way my original issue had, the other was perfectly fine. I removed the resistor from the new output that was flickering and it stopped. Out of curiosity, I removed it from the 2nd new output and that continued to work fine as well. Both of these 2 new outputs have longer data runs than the original problem line (although they have less LEDs).

So, it made me realize that I don’t fully understand when the resistor is needed and when it’s not. Due to the original problem, I assumed that I’d need it on ALL 12v lines. However, it seems that in my scenario, not having the resistor resulted in flickering on one line. Having the same resistor on another 12v line CAUSED flickering. Then on a 3rd line, it didn’t matter if the resistor was there or not, no flickering occurred.

So, if others see similar flickering issues, you should try both with and without to see what’s best for that particular output.

If anyone has any technical information to pass on as to when the resistor needs to be there vs when it shouldn’t, I’d love to dive in deeper and see if I can get it figured out for sure the next time.

/repeat soap box on

So, the “flickering” issues typically break down to 2 possible sources.
Power or data.

Assuming you have the power issues worked out, that leaves the data stream.
Data for LED strings is based on 5V TTL style signals between 1MHz and 10MHz (approx).

Trying to send that kind of a data stream over extended (> 3m) distances is problematic at best.

IMHO all the resistors in or out, wiring placement, signal boosters, etc. are attempts to work around the basic issue that data streams up in the 10MHz range will not be reliable sent as a single 5V signal.

There are multiple threads documenting the use of RS485 Tx-Rx pairs to eliminate these problems simply and reliably.

You might be able to remedy your issues by other means. I think the most effective means is with Tx-Rx pairs on your data lines.

/soapbox off