ESP32 / WEMOS D1 Erroneous functions with 5V Stripes

Hello all,

I got the following LED strips:

  1. LED String WS2812B RGB Traum Farbe Geburtstag Dekoration Party Lichter Zimmer Led Licht Adressierbare Einzeln Wasserdichte IP67 DC5V|LED Strips| - AliExpress
  2. DC5V USB LED Dekorative Licht String Für Schlafzimmer WS2812B RGB Led leuchten Bluetooth Volle Farbe Adressierbare Einzeln|LED Strips| - AliExpress

First I tested both LED strips on an ESP32. Unfortunately without satisfying result. The following errors occurred:
For Stripe 1):
On the first LED there is a permanent fault (flashing in all colors).
At Stripe 2):
There is a permanent malfunction of the stripes (colors can be changed only conditionally - some LED points change their color others do not change them. Effects are also played only conditionally.
At first I suspected a defect of the stripes.
Afterwards I tested the same strips with a WEMOS D1 mini pro (ESP8266 with external antenna) and found out that they both work without problems.

Both tests were tested with the current 0.13.0-b6 and the stripes are connected at the default Pins.

Do you have for this possibly an explanation of how this comes about?

Yes, you have bad LEDs or connection problems. Please post some photos.

I would understand that if it would not work with both ESPs (ESP8266 and ESP32) but with the ESP 8266 they work directly.
I will try to make some photos about the errors.

How did you flash the ESP32?
Try to reload it from scratch with the Web Installer:

I have flashed with Visual Studio code.
But I have also just programmed via the Web Installer.
Unfortunately without improvement.

In a way I am actually having a similar issue. ESP8266 had been working great for a long while but the software was complaining that I had too many LED (1200) even though it worked fine outside of maybe a little slowdown in transitions and stuff like that. It’s used on a front porch so honestly it doesn’t matter to me. I came across some ESP32’s and figured I may as well flash one and use it instead. Set it up today and have had NOTHING but problems. Every time I try to make a change in the software it hangs, like literally in the middle of a sequence it will just stop.

I found out the NodeMCU32’s do not like GPIO12 being used very much. I switched the relay to GPIO13 and problems were solved. If you are using a relay that could be an issue.

Thanks for the idea.
Unfortunately, I do not use a relay. But only the direct output and GND. Power supply comes from external.
I have also tested to put a SN74AHCT between stripe and ESP. Also without success.
With ESP8266 there are no problems with or without level shifter, with ESP32 the problems persist.

How did you flash them? ESPHome Flasher does not handle the filesystem properly and could be the issue. Check the Info panel for filesystem size.

Flashing was tested via several versions: the ESP Home flasher, Visual Studio Code, Flash Tool from espressif and via the WLED web installer.
Unfortunately, the error occurs everywhere.

Post photos as requested.

I will take some pictures tomorrow and upload then.
Have currently unfortunately only a video with a rather poor quality where the stripe but can be seen and the error is recognizable.


Sadly, videos of symptoms don’t help.

Connected on GPIO 16 and GND
Other GPIOS were tested, unfortunately the same error.

It mainly concerns the first LED. In between, individual LEDs in the string also flicker.

The pictures were taken within a few seconds.

I suspect a number of possible causes:
Insufficient power from USB port. Try turning the brightness way down, see if that helps or changes things.
Power the MCU and/or the strip from a separate 5V power supply capable of at least 3A.

You might need a level shifter to bring the ESP32 output up to 5V. It’s possible the first LED is acting as a “sacrificail pixel” and getting things up to the needed voltages.

The first LED is bad.

Regarding the first approach:
The stripe was supplied with an external power supply 5V 8A from Meanwell LPV-60-5 and is only connected to the MCU with GND and the GPIO.

On the second point:
I will also test this again with a new level shifter, however this test was already done with a level shifter (74AHCT125) and did not improve.

To point 3:
The first LED is not defective, because the same stripe, without level shifter, the same power supply and an ESP8266 works without problems.

This is the whole thing I do not understand.


If it works properly with an 8266, then I’d focus on an issue with the ESP32. The first things that jump to mind are a bad flash or a bad board. You might try a full wipe and reload from the web installer. Can you post the Info page from the WLED Gui?

Yes, I have already thought about that.
I have already tested this over several ESP32.
Also different flash methods were used (see previous post).

The curious thing is that this stripe (WS2811) and this stripe (WS2812b / SK612) work with the same ESP32.
But the above LEDs do not.

Very odd behaviour indeed. Almost sounds like a timing issue with that stripe.

When you added a level shifter, did you make sure to ground out the unused inputs and use a 100nF bypass capacitor? Also, the shifter should be powered from 5V only.

I will now test the level shifter again and pull all unused inputs from GND as described.
I have not done that so far.

The 100nf should be between GND and V+ of the strip?

No the 100nF goes between +5 and Gnd close to the level shifter to bypass switching noise.
You definitely don’t want any floating inputs with the shifter, they must be tied to a fixed value - Gnd is often most convenient.