LED Flicker if segments are active only

HI Guys,

I have an issue with on of my WLED projects.
I’m using an ESP32 that controls a WS2815 LED Strip which is 192 Pixels long.

When I activate an animation on the total strip (no segments active/segment 0 only) all animations and lights work fine.
As soon as I activate only one segment and activate an animation (Anything else then solid light) I see yellow flashes.

During testing I could observe that these yellow flashes directly correlate with the current setup FPS. If I reduce the FPS to 1 the yellow flash is also visible once per second. If I increase the FPS to 2 I see it every (aprox.) 500ms.

Beside this I also tested the following things:

  • Tested multiple GPIOs on the ESP32
  • Levelshifter, no levelshifter or both between ESP32 DataOut Pin and Stripe DataIn Pin
  • Tested multiple Grounding scenarios (ESP32s ground is connected directly to stripe ground)
  • Tested different WLED versions
  • Tested different ESP32s
  • Tested different PowerSupplies (The whole system is driven over an USB-C PD 12V power supply. Tested differen PS. One of them is an apple MacBook charger)
  • Data wires are short
  • Tested different LED Strips
  • Tested different LED Strip lenght (also visible at 16 pixels lenght only)
  • Tested this at different brightness values

Do you have any Idea what could the cause here? For me it looks like a software issue. But it’s a bit improbable that I’m the first one recognizing such an obious issue. So yeah, I’m open for any ideas here. :slight_smile:

Thanks in advance and best regards
Fab

Very probably a software issue.

What version of WLED are you running?

Right now 0.13.3 but also tried 0.13.1 and 0.14.1-b1 (Actually I tried all releases that are avilable via https://install.wled.me/)
Additionally I also tried the compiled version based on the current main-branch (with usermod staircase activated).

I’d stick with 0.14.1-b1.
You might try a full erase and reload from scratch.
Then build up a small version (say 50 pixels) and experiment 1 step at a time to reproduce the problem.

Ooops - rereading your original post, I see you’re powering via a USB adapter.
Get a proper power supply, USB based stuff is suitable for running the ESP32 by itself (perhaps).
The LEDs are very power hungry in comparison and can cause drops in supply voltage that cause unexpected glitches.
Try and keep your LED power separate from your MCU power, but with a common ground.

Thanks for your ideas. :slight_smile:

Yes its a USB(-C) Power supply but using PowerDelivery. Therefore this power supply can deliver up to 36W with the 12V/3A PDO. (I’m using the WS2815 strips which are 12V powered). The ESP32 is powered via a buck converter from the 12V rail.

Additionally I see the issue when there are only 16 Pixels connected to the power supply. So power shouldn’t be a problem from my point of view. :slight_smile:

To the full erase proposal: I could repliacte this issue with multiple ESP32 boards. two of them where “fresh from the bag” and I did the initial erase before programming via the WLED installer. :slight_smile:

Do you have any other ideas? :slight_smile:

Best regards
Fab

I would still try a completely different power supply for the MCU and LEDs.
Also try setting your brightness down to 30% to limit power draw.
The buck converter is fine on the MCU side, but eliminating power coupled glitches can be very tricky.

For WS2815s, what are you doing with the first pixel BI (backup data in) line?
I think the specs call for it to be grounded.

From the software side, when you did a fresh load of the ESP-32s, did you build the segments/effects from scratch or reload a config from the previous units?
It’s possible a config glitch is causing unexpected results.

Okay, I will try that.

The first Pixel B1 is connected to ground.

I did both. First tried with the loaded presets from a config file but also created fresh settings. This issue is also visible as soon as only two segments are defined. :slight_smile: