I have four different ws2811 strips all on different data lines. I tried different combinations of using only three strips and it all seemed fine, but the second I add even 1 pixel onto a fourth strip, then the same strip above the garage (mainly) starts having flickering issues.
Weirdly, this whole setup was working perfectly 2-3 weeks ago.
In control box:
ESP32 WROOM-32 38pin
WLED 0.14.b1
SN74AHCT125N SN74 Quadruple Bus Buffer Gates as a logic shifter
1000uf capacitor
No resistors
12v to 5v buck converter
Rest of Setup
12v 30amp PSU
206 total LEDs over 4 different ws2811 strips
x2 ~8-meter runs (18awg three wired cable)
x2 ~15-meter runs (16awg three wired cable)
Both wire runs were tested during install with voltmeters showing minimal voltage drop; everything easily gets bright white.
I blamed my controller and decided to do a rough test with the DigiQuad (WLED 0.13.1), but that just made everything worse. Nothing at all was working properly from the right colors, flickering, turned on in some spots and not in others, yadda yadda.
Here is the whole project with a tame example of the flicker 5 seconds in on the top right of the garage. Hard to see here, but very clear on my phone and in person. Seems to get worse with more complex animations, higher power, more complex colors. Sometimes restarting everything and the flicker goes away for a bit and sometimes not. The change that always helps a lot is to only light 3 of the 4 LED strips. This can be any 3 combinations of different strips. Once all four are on, then it always gets bad on the garage strip. Sometimes just pieces of the strip and sometimes the whole strip.
Flickering is almost always due to voltage drop. How are you connecting the power to the strips?
You mean “Resistor”? A 4k7 pullup on the data line may help, but if the first LED in the string is working, then it’s definitely not needed because each ws28xx chip regenerates the data. On the other hand, it can’t hurt.
A real schematic, not a pretty picture, would answer a lot of questions. Are you injecting power on both ends of the strings?
What is that second box? It looks like it may have your level shifter in it? I don’t see a 0.1uF/100nF capacitor by it. It needs one.
Data lines run too far to their first pixel(s)
How long is each LED strip? Did you power inject any place?
As Steve already suggested; corrosion or bad connection.
Lots of $$ spent on boxes and fuse block, yet using a cheap no name Chinese power supply. (It could be a noise issue, though less likely than the first 3)
Side note with nothing to do with your current issue: Are those wires that connect the output of that power supply to the fuse block even rated for 30A? They look kind of small.
These 4 strips are all separate, individual connection points with the longest strip holding 230 LEDs. I took a couple of voltage readings at the end of the problematic strip and there doesn’t seem to be bad voltage drop.
LEDs off: 12.15 v
LEDs aurora animation: 11.85 - 12 v
LEDs all 100% white: 8.35 - 8.5 v
The PSU was giving off a consistent 12.5v
I then set up a Dig-Octa brainboard this time and switched the resistors to 33ohm which worked beautifully. No problems at all. Going back to my original controller and now the flickering got 10x worse and a second strip started acting up too. These are the purple ones in the schematic.
I’m really curious why my control board worked three weeks ago just fine and now it doesn’t. Where would the corrosion have taken place? Maybe the logic shifter or the esp32 on my board started failing?
Important to note that the rest of the data lines follow the power lines they connect to all the way to the LED strip. I just didn’t follow through to the finish with them.
I’m using a camera cctv power box that came like that and it hasn’t given me any trouble yet. This project shouldn’t be pulling all that much and they aren’t getting warm either.
I apologize for the poor the picture, there’s now a schematic above and here’s a better shot at the original controller. Same specs as in the original post. I think I can cross off 1. 2. 3. and 5 in Stevemann’s reply. Any ideas on where the corrosion or bad connection would have taken place? Something must be failing on the controller being that it used to work right? I’m not looking for a specific solder point or anything, just a guestimate.
You need a 0.1uF (100nF) ceramic capacitor as close to your level shifter’s 5v and ground as possible. This is to filter noise. Could be your issue. You could also try adding the 33 Ohm resistors to your data lines like the dig has.
As far as a bad connection that could really be any place. Cold Solder joint anything really. Though I would still lean towards data corruption or a voltage issue. You really are pushing those data runs a long way from the controller to the start of the strips.
230 12v LEDs in strip form is a lot with no injection. You are asking a lot of that thin coper trace. If you had said it were bullet pixels I would say 230 would likely be fine.
First thing I would do is: Add that ceramic cap to your shifter (circled in light blue).
Second: I would maybe add the 33 ohm resistors.
Third: I would connect power to the end of that 230 run and just temp’ connect it to see if it solves anything. This would be least likely to fix it as you said it worked with the dig.
The resistor in series with the data line can be anything from 0-ohms to 100K. It is there to add some impedance to stop the data line from ringing. (Similar to feedback). I’ve only seen a data line ringing once. The effect is that all lights will be a grayish color. If the first LED in the strip is working OK, then “flickering” is almost always a voltage drop. You probably won’t see it on a DVM. Hauling an oscilloscope to the LED strips is not practical, so just run an 18 or 16 gauge pair of wires to power the far end of the flickering strip. If voltage drop is the problem, this will make it go away.
A cold solder joint can do this. Any outdoor wire-nut connection is sure to corrode over time. The JST connectors on LED strips are not moisture rated. If this is a permanent installation, assume that the connections will effectively be under-water.
Just thinking out loud here.
Is the flickering always from the same LED to the end of the strip? Is the flickering random?
Is it always toward the end of the strip or does the whole strip flicker?
In either case, try injecting power at the end of the strip to see if there is a different presentation of the flickering.
FWIW, inline data resistors are typically in the range of 22 - 220 Ohms. Anything over 470 Ohms is likely to start adversely reacting with the input stage of the LED you’re trying to drive. 100K (100,000 Ohms) is way over the reasonable value for in line data resistors.
The input current is 1 ua. You could put 1 megohm there and the voltage drop of the data line would be negligible. However the datasheet for the WS2811 chip recommends 33-ohms on data-in and data-out for impedance matching.
Voltage drop on the input circuit is (almost) never the relevant issue, timing is.
While the input current for the WS2812B is around 1uA, the input Capacitance is around 15pF.
Creating a 100K & 15pF RC circuit in the front end when you’re trying to maintain a waveform needing +/- 150ns accuracy probably won’t end well…
If they tested with a Dig-Octa and it worked. I am doubting it’s a voltage issue. I’m betting ceramic cap + 33Ohm fixes it, unless there is some faulty connection on that proto board.
You stated that you were running an esp32 for a controller and I was just wondering if maybe this could be an wi-fi signal issue? I use the esp8266 for my xmas decorations and noticed the same kinda scenario when the wi-fi signal dropped too low or cut out completely. Anyway, just thought I would put that out there.
It sounds like you’re dealing with a complex setup, and intermittent flickering issues can be frustrating. Here are some troubleshooting steps to help identify and resolve the problem:
1. Power Supply and Wiring
Check Power Distribution: Ensure that your power supply is providing enough current for all strips. Although you have a 30A PSU, check if it’s evenly distributing power across all strips.
Power Injection: Consider injecting power at multiple points along longer runs to reduce voltage drop, especially for the 15-meter runs.
2. Data Signal Integrity
Signal Quality: Ensure that the data signal from the ESP32 is strong enough. Long runs can degrade the signal. If possible, try using a level shifter to ensure the data signal is stable.
Capacitor Placement: Ensure the 1000ÎĽF capacitor is placed close to the power input of each strip. This helps stabilize the power supply.
Decoupling Capacitors: Consider adding smaller decoupling capacitors (100nF) near the data input of each strip to filter noise.
4. Firmware and Configuration
Firmware Updates: Ensure that you’re using the latest stable version of WLED. Sometimes, updates can resolve bugs or performance issues.
Check Configuration: Review your WLED settings to make sure the LED configuration is set up correctly for all strips.
5. Testing and Isolation
Isolate Strips: Test each strip individually with the same setup to see if the problem persists. This can help identify if one specific strip is causing issues.
Gradual Addition: Gradually add strips back to the setup, starting from the one that worked, to identify if a specific combination triggers the issue. https://www.oemstron.com/
6. Potential Interference
Environmental Factors: Ensure there are no new sources of electromagnetic interference near your setup (e.g., motors, RF devices) that could affect the data signal.
7. Physical Connections
Check Connections: Inspect all connections and solder joints for any loose wires or cold solder joints, which can introduce intermittent issues.
By following these steps, you should be able to pinpoint the cause of the flickering. If problems persist, providing more details about the exact wiring or testing results may help further diagnose the issue.