configuration: ESP32 is configured for a 1D LED strip WS281x GRB of 3 LEDs lenght, no off refresh, no 1st led skipping (but the issue is the same with 1st led skipping enabled).
led running on solid orange color.
The Issue I’m facing is that on both PCB if I connect the 3 LEDs strip it works correctly video:WLED solid orange - 3 LEDs strip
while if I connect the 45 LEDs strip the first LED is flickering. video:WLED solid orange - 45 LEDs strip
One more thing: I cutted the first LED and soldered the cable to the second: same issue.
I’m also using my scope to try to find this issue, but the plots for 3 LEDs and 45 LEDs seems to be really similar (the probe is placed at DIN pin of the first LED):
3 LEDs strip (working): controlled by DevKit (LED powered @ 5,0V USB, I/O is about 3,3V)
I’m trying to solve this issue since two weeks of testing. At this point I could say that the issue is not caused by the Level Translator, by the PCB, by the cable or connection, by the first LED.
The custom PCB I made which has SN74LVC2T45 is indipendent battery powered with 4,6 Vout DC/DC. I don’t think that supply could be an assue. Why do you think so?
You are not showing what your PSUs look like. If you have proper PSU with enough A to power your strip and ESP connect that, not 4.6V but full 5V or even 5.1V.
Then use recommended level shifter and if LEDs still flicker disconnect all peripherals from the board and use only ESP, level shifter and LEDs. If it still flickers it may be faulty ESP or faulty LED strip. There are plenty of both.
dear @blazoncek thanks for your reply.
Ill try to answer as well as I can to all your questions:
I have 2 PCB with 2 different PSU:
DevKit is connected to my USB 3.0 PC port
custom PCB has a 4,6V 5A DC/DC converter
Yes, I’m sure that both of ther can power up 3 WS2813 LEDs.
When I power up all the 45 LEDs, the works well, except the first that is flickering.
The issue is the same with 5,0V supply and 4,6V supply. Both board have ESP32 powered at 3,3V.
WS2813 works from 3,7V to 5,5V so a 4,6V level for power supply is not critical (and also there is the same issue with 5,0V supply from USB)
SN74LVC2T45 level shifter is one suggested by WLED faq (and also its signal is clear, by the way I checked it with my scope, its a clear plot).
already done: with 3 LEDs both works, with 45 LEDs the first LED is flickering
I think that it’s rare that 2 different ESP32 could be broken in the same way.
About the LED strip: 3 and 45 came from the same reel. I cutted the 45 removing the 1st LED, now it has 44 and has the same behaviour.
Thanks in advance for your reply, I hope to find the solution!
EDIT:
I also attach a picture of my power supply: from 4,6V up to 5,1V same issue
If LEDs after the first display ok then it is not a WLED issue but the LED strip issue.
If the whole strip flashes (or parts of it) then the cause is in ESP and/or WLED.
Fist LED on WS2813 &WS2815 can (and will) use BI as an input if it decides that DI is not good. It is entirely up to LED IC to do that. What will it display then I do not know.
If you want to check the output of ESP & your board, connect WS2812 strip (which uses a single wire for data but the same protocol as WS2813) and if the flickering on the 1st LED is gone then you have located where the error occurs - WS2813 LED strip.
.
Try NOT using a PC as the USB PS, perhaps a separate 2A USB charger.
Or a separate set of wires to regulated supply at 5V
You want at least a clean 1A 5v supply for the MCU, the shifter won’t load that by any appreciable amount
In general I would power the level shifter with the same power as the MCU.
You might even take the shifter out for now.
Keep the number of variables down to the minimum.
I tested both 3 LEDs and 45 LEDs strips also with an SP107E controller: they works without flickering.
I agree, but there are no strange signals readed with the oscilloscope. Also 45 LEDs strip has BI connected to GND, so if DIN is not goot the 1st led should be OFF.
unfortunatly I don’t have a WS2812 strip. by the way they works well with SP107E.
I already tryed this, using a separate USB 5V 2A charger and also a PSU: you can see in this post
If you’ve “proven” the strip as good with a SP107E, then you might try different (older) versions of WLED and/or different methods of flashing.
A full erase and reload may be warranted.
Have you posted your WLED info page? Looking for heap sizes and or FS memory.
Yes, I’ve tested for at least 3 months. Would you trust me?
I do not agree: if flashing works, it works. By the way, I tried to compile by myself (just to change some defaults) and flashing the original firmware (here).
I did it at least 20 times, every time I tried different config or build: full erase → flash bootloader → flash app.
Dear @blazoncek your are right: I’m frustrated and I’m sorry for that. It’s been 3 weeks of testing and still not working .
I would like to cooperate because I think that WLED is far away better than SP107E and I would like to use it.
At this point I don’t know what other tests I can do ti find the issue. Please could you suggest me some test that I haven’t already do?
Thanks in advance for support
well at first: I have exact the same problem. I was thinking that i am the only one with this problem, but after some googleing i found this thread which describe the exact same issue.
I’ve bought an WS2813 5m LED-Stripe from BTF-Lighting and cut it to 120LED’s.
Some Facts about my Setup:
5V 10A External PowerSupply ( MeanWell )
ESP32 WROOM
120LED-Stripe WS2813
BI Connected to Ground
DI Connected to GPIO2
ESP Ground Connected to power-suppy GND
VIN of ESP connected to power-supply +5V
Stuff that i found:
When the brightness is > 80% with all LEDs on, no flickering of the first LED
When ( brightness > 80% ) i use some effects, the flickering is back
When i switch off, the first led get a random color and stays on
My power supply is powerful enough to drive this, i checked the connection multiple times and use different connections. Nothing helps.
For reference, i will try to flash ESPHome to my ESP and check if i get the same results ( to see if its really an Hardware-Problem )