I have a power and/or signal problem that is driving me crazy! I have a set of WS2812 rings organized into three logical strips – each one has about 260 LEDs. Power is injected about every 60 LEDs. I am running FastLED on an ESP32 with an SN74AHCT125 level shifter.
When I first plug it in, everything is fine. But within 20-30 seconds some of the LEDs start flashing and showing weird colors. Part of the strip locks up, so the signal doesn’t make it all the way. Some number of LEDs at the start of the strip are fine, but then the signal just stops, and the rest of the LEDs in that strip are frozen at whatever color they had last. The problem keeps getting worse and worse.
Here’s the weirdest part: if I unplug the display for a short time, the problem does not go away. That is, if I unplug it and plug it right back in, the same sections of each strip are still locked up (not getting any signal). If I leave it unplugged for a longer time, however, then it goes back to normal, but only for 20-30 seconds.
I’ve tried so many things, but I can’t figure it out! Help!
Sounds to me like you have some bad solder joints on some of those LEDs. I’ve seen this before where the strip starts off fine, then as it heats up the bad joints get worse and eventually cause havoc. Turning it off for a bit let’s it cool back down and the joints get better again.
When it’s on and exhibiting the problem go around and push on each LEDs. You can start near where the problems start to show in the strip. You may find when you push on certain LEDs the problems magically go away. Hit the joints on those LEDs with your soldering iron to fix them up.
@Sam_Guyer that really reminds me of the flickering I had with my board when I did not use twisted wires from the level shifter to the leds.
It’s like it’s building static electricity. or you have a gnd issue. I have plugged the gnd on both end of the strip to the common gnd.
If you have done that.
I can see other issues:
- bad led somewhere which is about to failed. I had that too
- did you try to change level shiters (I personnally use 74HC 245)
I hope that helps
I’ve had similar issues with bad solder joints. I’ve also with issues with heat buildup in enclosed spaces. I’ve had to add vent holes and a small fan for ventilation. Operating temperature for WS2812 is -25° ～ +80° C (-13° ～ +176° F), but I’ve had them start failing at much lower temps for extended time periods.
Have any spots getting noticeably warm to the touch (or as measured with an infrared thermometer)?
i have seen odd colors and flashing and incomplete fills when the voltage has dropped too low due to the combo on the pattern being generated and the power supply/ wiring not being up to the task in that location. one way to diagnose this is to turn the brightness down significantly and see if the issue is resolved or not. If it goes away, then this is the issue, and you need a better power distribution setup.
@Ben_Delarre Thanks! I had not thought about heat – that would make a lot of sense given the persistence of the problem across power cycles.
@Mark_Estes Do you know offhand what a tolerable voltage drop is? I’m measuring 5V at the start of the strip, and around 4.6V at the end (sometimes as low as 4.4V).
@Sam_Guyer i do not know. I just know that when I was pushing it (i.e. not providing enough current), i had this issue. it went away when I lowered brightness ( and thus reduced current draw) and stayed fixed when I turned the brightness back up with a better power supply.
I did see this more often with brighter (i.e. higher current draw_ patterns, which meant that the voltage was lower than normal. I did not have a chance to put a volt meter on it at that time. Probably under 4 volts is a problem.
my theory is that the little chip that needs to pass the color info to the next one, stops working and either sends corrupt data or no data and thus the erratic flashing. you might need a scope to see the voltage dips. Or back into it by seeing if brightness adjustment works and then beef up your power supply. Love the use of the rings btw.
Thanks @Mark_Estes . I will definitely try turning the brightness down – that’s an easy experiment. The rings are cool, but man are they a pain to hook up! That might be part of the problem (as pointed out earlier) – connecting the rings together involves a lot of hand-made connections.
This is a long shot but if you still have problems after investigating the other items that people mentioned AND if the problem always starts at the same ring you may want to inspect the LED(s) on the problematic ring themselves.
I had an issue with one of the larger 60 LED rings to where it would get warm and one of the LEDs would start acting up for a bit, cool off, work again for a few seconds, then act up. Very similar to the old school blinker incandescent Christmas lights.
@Brian_Lewis Thanks. Unfortunately, it is not consistent. I’ve even pulled out individual rings, and they mostly run fine on their own.
@Sam_Guyer are all your rings individually powered?
@Yves_BAZIN No, each column of rings (as shown in the video) is powered separately. It’s eleven columns, each one has either 60 or 72 total LEDs, which seems like a reasonable number for each power source, but maybe not.
@Sam_Guyer it’s seems more than reasonable i have 123 leds per line over 4m and it has never been an issue.
to test if you have power issue display everything in white as much power as you can. if you see ‘yellow’ lines it means that they are not well powered (maybe wires too small or not enough solder sometimes) I did that on my panel to 'cause i had issue also and discovered that some strips despite being lit did not have enough power hence disturbing at the end the data signal.
I have also plugged to the ground the en of each strip
@Yves_BAZIN Great idea. I will definitely try all white and see what it looks like.
@Sam_Guyer I also had a similar issue with a large matrix and sections glitching out with bright flicker. Make sure the power source of your controller is either being ran from the same power source 5v reverence as the pixels or make sure your 5v pixel signal is not out of spec from the power supply 5v level of the rings. In our case it was the power supplies had a higher 5v reference then what the controller was sending.
I have to agree with others on the power supply culprit. Consider adding Bulk capacitance. You may only see a 0.6V drop but when the leds switch the drop may be much larger. I have seen similar things with APA102’s even with a very strong power supply they can have issues with small traces and long runs (120 Led/m). I ended up adding 2200uF caps to both ends of my 1m strings and adding a separate power wire at each 1m Junction.
Hey Sam - I’m a few days late and hopefully you solved this - but seems pretty similar to the issues I was having with my vest, which was basically cross talk/interference on a data line. If you haven’t yet, try separating that data line from the rest of your electronics or putting the controller right up next to the LEDs so there’s very little distance between the controller and the pixels. I don’t think it’s a power problem - almost definitely a data problem. If it’s occurring mid data stream and not on an entire data line, then it’s prob a bum pixel
@chad_steinglass I’ll try that, too. Thanks.