Small ESP8266/WLED strip keeps rebooting

I’ve made a new ESP8266 based WLED controller to control a small strip of 21 WS2812B LEDs at my desk - designed to be a HA status indicator. It is split into 3 segments of 7 LEDs each.

Whether I have this strip configured as 3 segments or 1 main strip, HA seems to be causing WLED to reboot the controller every few hours. Sometimes this happens more frequently - but typically it’s after 2-3 hours. The result is that the lights lose their previous status, and turn off (as I have WLED set to define and turn off the 3 segments).

When I disable the HA WLED integration for this strip and control the strip independently using WLED’s web interface, the strip remains stable. I can turn on the 3 segments and they remain as set for over 24h without issue. The controller does not reboot.

So it seems to be HA related - as it only happens when I enable the integration. Even if there are no automations or interactions for this strip being called by HA. HA still seems to be causing the controller to reboot on a random basis.

I have 2 similar ESP8266 WLED strips which don’t exhibit this issue and have multi-week uptimes. All are using WLED v0.14.

Does anyone have any ideas how I can troubleshoot this further, please? It’s driving me nuts.

Addition: The controller just rebooted as I was about to post this message. Here are the logbook entries:

I had a similar issue. I connected the esp8266 to a serial port (USB) on a PC and noticed that the reboots where related due the brownout detector. This was power supply related. In my case the usb cable was worn-out.

Is this with one and the same esp8266 or will the problem migrate if you use a different esp8266. If you only swap the esp8266 and the issue remains then you know that it isn’t the esp8266.

1 Like

Thanks for the feedback.

I am powering the ESP8266 with a new (Amazon Basics) USB-C cable - and the problem persists whether it’s powered from the back of my monitor or a dedicated 20W mains adapter (which I purchased as part of my ongoing troubleshooting).

I will first try swapping the USB cable and then try another ESP8266 - I have a couple spare.

What happened finally, did you solve the issue? I am just curious to know what was the culprit.

I am still having problems. I replaced the USB-C cable with a better one and that made no difference.

Today I have replaced the ESP8266 and am experiencing the same problem. Even with a new LED strip (i.e. everything replaced!). Using default D4 (GPIO2) pin it doesn’t boot at all and when using D2 (GPIO4) it boots but then randomly reboots, just like before.

I think I have cracked it!

I added a logic level shifter, which converts the 3.3V control pin to 5V. This allowed me to move back to using the default D4 (GPIO2) pin and everything has worked fine since (configured with segments and in frequent use with an automation).

I had assumed that a logic level shifter was only needed for longer strips or those that were some distance from the controller, but think I’ll include one in every controller I build from now on.

1 Like

Good to know!
I have a couple wleds without level shifter and are working as expected. Some time ago I ordered five level shifter but havent integrated them yet out of laziness (and because i ordered them i2c and those are not recommended).

FYI I bought i2c shifters and they work fine on 2 strips I’ve included them on.

1 Like

This post was a huge help for me on WLED shifters: Logic Level Shifters for Driving LED Strips – Electric Fire Design

I used those i2c shifters for a while but they performed worse and worse in terms of smoothness over time. I went for the TC option #4 at the end of that article and made some PCBs for all my strips, the smoothness is really noticeable.

1 Like