Skip to content

ESP32 default method uses "legacy" RMT driver, conflicting with some cores #815

Open
@egnor

Description

@egnor

Describe the bug
With some cores, such as esp32s3 (for the Espressif ESP32-S3 dev board), simply referencing a default-method NeoPixelBus in the code (not necessarily actually using it!) causes a boot loop with an error message like this

ELF file SHA256: d2dd9a167d544b2f

Rebooting...
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0x9 (SPI_FAST_FLASH_BOOT)
Saved PC:0x40378489
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3818,len:0x508
load:0x403c9700,len:0x4
load:0x403c9704,len:0xad0
load:0x403cc700,len:0x29e4
entry 0x403c9880
E (98) rmt(legacy): CONFLICT! driver_ng is not allowed to be used with the legacy driver

abort() was called at PC 0x4200f903 on core 0

Backtrace: 0x40377e76:0x3fceb200 0x4037c8a5:0x3fceb220 0x4038241d:0x3fceb240 0x4200f903:0x3fceb2c0 0x4201354a:0x3fceb2e0 0x4037817b:0x3fceb310 0x403cd852:0x3fceb340 0x403cdafe:0x3fceb380 0x403c98d5:0x3fceb4b0 0x40045c01:0x3fceb570 0x40043ab6:0x3fceb6f0 0x40034c45:0x3fceb710

To Reproduce
Steps to reproduce the behavior:

  1. Create a simple sketch using NeoWs2812xMethod
  2. Add https://espressif.github.io/arduino-esp32/package_esp32_index.json to "additional board manager URLs"
  3. Select the "ESP32S3 Dev Module" board
  4. Compile, upload, run

Expected behavior
Sketch runs as usual.

Development environment (please complete the following information):

  • OS: Ubuntu 24.04 LTS
  • Build Environment - arduino-cli 1.0.2
  • Board target - ESP32-S3
  • Library version - 2.8.0

Additional context
I believe this is why this happens:

Metadata

Metadata

Assignees

No one assigned

    Labels

    active developmentThis issue is a primary item I am actively working on. Interested testers add a comment.bug

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions