Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error initializing RMT: not able to power down in light sleep #11225

Open
1 task done
moose4lord opened this issue Apr 7, 2025 · 2 comments
Open
1 task done

Error initializing RMT: not able to power down in light sleep #11225

moose4lord opened this issue Apr 7, 2025 · 2 comments
Assignees

Comments

@moose4lord
Copy link

Board

Waveshare ESP32-S3 Matrix

Device Description

The Waveshare ESP32-S3 Matrix has 64 WS2812B LEDs built-in, driven by GPIO 14.

Hardware Configuration

GPIO 14 drives the WS2812B LEDs

Version

v3.2.0

IDE Name

Arduino IDE

Operating System

macOS 15.4

Flash frequency

80MHz

PSRAM enabled

no

Upload speed

460800

Description

After upgrading to arduino=esp32 v3.2.0, when using the Adafruit Neopixel library's simple example sketch to drive WS2812B LEDs, I get this error message and the ESP32-S3 halts:

E (4740) rmt: rmt_new_tx_channel(269): not able to power down in light sleep

If I set USB CDC On Boot: Disabled in the Arduino IDE tools menu, then the problem goes away.

Sketch

#include <Adafruit_NeoPixel.h>

#define PIN       14
#define NUMPIXELS 64

Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800);

#define DELAYVAL 20

void setup() {
  Serial.begin(115200);

  pixels.begin();
}

void loop() {
  pixels.clear();

  for(int i=0; i<NUMPIXELS; i++) {
    pixels.setPixelColor(i, pixels.Color(0, 8, 0));  // green
    pixels.show();
    delay(DELAYVAL);
  }
}

Debug Message

Turning on verbose logging shows this:

[  4871][V][esp32-hal-rmt.c:454] rmtInit(): GPIO 14 - TX MODE - MemSize[48] - Freq=10000000Hz
 [  4871][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type RMT_TX (10) successfully set to 0x42003d2c
[  4879][V][esp32-hal-periman.c:235] perimanSetBusDeinit(): Deinit function for type RMT_RX (11) successfully set to 0x42003d2c
[  4890][V][esp32-hal-periman.c:160] perimanSetPinBus(): Pin 14 successfully set to type INIT (0) with bus 0x0
E (4740) rmt: rmt_new_tx_channel(269): not able to power down in light sleep
[  4907][E][esp32-hal-rmt.c:548] rmtInit(): GPIO 14 - RMT TX Initialization error.
[  4914][V][esp32-hal-rmt.c:142] _rmtDetachBus(): Detaching RMT GPIO Bus
[  4921][E][esp.c:81] espShow(): Failed to init RMT TX mode on pin 14

Other Steps to Reproduce

ESP-IDF v5.4.1 introduced a new rmt_tx_channel_config_t::allow_pd parameter which seems to be related to this error, since the "not able to power down in light sleep" message is mentioned in the v5.4.1 RMT API documentation here:
https://docs.espressif.com/projects/esp-idf/en/v5.4.1/esp32s3/api-reference/peripherals/rmt.html

I have checked existing issues, online documentation and the Troubleshooting Guide

  • I confirm I have checked existing issues, online documentation and Troubleshooting guide.
@moose4lord moose4lord added the Status: Awaiting triage Issue is waiting for triage label Apr 7, 2025
@guooscar
Copy link

guooscar commented Apr 7, 2025

I also encountered the same issue, but when I set build_type = debug, the functionality works correctly.

@SuGlider
Copy link
Collaborator

SuGlider commented Apr 7, 2025

@guooscar @moose4lord - this is the same issue from #11223
Please apply the PR #11203 to fix this issue.

@SuGlider SuGlider self-assigned this Apr 7, 2025
@SuGlider SuGlider removed the Status: Awaiting triage Issue is waiting for triage label Apr 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants