Page 1 of 1
Blocked ESP32
Posted: Mon Nov 03, 2025 4:12 pm
by Popcornettay
Hello,
So I'm a beginner with ESP and I wanted to flash a firmware on my ESP32-S3-DevKitC-1U. Unfortunatly, since then I cannot flash any other firmwares. The board is still correctly detected on the PC and the chip is still responding (tested it with the esptool flash_id command in ESP_IDF). And btw, the LED on pin 38 is not turning on anymore and the other red is always on wathever I do. Could someone please help me recover my device ?
Thank you already for reading the post

Re: Blocked ESP32
Posted: Tue Nov 04, 2025 1:38 am
by Minatel
Hi,
The red LED is the power LED, so you can't control it via the ESP32-S3. The RGB LED is an addressable LED named SK6812MINI (like WS2812), so you can't control this LED by just toggling the GPIO.
Have you tried the blink example?
Re: Blocked ESP32
Posted: Tue Nov 04, 2025 4:18 am
by ESP32_kid
That board should have just one neopixel on IO38
The available macro should work. There's a few ways to control rgb pixel.
Here's one:
Code: Select all
/*
BlinkRGB
Demonstrates usage of onboard RGB LED on some ESP dev boards.
Calling digitalWrite(RGB_BUILTIN, HIGH) will use hidden RGB driver.
RGBLedWrite demonstrates control of each channel:
void rgbLedWrite(uint8_t pin, uint8_t red_val, uint8_t green_val, uint8_t blue_val)
WARNING: After using digitalWrite to drive RGB LED it will be impossible to drive the same pin
with normal HIGH/LOW level
*/
//#define RGB_BRIGHTNESS 64 // Change white brightness (max 255)
// the setup function runs once when you press reset or power the board
void setup() {
// No need to initialize the RGB LED
}
// the loop function runs over and over again forever
void loop() {
#ifdef RGB_BUILTIN
digitalWrite(RGB_BUILTIN, HIGH); // Turn the RGB LED white
delay(1000);
digitalWrite(RGB_BUILTIN, LOW); // Turn the RGB LED off
delay(1000);
rgbLedWrite(RGB_BUILTIN, RGB_BRIGHTNESS, 0, 0); // Red
delay(1000);
rgbLedWrite(RGB_BUILTIN, 0, RGB_BRIGHTNESS, 0); // Green
delay(1000);
rgbLedWrite(RGB_BUILTIN, 0, 0, RGB_BRIGHTNESS); // Blue
delay(1000);
rgbLedWrite(RGB_BUILTIN, 0, 0, 0); // Off / black
delay(1000);
#endif
}
Re: Blocked ESP32
Posted: Sun Nov 09, 2025 1:50 pm
by Popcornettay
Yeah I already tried the blink example and some other examples but nothing works. It's just stuck with the neopixel off
Hi,
The red LED is the power LED, so you can't control it via the ESP32-S3. The RGB LED is an addressable LED named SK6812MINI (like WS2812), so you can't control this LED by just toggling the GPIO.
Have you tried the blink example?
Re: Blocked ESP32
Posted: Mon Nov 10, 2025 8:09 am
by Minatel
Is there any log coming from the UART or USB?
Re: Blocked ESP32
Posted: Tue Nov 11, 2025 3:20 pm
by lbernstone
1) Be sure to use the UART connection to your PC
2) Run `esptool erase_flash` to see if it can be wiped automatically
3) If #2 doesn't work, hold down the boot button (gpio0) when you plug in the device. Then try to erase the flash again
If you have an error in your configuration/code, you may have a boot loop very early in the boot, which prevents the device from being in a state where esptool can get it into download mode. Starting the esp32 in download mode keeps it in a "clean" state where your PC can communicate with it.
Re: Blocked ESP32
Posted: Tue Nov 11, 2025 9:38 pm
by Popcornettay
Is there any log coming from the UART or USB?
Yess, I get this when I use the serial monitor. But only when I first connect the card, then I have nothing more comming.
Code: Select all
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce2820,len:0x116c
load:0x403c8700,len:0xc2c
load:0x403cb700,len:0x3108
entry 0x403c88b8
Re: Blocked ESP32
Posted: Tue Nov 11, 2025 9:44 pm
by Popcornettay
1) Be sure to use the UART connection to your PC
2) Run `esptool erase_flash` to see if it can be wiped automatically
3) If #2 doesn't work, hold down the boot button (gpio0) when you plug in the device. Then try to erase the flash again
If you have an error in your configuration/code, you may have a boot loop very early in the boot, which prevents the device from being in a state where esptool can get it into download mode. Starting the esp32 in download mode keeps it in a "clean" state where your PC can communicate with it.
It doesn't give me any errors when I try to wipe it but I'm still not able to upload anything else on the board. When I try to upload the blink example, it tells me the upload has succeeded but nothing changes on the board. And in the serial monitor I get this message :
Code: Select all
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce2820,len:0x116c
load:0x403c8700,len:0xc2c
load:0x403cb700,len:0x3108
entry 0x403c88b8
Re: Blocked ESP32
Posted: Sat Nov 15, 2025 3:37 am
by lbernstone
This looks like a successful boot. If you are still having trouble uploading new code after this, make sure you are using the connection labeled UART, not USB. If you are using Arduino IDE, set the core debug level to verbose and you will get a lot more info about what the device is doing. Paste the following at the top of your file to set the correct pin:
Pedro, the board has the rgb at io38, but the variant file says 48. Is that correct?
Re: Blocked ESP32
Posted: Tue Nov 18, 2025 10:47 am
by Minatel
Pedro, the board has the rgb at io38, but the variant file says 48. Is that correct?
For the ESP32-S3-DevKitM-1 the RGB LED is the GPIO48 and for the ESP32-S3-DevKitC-1 the GPIO is the GPIO38.