Sparkfun Thing Plus ESP32-S3 Fails After Good Compile and Download

I just received my Thing Plus ESP32-S3. When first powered, the RGB LED faded between colors.
I set the board and settings following the instructions on the “Arduino Examples” page. I doubled check the board types and made sure the changed settings matched. I left all other setting as is.
I tried the “RGB Example” and it compiled and downloaded without error.
The board did not work properly after the download. The RGB LED was a steady green.
I opened the Serial Monitor and got a rapidly repeating error message. It appears the this line in the error message shows the problem:

E (137) rmt(legacy): CONFLICT! driver_ng is not allowed to be used with the legacy driver

Can you help me fix this problem?

Thanks very much for your help.

The full serial output is below:

Rebooting…
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0x18 (SPI_FAST_FLASH_BOOT)
Saved PC:0x40378071
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3818,len:0x109c
load:0x403c9700,len:0x4
load:0x403c9704,len:0xb50
load:0x403cc700,len:0x2fd0
entry 0x403c98ac
E (137) rmt(legacy): CONFLICT! driver_ng is not allowed to be used with the legacy driver

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

Backtrace: 0x40377a5e:0x3fceb200 0x4037c8dd:0x3fceb220 0x40382471:0x3fceb240 0x4200920b:0x3fceb2c0 0x4200cee6:0x3fceb2e0 0x40377d63:0x3fceb310 0x403cdb0a:0x3fceb340 0x403cdea1:0x3fceb380 0x403c9919:0x3fceb4b0 0x40045c01:0x3fceb570 0x40043ab6:0x3fceb6f0 0x40034c45:0x3fceb710

ELF file SHA256: 126c11852c22b594

E (166) esp_core_dump_flash: Core dump flash config is corrupted! CRC=0x7bd5c66f instead of 0x0
E (174) esp_core_dump_elf: Elf write init failed!
E (179) esp_core_dump_common: Core dump write failed with error=-1

The error you’re encountering is related to a conflict between different versions of the RMT (Remote Control) driver in the ESP32-S3. The message “CONFLICT! driver_ng is not allowed to be used with the legacy driver” suggests that there’s a mismatch between the driver versions being used.

To resolve this issue, you can try the following steps:

  1. Update your ESP32 Arduino core:
    Make sure you have the latest version of the ESP32 Arduino core installed. You can do this by:

    • Opening the Arduino IDE
    • Going to Tools > Board > Boards Manager
    • Searching for “esp32”
    • Updating to the latest version
  2. Check your code for RMT usage:
    If you’re using any RMT-related functions in your code, make sure you’re consistently using either the legacy or the new generation (ng) version, not both.

  3. Modify the Arduino JSON files:
    If the problem persists, you might need to modify some configuration files:

    a. Locate the Arduino15 folder:

    • On Windows: C:\Users[YOUR_USER_NAME]\AppData\Local\Arduino15
    • On macOS: ~/Library/Arduino15
    • On Linux: ~/.arduino15

    b. Navigate to packages/esp32/hardware/esp32/[VERSION]/tools/sdk/esp32s3/include/driver/

    c. Open the file “rmt_types_legacy.h” in a text editor.

    d. Look for a line that says:

    #define SOC_RMT_CHANNELS_PER_GROUP (4)
    

    Change it to:

    #define SOC_RMT_CHANNELS_PER_GROUP (1)
    

    e. Save the file and try uploading your sketch again.

  4. Use a different LED library:
    If you’re using a specific LED library that might be causing this conflict, try using a different one or implement the LED control manually.

  5. Check board settings:
    Ensure that you have selected the correct board in the Arduino IDE:

    • Tools > Board > ESP32 Arduino > ESP32S3 Dev Module
    • Verify that other settings like
  • USB Mode: Hardware CDC and JTAG
  • USB CDC on Boot: Enabled
  • Upload Mode: UART0 / Hardware CDC
  • PSRAM: QSPI PSRAM
    are all set
  1. Try a simple blink sketch:
    If the problem persists, try uploading a simple blink sketch without using the RGB LED to see if the board is functioning correctly otherwise

This was not a program I wrote but the “RGB LED Example” sketch provided on the Sparkfun Thing Plus ESP32-S3 examples page at:
https://docs.sparkfun.com/SparkFun_Thing_Plus_ESP32-S3/arduino_example/#thing-plus-esp32-s3-github-repository

This sketch was written by:

  By: Nathan Seidle
  SparkFun Electronics
  Date: January 13, 2024

I verified that my ESP32 board was the latest revision 3.0.4. I also made sure all the libraries were up to date including the FastLED library at revision 3.7.7.

I could not find the json file you mentioned at the path:
“C:\Users[YOUR_USER_NAME]\AppData\Local\Arduino15”
so I was unable to modify:
#define SOC_RMT_CHANNELS_PER_GROUP (1)”

I did verify that the blink sketchran correctly but the LED did not blink since only the RGB LED was present. I added some print statements and verified the code was executing properly.

Could you check with Nathan and see if he has any suggestions to get his sketch to work.

I have some additional information.
The problem appears to be in the FastLED library. I get the same error with several of the example sketches supplied with this library.
I tried using the “Adafruit NeoPixel” version 1.12.3 library based on a Google suggestion and this library appears to work.
There appears to be several libraries that are variants of the FastLED library. I am using version 3.7.7 which is the latest Arduino update.
Could you tell me which version of the FastLED library Nathan used?