Skip to content

LED data corruption with RMT driver #4389

Description

@jasondostal

What happened?

After upgrading a QuinLED-Dig-Quad to WLED 0.15.0, LED segments on GPIOs 1 and 16 experience significant noise and flashing. An LED segment on GPIO 3 operates fine without any issue.

Segment 1 GPIO 3 - 629 LEDs
Segment 2 GPIO 1 - 161 LEDs
Segment 3 GPIO 16 - 171 LEDs

This particular setup has been running flawlessly for just over 3 years. The issue was immediately resolved by downgrading to WLED 0.14.3.

To Reproduce Bug

  • Upgrade a QuinLED-Dig-Quad to WLED 0.15.0
  • Activate any preset or animation
  • Flashing/Noise is prominent on LED segments on GPIO 1 and 16

Expected Behavior

  • No noise/flashing on any LED segment

Install Method

Binary from WLED.me

What version of WLED?

WLED 0.15.0 2412100

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

I don't have any logs at the moment, I have since downgraded to WLED 0.14.3.  However, I would be more than happy to re-upgrade and capture any logs/traces/configs that would aid in troubleshooting.

Anything else?

This appears to be similar to report #3976. That was submitted for 0.15.0b2 and not the full release however.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Activity

  1. blazoncek commented on Dec 13, 2024

    @blazoncek
    Contributor

    GPIO 1 & 16 will use RMT. RMT is susceptible to flickering in some circumstances.
    0.15 added a lot of code that may make those circumstances more frequent.

    GPIO 3 uses I2S.

  2. blazoncek commented on Dec 14, 2024

    @blazoncek
    Contributor

    If you want to test (and help with resolving) set up more than 4 outputs with less than 300 pixels each and report.

  3. eMeF1 commented on Dec 14, 2024

    @eMeF1

    I encountered the same issue after upgrading to 0.15.0. There are 182 LEDs on GPIO 16, which are set to a solid orange-ish RGB[115,74,0] color. It's not apparent on solid white. I have a couple of dig2analog on GPIO 3, but I did not test whether the issue is also there. After downgrading to 0.14.3, the random flickering (every 30-60 seconds) issue is gone.

  4. blazoncek commented on Dec 14, 2024

    @blazoncek
    Contributor

    Periodic issue leads me to believe this may be network related.

  5. kylewilliams321 commented on Dec 14, 2024

    @kylewilliams321

    Same issue from me and similar setup as original reporter

  6. intermittech commented on Dec 14, 2024

    @intermittech
    Contributor

    If needed I can build a quick test setup and can troubleshoot on Discord too, apologies this made it through the beta somehow, I had not noticed in on any testing setups I had before. Let me know if you need anything!

  7. blazoncek commented on Dec 14, 2024

    @blazoncek
    Contributor

    Please test a set-up with at least 6 outputs (WS281x). You do not need to have actual LEDs connected or GPIOs attached. It is important to have GPIO 1, 3 & 16 as first 3 outputs and each output must not exceed 300 LEDs

  8. dokalma commented on Dec 14, 2024

    @dokalma

    I had exactly the same problem on my digquad pushing 824 seedpixels per channel.

    Went back to 14.3 and all was good

  9. Jean-Luc-Hauser commented on Dec 14, 2024

    @Jean-Luc-Hauser

    Same issues with the Quad and 12V WS2815 on version 0.15 : heavy noises and flickering with effects such as Dancing Shadows.

    GPIO 3 - 152 LEDs (60/m)
    GPIO 16 - 356 LEDs (144/m)
    GPIO 15 - Relay

    I have a 5V PS for the relay and the Quad board and 12V for the LEDS through the board.

    And I was not able to use the relay (GPIO 15) since it was taken by the I2S audio interface.

    I have 2 GLEDOPTO GL-C-015WL-M controllers that have no issues with the 0.15 release. I went back to 0.14.3 for now, was scared to damage the LEDs

  10. blazoncek commented on Dec 14, 2024

    @blazoncek
    Contributor

    with 6 outputs or more, 1st 8 are using I2S (parallel)
    with 5 or less, 1st is using I2S (single) and 4 are using RMT.
    may notify @Makuna if he has any clue what's different in NPB 2.8.0 compared to 2.7.4 in 0.14.4 regarding RMT

  11. travi commented on Dec 14, 2024

    @travi

    I ran into what this sounds like with one of my digunos. I'm currently running 3 digunos and one digquad, but only saw this on one diguno and was able to fix it by swapping the esp from a spare diguno.

    A detail that I noticed was unique on that instance was that I had the output order switched around so that the first output was mapped in wled as gpio 3 and the second to gpio 16 instead of the other way around, for whatever reason.

    I imagine swapping the esp worked in my case only because that one had the outputs orders as gpio 16 then 3.

  12. promess commented on Dec 14, 2024

    @promess

    I'm dealing with this same issue, except it's on a single ESP32. There are 260 LEDs in this configuration, all of which are in GPIO 16.

    it's only the last section where I'm adding power back in after a split and it's after that point that the LEDs are misfiring. I've posted video of it flashing blue and red after a few minutes in the discord channel. It was working fine in 14.4. I'm not sure if I'm sending too much power and the additional power is fucking with it or something. Let me know if there's anything you need me to do.

  13. blazoncek commented on Dec 15, 2024

    @blazoncek
    Contributor

    FWIIW I'm using Dig-Quad with 16 (465), 1 (270), 3 (15) - in that order - with no flickering whatsoever.
    Using generic ESP32 in Wemos D1 Mini size packaging from aliexpress.

    EDIT: If anyone wants to test, here is my build with newer NPB 2.8.3.

  14. Makuna commented on Dec 15, 2024

    @Makuna

    with 6 outputs or more, 1st 8 are using I2S (parallel) with 5 or less, 1st is using I2S (single) and 4 are using RMT. may notify @Makuna if he has any clue what's different in NPB 2.8.0 compared to 2.7.4 in 0.14.4 regarding RMT

    The only real change with RMT between those versions is the ability to compile using IDF5. This was just some minor headers include changes to react to the IDF change but still outputs warnings about deprecated API use.
    Did you turn on ESP32 core debug errors/warnings/info level to see if anything shows up in the debug output?

  15. 70 remaining items

  16. kylewilliams321 commented on Aug 3, 2025

    @kylewilliams321
  17. marked ESP32-S3 Flicker #4993 as a duplicate of this issue on Oct 9, 2025
  18. intermittech commented on Nov 12, 2025

    @intermittech
    Contributor

    For people who want to test the RMT High Priority Interrupt Driver, it's integrated into the recently released WLED v0.15.2-beta1! The WLED github doesn't have pre-compiled binaries right now it seems but we have made some for the QuinLED boards (or generic, the binaries are just pre-configured) if you want to give it a try!

  19. sintei commented on Nov 24, 2025

    @sintei

    For people who want to test the RMT High Priority Interrupt Driver, it's integrated into the recently released WLED v0.15.2-beta1! The WLED github doesn't have pre-compiled binaries right now it seems but we have made some for the QuinLED boards (or generic, the binaries are just pre-configured) if you want to give it a try!

    I went from 13 to latest beta release and immediately had the flickering. Checked everything before googling and arriving here. I also tried precompiled binaries from you, but it's the same thing with the flickering.
    Note, I also tried 33ohms switches.

  20. intermittech commented on Nov 24, 2025

    @intermittech
    Contributor

    For people who want to test the RMT High Priority Interrupt Driver, it's integrated into the recently released WLED v0.15.2-beta1! The WLED github doesn't have pre-compiled binaries right now it seems but we have made some for the QuinLED boards (or generic, the binaries are just pre-configured) if you want to give it a try!

    I went from 13 to latest beta release and immediately had the flickering. Checked everything before googling and arriving here. I also tried precompiled binaries from you, but it's the same thing with the flickering. Note, I also tried 33ohms switches.

    Have you tried with I2S parallel too?

  21. sintei commented on Nov 27, 2025

    @sintei

    For people who want to test the RMT High Priority Interrupt Driver, it's integrated into the recently released WLED v0.15.2-beta1! The WLED github doesn't have pre-compiled binaries right now it seems but we have made some for the QuinLED boards (or generic, the binaries are just pre-configured) if you want to give it a try!

    I went from 13 to latest beta release and immediately had the flickering. Checked everything before googling and arriving here. I also tried precompiled binaries from you, but it's the same thing with the flickering. Note, I also tried 33ohms switches.

    Have you tried with I2S parallel too?

    I use pin 16, 3 and 4 in that order.
    Each pin consists of 384 leds.
    And I use the audiomicrophone as well.
    The dig-quad is behind a barrier and for me to get in there to change physical pins is not something I'd rather do unless this is the only solution.
    As of now, 14.3 works fine so I'll keep it until issue is resolved by all you smart people :)

  22. ywwg commented on Dec 1, 2025

    @ywwg

    I reassigned the I2S pins according to this reddit comment and it worked: https://www.reddit.com/r/WLED/comments/1hbsc2u/comment/m1r64cz/

    I2S SD to port 17, I2S WS to ports 32 and I2S SCK to port 33

  23. intermittech commented on Dec 2, 2025

    @intermittech
    Contributor

    For people who want to test the RMT High Priority Interrupt Driver, it's integrated into the recently released WLED v0.15.2-beta1! The WLED github doesn't have pre-compiled binaries right now it seems but we have made some for the QuinLED boards (or generic, the binaries are just pre-configured) if you want to give it a try!

    I went from 13 to latest beta release and immediately had the flickering. Checked everything before googling and arriving here. I also tried precompiled binaries from you, but it's the same thing with the flickering. Note, I also tried 33ohms switches.

    Have you tried with I2S parallel too?

    I use pin 16, 3 and 4 in that order. Each pin consists of 384 leds. And I use the audiomicrophone as well. The dig-quad is behind a barrier and for me to get in there to change physical pins is not something I'd rather do unless this is the only solution. As of now, 14.3 works fine so I'll keep it until issue is resolved by all you smart people :)

    Actually something you could try is changing that order, make GPIO16 not the first in the list, it would be interesting to see what that changes, if you are up for a bit of experimenting!

  24. sintei commented on Dec 3, 2025

    @sintei

    For people who want to test the RMT High Priority Interrupt Driver, it's integrated into the recently released WLED v0.15.2-beta1! The WLED github doesn't have pre-compiled binaries right now it seems but we have made some for the QuinLED boards (or generic, the binaries are just pre-configured) if you want to give it a try!

    I went from 13 to latest beta release and immediately had the flickering. Checked everything before googling and arriving here. I also tried precompiled binaries from you, but it's the same thing with the flickering. Note, I also tried 33ohms switches.

    Have you tried with I2S parallel too?

    I use pin 16, 3 and 4 in that order. Each pin consists of 384 leds. And I use the audiomicrophone as well. The dig-quad is behind a barrier and for me to get in there to change physical pins is not something I'd rather do unless this is the only solution. As of now, 14.3 works fine so I'll keep it until issue is resolved by all you smart people :)

    Actually something you could try is changing that order, make GPIO16 not the first in the list, it would be interesting to see what that changes, if you are up for a bit of experimenting!

    That's the least thing I can do!
    I changed and set the order with 16 being in second or third "place". Unfortunately still issues.
    Downgraded again.

  25. intermittech commented on Dec 4, 2025

    @intermittech
    Contributor

    For people who want to test the RMT High Priority Interrupt Driver, it's integrated into the recently released WLED v0.15.2-beta1! The WLED github doesn't have pre-compiled binaries right now it seems but we have made some for the QuinLED boards (or generic, the binaries are just pre-configured) if you want to give it a try!

    I went from 13 to latest beta release and immediately had the flickering. Checked everything before googling and arriving here. I also tried precompiled binaries from you, but it's the same thing with the flickering. Note, I also tried 33ohms switches.

    Have you tried with I2S parallel too?

    I use pin 16, 3 and 4 in that order. Each pin consists of 384 leds. And I use the audiomicrophone as well. The dig-quad is behind a barrier and for me to get in there to change physical pins is not something I'd rather do unless this is the only solution. As of now, 14.3 works fine so I'll keep it until issue is resolved by all you smart people :)

    Actually something you could try is changing that order, make GPIO16 not the first in the list, it would be interesting to see what that changes, if you are up for a bit of experimenting!

    That's the least thing I can do! I changed and set the order with 16 being in second or third "place". Unfortunately still issues. Downgraded again.

    Interesting, this seems to be a different kind of bug/issue then since before that would resolve or at least move the issue. Hmm...

  26. Jivemofo commented on Jan 2, 2026

    @Jivemofo

    Still experiencing this issue on 0.15.3 with a specific configuration:
    Hardware: QuinLED Dig-Uno (ESP32) with WS2812B 100-LED fairy lights
    Configuration that causes flicker:

    Single output on GPIO 16
    Integrated with Home Assistant (WLED integration) and LedFX (UDP)
    Flicker appears as random multicolored pixels, even on solid color presets

    What I've ruled out:

    Not hardware — tested multiple power supplies, re-wired connections
    Not the GPIO pin itself — same flicker follows when switching to GPIO 3 as sole output
    Not the presets JSON — deleted all presets, flicker persists

    Workaround that works:

    Adding a dummy output as output 1 (GPIO 16: Length 1, Skip 1) eliminates the flicker entirely on output 2.
    With two outputs configured, the actual LEDs on GPIO 3 work perfectly

    Key observation:
    The flicker only occurs when using a single output configuration (and possibly combined with external integrations (HA polling + LedFX UDP streaming)). Adding any second output — even a dummy one — resolves it completely.
    This suggests the RMT/I2S driver selection or buffer handling behaves differently with single vs. multiple outputs, and the single-output path still has issues under network load.

    This comment was drafted with assistance from Claude AI, with human oversight and review.

  27. DedeHai commented on Jan 3, 2026

    @DedeHai
    Collaborator

    @Jivemofo this is not related to this issue, the first output uses I2S which is not influenced by network traffic. What this does show however is the core of most if not all reported flickering issues with 0.15.3 and 0.16: the timings of I2S and RMT are not identical. While both are well within specification of most LEDs, adding cables and a whole bag of LED revisions, manufacturers and production tolerances can make I2S or RMT a better timing choice, fully depending on the specific setup. This is an unsolvable issue without adding more bus types with different timing options. What those options should be is still not entirely clear to me as there are just too many contradicting reports. I may just take a stab at it at random.

  28. Jivemofo commented on Jan 3, 2026

    @Jivemofo

    @DedeHai ahh, that makes a lot of sense, thank you for your insight. I was really scratching my head on what was going on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions