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?

1 Like

Going purely by the date (Jan 2024) my first guess is 3.6 - try that and see if it improves things…not sure if you’d need the ESP-IDF from that same time period or not (4.7?)

Give those a try as a last resort and I’ll try to poke Nathan if that doesn’t work :slight_smile:

I first tried using FastLED version 3.7.7 with an original ESP32 chip in a DOIT ESP32 DEVKIT V1. The program compiled and loaded into to board without error. All I got was the ESP32 boot messages followed by my starting println(). I did not get any run time errors. I did not have a WS2812B to test that the board was generating the correct output but things looked good.

I next downgraded my FastLED library to version 3.6.0 and tried to compile the sketch. I got a large number of errors having to do with missing variables, etc. I tried FastLED version 3.6.0 with both the ESP32-S3 and the ESP32. Both gave similar error messages except that the ESP32-S3 had two additional blocks of error messages toward the end of error messages.

It is likely that I would need to downgrade a number of libraries and possibly the board definitions to get FastLED version 3.6.0 to compile.

I have attached the ESP32-S3 error messages for FastLED version 3.6.0 below. I can send the ESP32 error message if you would like.

Sincerely,

Ken West

---------------------------- FastLED Version 3.6.0 Compile Errors for ESP32-S3 -----------------------

In file included from C:\Users\kenw\Documents\Arduino\libraries\FastLED\src/FastLED.h:75,
from C:\Users\kenw\Documents\Arduino\ESP32S3\Sparkfun\Sparkfun Thing Plus - ESP32-S3\RGB_LED_ESP32S3\RGB_LED_ESP32S3.ino:23:
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src/fastspi.h:157:23: note: ‘#pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output’
157 | # pragma message “No hardware SPI pins defined. All SPI access will default to bitbanged output”
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\noise.cpp: In function ‘void fill_raw_2dnoise8(uint8_t*, int, int, uint8_t, q44, fract8, int, uint16_t, int, uint16_t, int, uint16_t)’:
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\noise.cpp:623:100: error: ambiguous overload for ‘operator*’ (operand types are ‘q44’ {aka ‘q<unsigned char, 4, 4>’} and ‘int’)
623 | fill_raw_2dnoise8(pData, width, height, octaves-1, freq44, amplitude, skip+1, xfreq44, freq44 * scalex, yfreq44, freq44 * scaley, time);
| ~~~~~~ ^ ~~~~~~
| | |
| | int
| q44 {aka q<unsigned char, 4, 4>}
In file included from C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\pixeltypes.h:7,
from C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\controller.h:9,
from C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\FastLED.h:57,
from C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\noise.cpp:6:
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:909:14: note: candidate: ‘uint32_t q<T, F, I>::operator*(uint32_t) [with T = unsigned char; int F = 4; int I = 4; uint32_t = long unsigned int]’
909 | uint32_t operator*(uint32_t v) { return (vi) + ((vf)>>F); }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:911:14: note: candidate: ‘uint16_t q<T, F, I>::operator*(uint16_t) [with T = unsigned char; int F = 4; int I = 4; uint16_t = short unsigned int]’
911 | uint16_t operator*(uint16_t v) { return (vi) + ((vf)>>F); }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:913:13: note: candidate: ‘int32_t q<T, F, I>::operator*(int32_t) [with T = unsigned char; int F = 4; int I = 4; int32_t = long int]’
913 | int32_t operator*(int32_t v) { return (vi) + ((vf)>>F); }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:915:13: note: candidate: ‘int16_t q<T, F, I>::operator*(int16_t) [with T = unsigned char; int F = 4; int I = 4; int16_t = short int]’
915 | int16_t operator*(int16_t v) { return (vi) + ((vf)>>F); }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\noise.cpp:623:127: error: ambiguous overload for ‘operator*’ (operand types are ‘q44’ {aka ‘q<unsigned char, 4, 4>’} and ‘int’)
623 | fill_raw_2dnoise8(pData, width, height, octaves-1, freq44, amplitude, skip+1, xfreq44, freq44 * scalex, yfreq44, freq44 * scaley, time);
| ~~~~~~ ^ ~~~~~~
| | |
| | int
| q44 {aka q<unsigned char, 4, 4>}
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:909:14: note: candidate: ‘uint32_t q<T, F, I>::operator*(uint32_t) [with T = unsigned char; int F = 4; int I = 4; uint32_t = long unsigned int]’
909 | uint32_t operator*(uint32_t v) { return (vi) + ((vf)>>F); }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:911:14: note: candidate: ‘uint16_t q<T, F, I>::operator*(uint16_t) [with T = unsigned char; int F = 4; int I = 4; uint16_t = short unsigned int]’
911 | uint16_t operator*(uint16_t v) { return (vi) + ((vf)>>F); }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:913:13: note: candidate: ‘int32_t q<T, F, I>::operator*(int32_t) [with T = unsigned char; int F = 4; int I = 4; int32_t = long int]’
913 | int32_t operator*(int32_t v) { return (vi) + ((vf)>>F); }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:915:13: note: candidate: ‘int16_t q<T, F, I>::operator*(int16_t) [with T = unsigned char; int F = 4; int I = 4; int16_t = short int]’
915 | int16_t operator*(int16_t v) { return (vi) + ((vf)>>F); }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\noise.cpp: In function ‘void fill_raw_2dnoise16(uint16_t*, int, int, uint8_t, q88, fract16, int, uint32_t, int, uint32_t, int, uint32_t)’:
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\noise.cpp:661:101: error: ambiguous overload for ‘operator*’ (operand types are ‘int’ and ‘q88’ {aka ‘q<short unsigned int, 8, 8>’})
661 | fill_raw_2dnoise16(pData, width, height, octaves-1, freq88, amplitude, skip, x freq88 , scalex freq88, y * freq88, scaley * freq88, time);
| ~~~~~~ ^~~~~~~
| | |
| int q88 {aka q<short unsigned int, 8, 8>}
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:922:49: note: candidate: 'uint32_t operator
(uint32_t, q<T, F, I>&) [with T = short unsigned int; int F = 8; int I = 8; uint32_t = long unsigned int]’
922 | template<class T, int F, int I> static uint32_t operator
(uint32_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:923:49: note: candidate: ‘uint16_t operator*(uint16_t, q<T, F, I>&) [with T = short unsigned int; int F = 8; int I = 8; uint16_t = short unsigned int]’
923 | template<class T, int F, int I> static uint16_t operator*(uint16_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:924:48: note: candidate: ‘int32_t operator*(int32_t, q<T, F, I>&) [with T = short unsigned int; int F = 8; int I = 8; int32_t = long int]’
924 | template<class T, int F, int I> static int32_t operator*(int32_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:925:48: note: candidate: ‘int16_t operator*(int16_t, q<T, F, I>&) [with T = short unsigned int; int F = 8; int I = 8; int16_t = short int]’
925 | template<class T, int F, int I> static int16_t operator*(int16_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\noise.cpp:661:129: error: ambiguous overload for ‘operator*’ (operand types are ‘int’ and ‘q88’ {aka ‘q<short unsigned int, 8, 8>’})
661 | fill_raw_2dnoise16(pData, width, height, octaves-1, freq88, amplitude, skip, x freq88 , scalex freq88, y * freq88, scaley * freq88, time);
| ~~~~~~ ^ ~~~~~~
| | |
| int q88 {aka q<short unsigned int, 8, 8>}
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:922:49: note: candidate: 'uint32_t operator
(uint32_t, q<T, F, I>&) [with T = short unsigned int; int F = 8; int I = 8; uint32_t = long unsigned int]’
922 | template<class T, int F, int I> static uint32_t operator
(uint32_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:923:49: note: candidate: ‘uint16_t operator*(uint16_t, q<T, F, I>&) [with T = short unsigned int; int F = 8; int I = 8; uint16_t = short unsigned int]’
923 | template<class T, int F, int I> static uint16_t operator*(uint16_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:924:48: note: candidate: ‘int32_t operator*(int32_t, q<T, F, I>&) [with T = short unsigned int; int F = 8; int I = 8; int32_t = long int]’
924 | template<class T, int F, int I> static int32_t operator*(int32_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:925:48: note: candidate: ‘int16_t operator*(int16_t, q<T, F, I>&) [with T = short unsigned int; int F = 8; int I = 8; int16_t = short int]’
925 | template<class T, int F, int I> static int16_t operator*(int16_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\noise.cpp: In function ‘void fill_raw_2dnoise16into8(uint8_t*, int, int, uint8_t, q44, fract8, int, uint32_t, int, uint32_t, int, uint32_t)’:
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\noise.cpp:699:106: error: ambiguous overload for ‘operator*’ (operand types are ‘int’ and ‘q44’ {aka ‘q<unsigned char, 4, 4>’})
699 | fill_raw_2dnoise16into8(pData, width, height, octaves-1, freq44, amplitude, skip+1, xfreq44, scalex freq44, yfreq44, scaley * freq44, time);
| ~~~~~~ ^~~~~~~
| | |
| int q44 {aka q<unsigned char, 4, 4>}
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:922:49: note: candidate: 'uint32_t operator
(uint32_t, q<T, F, I>&) [with T = unsigned char; int F = 4; int I = 4; uint32_t = long unsigned int]’
922 | template<class T, int F, int I> static uint32_t operator*(uint32_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:923:49: note: candidate: ‘uint16_t operator*(uint16_t, q<T, F, I>&) [with T = unsigned char; int F = 4; int I = 4; uint16_t = short unsigned int]’
923 | template<class T, int F, int I> static uint16_t operator*(uint16_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:924:48: note: candidate: ‘int32_t operator*(int32_t, q<T, F, I>&) [with T = unsigned char; int F = 4; int I = 4; int32_t = long int]’
924 | template<class T, int F, int I> static int32_t operator*(int32_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:925:48: note: candidate: ‘int16_t operator*(int16_t, q<T, F, I>&) [with T = unsigned char; int F = 4; int I = 4; int16_t = short int]’
925 | template<class T, int F, int I> static int16_t operator*(int16_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\noise.cpp:699:132: error: ambiguous overload for ‘operator*’ (operand types are ‘int’ and ‘q44’ {aka ‘q<unsigned char, 4, 4>’})
699 | fill_raw_2dnoise16into8(pData, width, height, octaves-1, freq44, amplitude, skip+1, xfreq44, scalex freq44, yfreq44, scaley * freq44, time);
| ~~~~~~ ^ ~~~~~~
| | |
| int q44 {aka q<unsigned char, 4, 4>}
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:922:49: note: candidate: 'uint32_t operator
(uint32_t, q<T, F, I>&) [with T = unsigned char; int F = 4; int I = 4; uint32_t = long unsigned int]’
922 | template<class T, int F, int I> static uint32_t operator*(uint32_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:923:49: note: candidate: ‘uint16_t operator*(uint16_t, q<T, F, I>&) [with T = unsigned char; int F = 4; int I = 4; uint16_t = short unsigned int]’
923 | template<class T, int F, int I> static uint16_t operator*(uint16_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:924:48: note: candidate: ‘int32_t operator*(int32_t, q<T, F, I>&) [with T = unsigned char; int F = 4; int I = 4; int32_t = long int]’
924 | template<class T, int F, int I> static int32_t operator*(int32_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\lib8tion.h:925:48: note: candidate: ‘int16_t operator*(int16_t, q<T, F, I>&) [with T = unsigned char; int F = 4; int I = 4; int16_t = short int]’
925 | template<class T, int F, int I> static int16_t operator*(int16_t v, q<T,F,I> & q) { return q * v; }
| ^~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp: In member function ‘void ESP32RMTController::startOnChannel(int)’:
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp:266:29: error: ‘RMTMEM’ was not declared in this scope
266 | mRMT_mem_start = & (RMTMEM.chan[mRMT_channel].data32[0].val);
| ^~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp: In member function ‘void ESP32RMTController::tx_start()’:
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp:307:32: error: ‘volatile union rmt_chnconf0_reg_t’ has no member named ‘mem_rd_rst_n’
307 | RMT.chnconf0[mRMT_channel].mem_rd_rst_n = 1;
| ^~~~~~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp:308:32: error: ‘volatile union rmt_chnconf0_reg_t’ has no member named ‘mem_rd_rst_n’
308 | RMT.chnconf0[mRMT_channel].mem_rd_rst_n = 0;
| ^~~~~~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp:309:32: error: ‘volatile union rmt_chnconf0_reg_t’ has no member named ‘apb_mem_rst_n’
309 | RMT.chnconf0[mRMT_channel].apb_mem_rst_n = 1;
| ^~~~~~~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp:310:32: error: ‘volatile union rmt_chnconf0_reg_t’ has no member named ‘apb_mem_rst_n’
310 | RMT.chnconf0[mRMT_channel].apb_mem_rst_n = 0;
| ^~~~~~~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp:316:32: error: ‘volatile union rmt_chnconf0_reg_t’ has no member named ‘conf_update_n’
316 | RMT.chnconf0[mRMT_channel].conf_update_n = 1;
| ^~~~~~~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp:317:32: error: ‘volatile union rmt_chnconf0_reg_t’ has no member named ‘tx_start_n’
317 | RMT.chnconf0[mRMT_channel].tx_start_n = 1;
| ^~~~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp: In static member function ‘static void ESP32RMTController::doneOnChannel(rmt_channel_t, void*)’:
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp:347:5: error: ‘gpio_matrix_out’ was not declared in this scope; did you mean ‘gpio_iomux_out’?
347 | gpio_matrix_out(pController->mPin, 0x100, 0, 0);
| ^~~~~~~~~~~~~~~
| gpio_iomux_out
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp:368:27: error: ‘volatile union rmt_chnconf0_reg_t’ has no member named ‘tx_stop_n’
368 | RMT.chnconf0[channel].tx_stop_n = 1;
| ^~~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp:369:27: error: ‘volatile union rmt_chnconf0_reg_t’ has no member named ‘conf_update_n’
369 | RMT.chnconf0[channel].conf_update_n = 1;
| ^~~~~~~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp:371:27: error: ‘volatile union rmt_chnconf0_reg_t’ has no member named ‘mem_rd_rst_n’
371 | RMT.chnconf0[channel].mem_rd_rst_n = 1;
| ^~~~~~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp:372:27: error: ‘volatile union rmt_chnconf0_reg_t’ has no member named ‘mem_rd_rst_n’
372 | RMT.chnconf0[channel].mem_rd_rst_n = 0;
| ^~~~~~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp:373:27: error: ‘volatile union rmt_chnconf0_reg_t’ has no member named ‘apb_mem_rst_n’
373 | RMT.chnconf0[channel].apb_mem_rst_n = 1;
| ^~~~~~~~~~~~~
C:\Users\kenw\Documents\Arduino\libraries\FastLED\src\platforms\esp\32\clockless_rmt_esp32.cpp:374:27: error: ‘volatile union rmt_chnconf0_reg_t’ has no member named ‘apb_mem_rst_n’
374 | RMT.chnconf0[channel].apb_mem_rst_n = 0;
| ^~~~~~~~~~~~~

exit status 1

Compilation error: exit status 1

I suspect you are right…or test on a fresh separate PC/laptop, or create a backup copy of the arduino15 folder and wipe the main one to begin anew…are either of those workable?

I actually installed the Arduino IDE from scratch so things should be good. I have tried several other WS2812 libraries and they worked fine. Is there any chance Nathan Seidle would have time to identify which version of the FastLED he used.

I sent a message - give it a few days and hopefully we’ll know more soon :slight_smile:

So, I’m unsure as to whether I’d consider this good news or not at this point, but:
image

Sadly, i tried downgrading FastLED to version 3.6.0 but I got a lot of compile errors. I listed these in a previous post. I suspect I would need to downgrade a large number of libraries to use version 3.6.0.

I had been using FastLED version 3.77 for most of the tests. They recently updated it to 3.7.8 and I repeated the tests. The code still compiles but I get the same abort code when the ESP32-S3 tries to run it.

I would suggest removing the FastLED library example from your example code since it fails with later versions of FastLED. You can add it back when it is working.

I’m getting the same results (green when it should be black and other weirdness)
Adafruit Neopixel library works so I will go with that for now.

Arduino IDE 2.3.3, fastled 3.9.2, adafruit neopixel 1.12.3. i didn’t try older versions of FastLED