WS2812FX library ESP32 not work

Hi everyone,
I have a problem and I don't know what's causing it.
I'm using the WS2812FX library with an ESP8266. I have code written on it and would like to port it to an ESP32.
I've tried the examples from the library, but they don't work either. The ESP32 keeps resetting.
Please help.
I'm testing on an ESP32S3 and an ESP32C6.

ESP-ROM:esp32s3-20210327
E (236) rmt(legacy): CONFLICT! driver_ng is not allowed to be usE (241) rmt(legacy): CONFLICT! driver_ng is not allowed to be used with the legacy driver

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


Backtrace: 0x40375cd5:0x3fceb1e0 0x4037ddd5:0x3fceb200 0x4038489d:0x3fceb220 0x42057a97:0x3fceb2a0 0x4202242a:0x3fceb2c0 0x403760be:0x3fceb2f0 0x403ccbf5:0x3fceb340 0x403ccfb1:0x3fceb380 0x403c8925:0x3fceb4b0 0x40045c01:0x3fceb570 0x40043ab6:0x3fceb6f0 0x40034c45:0x3fceb710

ELF file SHA256: 2c3bf2b5a

E (269) esp_core_dump_flash: Core dump flash config is corrupted! CRC=0x7bd5c66f instead of 0x0
E (278) esp_core_dump_elf: Elf write init failed!
E (282) esp_core_dump_common: Core dump write failed with error=-1
Rebooting...
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)

It appears it depends on the adafruit_neopixel library.
That appears to be using the RMT peripheral on an ESP32.
The changes between core 2 & core 3 for the ESP32 for the RMT driver in particular are such that the implementation really is completely different. (and for core 3, below 3.2.1 the RMT driver is actually broken)

What ESP32 core are you using ?

1 Like

Is there any chance to solve this problem?

There is information on github that the library was tested on esp32

Do I understand the core correctly?

No.

You should go to Tools->Board->BoardManager and look up the ESP32 by Espressif.

The ESP32 will by default be installed with the most recent version, but you should be able to roll-back to previous versions if you want.

Yes but not for which core. I saw some indication within the adafruit_neopixel library that the most recent version was intended for IDF 5(major) which indicates it was meant to run on core 3.x.x, but you may need to experiment.

1 Like

I updated the Adafruit Pixel library. I had 1.10 and now 1.15, but nothing helped.

well for the ESP32 core i suggest you update to v3.3.0 (or 3.2.1 at least)
The library is expecting IDF 5 (core 3) but before 3.2.1 the RMY driver was broken.

Ah hold on, that is not the correct package, that is for Arduino-ESP32 boards like the Nano-ESP.

Look for the other installed ESP32 core.

1 Like

Solved

I decided to give it a try and installed board 3.3.3.
It works! Thank you very much for your help.

Yes that was my suspicion.

Can you tell me what board core version you had installed before ?

I had version 2.0.17

1 Like

Ok thank you, yes the implementation of the RMT driver in core 2 is completely different and not compatible with core v 3

1 Like