Esp32, 2 SK6812 strips with 512 LEDs - flickering issue

Hi,

I have a problem with my Strips.
I use a ESP32 WROOM, two SK6812 LED strips connected to two data pins (2,4).

If I connect one strip data line to the esp everything work fine.
If I connect both strips they will flicker.

The psu can deliver 70A.

The data lines are 3m long each.

The ESP is running at WLED 0.12

All grounds are connected well.

If I connect strip1 to pin2 works well
If I connect strip2 to pin4 works well

If I connect both strips to pin2 and pin4 the full strip starts flickering.

I have no more idea actually. Maybe someone can light my day.

Br
Jens

Are you using the “automatic brightness limit” feature? If so, how do you have it configured? Does disabling this feature allow you to power both strips without flicker?

Hi. Yes it was enabled. I disable it but without any change. I tested also right now with a different ESP running on 0.13b, but it remain the same problem. A single strip connected to pin2 work fine, two strips on pin2 and pin4 will flicker. I use 500R resistor in data line. Without or less R it will flicker much more.
I also use a levelshifter ic.

How long is each strip of LEDs? Are you powering the LEDs directly from the power supply? Are you injecting power? If so, how often?

Are you able to share a diagram showing your wiring, including the level shifters? Does the problem persist if you remove your level shifters?

(Sorry for all the questions!)

I have in total 4 strips. 2 times 1 strip 4,8m and 1 strip 3,8m - coupled together as one strip (8,6m 512LEDs). GND and data connected. Each strip has seperated power lines, in total 4 power injections
Totally 1024LEDs. The level shifter is connected directly to the ESP.
If I remove the level shifter the flicker rises a lot, unusable.

If I use one long strip (8,6m) on one Port of ESP it works perfectly for hours.

I will create a schematic by tomorrow.

Okay, If these don’t solve it then I’m going to wait for a schematic. My last 2 questions for now:

  • What happens if you attach strips to both pins, but only drive the first 30 LEDs of each strip?

  • Am I correct that you are using 2 level shifters - 1 for each output pin?

Question 1 Background

Commonly, flickering is an issue of supplying enough current, but 70A should easily be more than enough for 1024 lights. Reducing the number of lights you are trying to control helps to rule out power issues - If reducing the number of lights eliminates your flicker, then it suggests that the current draw of all the lights is contributing to your problem, and might indicate a need for more power injection points. If the flicker remains with a reduced LED count, then you can feel somewhat confident the power supply is not the problem.

Question 2 Background

This statement has me thinking you have tied the 2 pin outputs together which will DEFINITELY cause some undesired behavior. If you have tied these pins together, separate them so that each pin has only 1 long (8,6m) strip connected to it.

First of all I want to say thank you spending your time for my problem.

I made a quick and dirty schematic, hope this is ok.

If I just use 30 LEDs the flicker is the same as with 512.

No I did not wrap the outputs together (I believe my description was bad). Every strip of 8,6m has its own pin on esp.
I also use 1 8 Port level shifter.

Edit: I also tried to power the esp with separate 5V (GND connected to common GND of the rest). Still the same.

Happy to help! (Or at least, try my best to help! :sweat_smile: ) Unfortunately, I’m beginning to grasp at straws. Nevertheless, here’s some things to consider…

Thank you for including chip names in your schematic! Using them, I found the following “simplified application” on the TXS0108E datasheet:

image

The data sheet states to hold OE low until both Vcca and Vccb are stable, then to apply a voltage to OE to enable. You may try adding a pulldown resistor to OE to try and delay the enable. ~4.7KΩ between OE and ground should be sufficient, but I can’t really say with certainty if this will help or not.

I was also able to find the following stackexchange post here. This person was experiencing similar issues to those you have described using the same level shifter. They state that grounding all unused inputs was helpful. The TSX contains internal pull-downs, so I do not suspect this is the cause of your issue, but it is worth trying because it is easily done. Ultimately, they switched to a74AHCT125N level shifter and their problem was resolved. This, as it turns out, is AirCookie’s recommended level shifter for WLED projects. Please note that, if you do switch to the 74AHCT, this chip DEMANDS all unused inputs be pulled to ground.

All told, it’s looking like choosing a different level shifter may be your shortest path to success. If I were in your shoes, I would ground the unused inputs and add a pulldown resistor to OE. If this proves unsuccessful, I would switch straight to the 74AHCT125N. Good luck, and keep us posted!

ETA: Looks like you are not applying voltage to the beginning of the strip, only the midpoint and end. I would also try adding 5V and GND to the beginning of the strips, and make sure that I am using a thick enough wire to handle the currents required. Use the “Maximum amps for chassis wiring” Column on this table

Edit2: I see you have a 3m data line, make sure that’s trimmed as short as you conveniently can, and that it isn’t coiled up anywhere. It also might be worth enabling “skip first LED,” which allows the first LED in the string to act as a signal repeater.

Good news! It works perfectly now.
The goal was to change the level shifter.
I tried to do the modifications as mentioned but that doesn’t work at all. I tried a normal level shifter with FET and resistors … also does not work. As I don’t have the 74AHCT125 on hand I keep on searching in my part boxes and finally found an SV74LVC4245A which I use in the past (8 years ago) for level converting with a EDip LCD and ATXMega.

After I add 68R resistors in the data lines everything work as expected.

My schematic was just quick and dirty, the power is applied always to the beginning of the strip (just want to say as it was a question by you).

The only point I need to figure out is that the WLED will not start automatically after applying power, I need to press the boot button.
It is already activated in setup but will not work (0.13b4).
I will try tomorrow with 0.12.

Thank you very much again for your help.

1 Like

Hi guys
I’m experiencing a similar problem
I have a 2d matrix of 25 ledstrip 1mt long (60x25 pixels)
Sk6812
It’s divided in 4 groups for the data, 4 serpentines.
5v and ground are connected at all the left sides.
I was controlling them with an advatek and works.
Then i moved to esp32 vroom 32(38 pin), and they flicker, blinking is a better word. I tryied with a wt32 eth01, and the problem remains.
Playing a single group, as a single line don’t change.
Wled as touchdesigner or madmapper show the content correctly, but flickering a lot. Changing the intensity don’t change.
So i added a resistor to the data, from 470 to 330 to 100 ohm to lower, hoping to see a difference. But nothing changes.
I was working without a level shifter, the one you was using at the beginning, because i has another project with 48 meters of ws2815 and worked better without it. Straight. Works really well. So removed it. Now i’m waiting for the last you mentioned, that solved, to try if depends on that. Will see soon. With a resistor too.
Everything is powered from the same psu. Works with the advatek, works bad with the esps. But esps works good with the ws2815.
I cant understand.
I tryied changing fps, baudrates, limiting brightness, skipping pixels. no way.
Any suggestion would be really really appreciate.
Thanks and have a nice day

Do you have the correct LED type selected? I’m pretty sure SK6812 is RGBW, while WS2815 is RGB, and sending data for the wrong LED type can definitely cause the behavior you’re describing.

The problem, in my case, was the wled version 14.
I went back to v13 and the blink/flickering went away and everytbing started working perfectly.
V14 was flickering with ws2815 and with the sk6812, setting them properly from the wled settings of course.
V13 dont have this problem at all

solved
in this post

Jinx linked me a github link with a perfectly working version of wled, without any blink.