Aircoookie / WLED

Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi!
https://kno.wled.ge
MIT License
14.88k stars 3.21k forks source link

LED color glitches/flashes #230

Open coelner opened 5 years ago

coelner commented 5 years ago

Hey, I use 120 WS2812 wit a 4A 5V power supply (limit 3800mAh). The firmware is 0.8.5 on two different ESP8266 boards. I want to use a self soldered ESP12E board with minimal space requirements. With this board I have some LED glitches. Most of the time the selected color is shown, but randomly short burst with a different color appears. A single level shifter is also used, but the led stripe works flawless with a nodemcu even without a level shifter. If I set the brightness the glitches don't appear, all other glitches are with full brigthness. If I use only a red color, those glitches are mostly green, sometimes blue. Most of the time the complete stripe is affected, but sometimes only the first LEDs burst the wrong color.

Any hints where to search for solving the issue?

theshadowsvk commented 5 years ago

Hello, please, which pin/method are you using ? Are you sure that voltage drop is not big ? Sometimes this could be the issue of random color glitches.

coelner commented 5 years ago

I use GPIO2. I flashed it with a CH340G directly over the gpio pins and took this one: WLED_0.8.5_ESP8266.bin Which voltage drop do you mean? with full brightness it is 4.9V and at end 4.2V (With power limit set to 3800mA). But this should not be a problem, the nodemcu can be used for this and there are no glitches at all (at the end 3.8V)

theshadowsvk commented 5 years ago

Hmm okay, can you drop schematics of your board ? This sounds like other problem

coelner commented 5 years ago

IMG_20190927_093729145_HDRlow

theshadowsvk commented 5 years ago

One question, is the common ground shared between 5v and 3.3v line ?

Sorry I see now, it's shared. I saw that cross line wrong. I'll check my schematics of my board and let you know

coelner commented 5 years ago

Yes, it is.

Aircoookie commented 5 years ago

Your setup looks good to me. I actually believe that this is indeed a software issue because I have had it too on two of my lights. I was suspecting that the reason was a missing levelshifter, but might be an occasional flipped or dropped bit in the UART after all.

coelner commented 5 years ago

I'm not sure. The nodemcu works well even without a levelshifter. At least I get there no glitches. And the single ESP12 feels hotter than the nodemcu (measured with my finger tip...) but this could be the missing pcb underneath. I assume two issues, one with flipped values in the UART, but somewhere a hardware vault. https://streamable.com/o8lsz

Aircoookie commented 5 years ago

Thanks for the video! For me it looks exactly the same, albeit at a much lower frequency at one glitch per 20-60 minutes, not every few seconds. This indeed seems like more of a hardware issue, but since there is no hardware difference with the pin between ESP12 and NodeMCU I can't see where. Did you try without the levelshifter? I've recently heard that some models modify the waveform enough to cause issues.

coelner commented 5 years ago

Yes, I added the level shifter after these glitches appear. Those esp12 are mass products, maybe something is broken inside (which would explain the hotter surface). sadly I have no oszilloscope otherwise I would inspect this furthermore.

You can close the issue and leave a reminder if LEDs are flickering that it is maybe a direct hardware issue.

coelner commented 5 years ago

Ok, even the nodemcu has got the glitches, but more like one in a hour.

frustreermeneer commented 5 years ago

I'm experiencing the same random flashing problem with 249 LEDs on an older Lolin NodeMCU on pin D4/GPIO2. I didn't have this problem with FastLED on another GPIO pin.

kcoop99 commented 5 years ago

Experiencing the same issue. Random color flashes. Running 12v lights. Has this been determined to be hardware only?

Here is video of my glitch examples. Solid blue then with Halloween effect. https://youtu.be/TGyMkZldP5s

kcoop99 commented 5 years ago

Swapped my wemos d1 mini for a node mcu and am running into same issue. Leads me to think it's software and not hardware.

wardwygaerts commented 5 years ago

My leds seems to flicker all together when changing color. Will make a video tomorrow.

dhami220 commented 5 years ago

I get the flashes as well (every few seconds) with couple interesting observations below.

My setup: Two LED strips controlled by two nodeMCUs, two level shifters and 40amp power supply.

1) If only one LED strip is running, I don't get any flashes. 2) If I turn the second LED strip on, the flashes appear. 3) If both LED strips are set to halloween, no flashes. I have tried other effects, but only found halloween working without flashes when both are ON.

dhami220 commented 5 years ago

Tried a few additional items without success:

Next steps:

Final Outcome: After watching Dr's stream today, gave the booster LED another shot. This time, I ran both strips from one NodeMCU (same signal split to both). Soldered all joints (replaced jumper cables with 20 gage wire segments and soldered). Flashes are gone!!!

kcoop99 commented 5 years ago

Can anyone confirm or deny that a logic level shifter DOES work???

theshadowsvk commented 5 years ago

Yes I'm using it, without any problem

kcoop99 commented 5 years ago

Would you be able to share which one you are using and how you have it wired?

Physikus74 commented 4 years ago

Hello, that sounds to me like EMV problems, or actually voltage dips due to pulsating currents in the effects. A good buffering with capacitors near the MCU should help. It is even better if the MCU gets its own power supply. So the "big power supply" for the LEDs can be switched from the MCU and the MCU itself is independent from the currents of the LED's. When designing the GND line you have to be careful that the current through the LED's does not influence the voltage of the MCU! For me such a setup with more than 900 LED's works very well.

palengh commented 4 years ago

Thank you for your great effort with this project. I really appreciate it. I too experience the random flashing of the lights. Running WLED 0.8.5, and using a 5 m 300 LED strip. My power supply is 12V (12.5 A) directly to the LEDs sharing the common ground with the NodeMCU. My NodeMCU has D4 connected to the LED´s program wire. When setting Max current to 12500 mA, the LEDs flashes like strobe light. I need to set the LED Max current to below 2000 mA, to stabilize it, but even then it will flash randomly. When I disconnect the D4 connection, it's stable, even at 12500 mA.

The D4 connecting cable is 8 cm long. Setting "skip the first led" in the configuration dit not help

EDIT: Upgraded to WLED 0.8.6, and the strobe-like flashing is gone, even at 12.5A. Now it only dips to lower intensity randomly. This behavior seems to be gone when max power is set to 5A, but then the brightness/intensity is too low.

austwhite commented 4 years ago

I am using WS2811 LED's and I get the flickering issue quite badly when using default GPIO2 (D4 on D1 Mini) or GPIO3(Rx on D1 Mini) for the LED data. Strangely, the flicker only happened if I set the current to above 1000mA. If I limit the brightness, no flicker at all. I decided to play with this. I changed to use GPIO14 (D5 on the D1 Mini). The compiler warned me it would use software bitbanging which may cause flicker, but the exact opposite has happened. The flicker I was previously getting is now totally gone. Even at full brightness no flickering.
It isn't a hardware issue either as I have used 3 different D1 Mini's to test with (one was a D1 Mini Pro, genuine WEMOS, two are clones). I haven't got a WS2812 to play with at the moment, so I can't comment on that, but on the 12V version WS2811 I have this seems to have solved the flickering completely.

matt-from-uk commented 4 years ago

87 led me here. I have the same issue as many.

12v WS2815 Using ESP32 dev board No logic shifter required - i actually tried a falcon f-amp initially but this caused a flicker whenever changing colour - once removed all was stable.

All worked well when using 193 pixels, now i have added some more (with necessary power injection from same supply with plenty of power) i get flickering, almost like a flash every so often. The frequency is different based on which effect is used.

I found the 'pride' effect a good test as this makes it flicker/flash very quickly. Something like twinklefox only every few minutes.

What is strange is that it is only really affecting the last 203 pixels, not the first 193. These numbers also coincide with what was seen in #87

Please let me know if i can provide any more info. Matt

austwhite commented 4 years ago

My flickering issue is resolved in the latest versions, as long as I use a logic shifter. As soon as I remove the logic shifter, the flicker returns toward the end of the strip. I know the LEDs are meant to be data repeaters, but this issue definitely seems related to logic level for me.

kcoop99 commented 4 years ago

I can't recommend enough the QuinLed Uno boards. Eliminates every possible issue in my opinion.

meekell commented 4 years ago

I ran into the same issues as many have described here while running my under and top cabinet light strips. Each is controlled by a separate nodemcu. I determined the issue to be due to signal coupling between the two data signals. When running more than one data signal together, make sure you have sufficient wire separation so that the radiated emissions are not picked up by the other wire.

rayperkins1 commented 4 years ago

I am having this issue now, I noticed when I am touching the signal wire the flickering goes away. I tried adding a capacitor to between D4 and GND, but that stops all color changing. Maybe I need a smaller capacitor, but I only have a few on hand to try.

Any other ideas?

rayperkins1 commented 4 years ago

I read the uber guide to neo pixels on ada fruit and realized I needed to add a resistor between the ESP8266 signal pin and the data in on the LED string, now it works great.

rawframe commented 4 years ago

Prob1 : Mostly random flickers and colours. Fix : Make sure the circuits share the same ground (i.e. esp and lights have a common ground connection) Prob2 : Random flashes intermittently. Fixed by powering the esp unit via the 5v input and not 3.3v. (Perhaps transformer introduced noise/voltage fluctuation, or isolation/stability of gpio is better via 5v input) . Didn't try @rayperkins1 solution but could work in a similar way. [Wemos D1 mini & 5v SK6812]

austwhite commented 4 years ago

Using a module such as the QuinLed Dig Uno will ensure your ESP device runs off 5V correctly, but be aware some cheap clone devices are not as stable as others. I had a couple of cheap clones and they would flicker occasionally but my genuine D1 Mini Pro's have always been rock solid. Sometimes the clones are just not stable enough to keep up with WLED. I only had it with a couple of them, so I delegated those slightly unstable ones to low data, non-critical sensors and used more stable ESPs in WLED.

noloco commented 4 years ago

I'm having the same issue with 12v LEDs

austwhite commented 4 years ago

I have just been playing with Hyperion and WLED and have noticed regular flashes on the WS2811 strip I have as my test strip. It happens when using UDP (Raw) or E1.31 protocols. It seems to just randomly flash sections of the LED strip to full brightness for about 1/4 of a second then drops back to normal brightness. The colours are not changed, it just seems to randomly flash random sections to full brightness. As note, this does seem to be a little worse in 0.91 than what it was in 0.86, but it I have checked and it is present in both.

Edit: @Aircoookie Nothing to do with this issue, but you've done such an amazing job on this, I am going to buy you a drink or 3 with the donation link :)

olliegg123 commented 4 years ago

Was this fixed with certainty? Any ideas for mine?

This is on Twinklecat: https://streamable.com/7g1ji0

I notice that it happens more frequently when the brightness is lower.

rayperkins1 commented 4 years ago

Adding the resistor 100% fixed it for me. Not sure if you have other problems, but make sure you have a resistor inline, and maybe try a few different values if you already have one.

kcoop99 commented 4 years ago

I got fed up and finally bought quindors dig Uno boards. Fixed it for me. Before that however I used a logic level shifter and that fixed it too. You can use a sacrificial pixel too.

Aircoookie commented 4 years ago

Yes, just to confirm, this is a hardware problem, not fixable in software. The most solid solution is indeed using a levelshifter (like the SH74AHCT125N utilized in the QuinLed Dig-Uno board), however reducing the supply voltage of the first LED by a volt using a diode also works nicely.

olliegg123 commented 4 years ago

Thanks for all the help. @kcoop99 , what do you mean by a sacrificial pixel??

Aircoookie commented 4 years ago

@olliegg123 a single pixel directly at the microcontroller output to boost the signal. Sometimes even that is still unreliable, in that case adding the voltage drop diode helps.

kcoop99 commented 4 years ago

@olliegg123 try this. 0D6B5CC0-7BC4-4321-A3EA-50D702D6A9F6

olliegg123 commented 4 years ago

Perfect. Thank you both. I’ve ordered a new 5V 5A power supply (was originally stepping from 12v to 5v) so will try it out tomorrow with a sacrificial LED which will hopefully work.

fishbone-git commented 4 years ago

I'm interested to know if anyone is seeing this WITH the QuinLED dig-uno. I upgraded to get around this problem, and it's still present. Some effects work, some can work if they are set at power on, others never work.

Aircoookie commented 4 years ago

@fishbone-git is this with the D1 mini or the ESP32? What are some examples of working vs. flashing effects?

fishbone-git commented 4 years ago

Mainly ESP32, but I also tried a D1 Mini as a test (they don't stay connected to the wireless well enough so don't use them regularly). Pacifica seems to be consistently good. The Comet effects are ok, but only at lower brightness. Oscillate is bad as is any of the twinkle/glitter effects. Noise 1 and 2 can be made to work if set at power on. Noise 4 is never ok. It also seems to be worse when red is involved, but that is more of a subjective view. In general, cooler colours with slow rate of change. Odd, as I expect the control signals are the same regardless.

fishbone-git commented 4 years ago

Hey, an interesting data point: I had a go a dialing into the failure on one of the strings. I started at the first LED where it fails. Pressing down hard on the LED makes it work, then I had to do this twice more on the string. To help hold this "pressure", I've taped those LEDs with clear tape. So, this hints at local LED issues, perhaps temperature or cold soldering. The really interesting bit is that after fixing the one string, the other three magically cleared up! Oddly, the string I fixed is the "master" which syncs the rest over UDP. I can't even suggest a wacky theory here.

olliegg123 commented 4 years ago

Sacrificial LED worked perfectly (so far)! I didn’t have a diode, so it’s running without one at the minute but I’ll be putting one in once I get it. Thanks for the help!

fishbone-git commented 4 years ago

Another experiment: I went back to 0.9.0-b1 as this was the oldest binary that I have with my pin config and I was able to run Oscillate for 20 minutes without an issue. Flashing back to 10.0 and immediately on starting the effect, the leds went bad. I also have another string running twinklefox. 10.0, there is a bright flash of white (sometimes green) every few minutes. with 0.9.b1, no issues at all. No doubt that there is a hardware issue in the string a couple of posts ago, but it's not the whole story I think. Also, when it goes, it takes all other strings in the led group with it so that it still very odd.

SamPhoenix91 commented 4 years ago

I have been having this issue and found that changing the power supply fixed it. Maybe a power regulation issue?

UPDATE: My supply (That has this issues) sits at 5.3v and 0.55A but when the lights flicker, jumps up to as high as 1.3A The supply that doesn't sits at 4,98V and 0.55A

My best guess is either it's overloading the LEDs with voltage or has poor current regulation.

SHolman77 commented 4 years ago

Qa

wilson3682 commented 4 years ago

Hi all, I was having the same problem with the flickering lights when using the wemos D1 mini using UDP from Hyperion ng. All the problem came down to the weak voltage regulator the manufactures are using on these boards. I found the solution here: https://www.reddit.com/r/esp8266/comments/c2vhvy/update_best_solution_to_the_wemos_d1_mini_weird/

I Added the AMS1117 3.3 volt regulator as shown in the picture and now all flickering is gone! I hope this can help somebody else having the same issues. image