ESP32 S3 Reset required

Not sure if anyone can help.

I have an ESP32-S3-Box-Lite device and was happily coding a project when I seemed to have screwed things up. I can still 'see' the board but can't download to it. I'm looking to do a Factory Reset but again seem to get errors whatever I do.

The latest is using the ESP Flash Download tool and trying to flash the Bootloader - have also tried the latest firmware - and get the following;

Uploading stub...
Running stub...
Stub running...
Changing baud rate to 115200
No serial data received.
[2023-09-27 16:57:53,668][ESP8266Loader_spi[1]][espDownloader.py][line:750][ERROR]: ESP32S3 Chip stub error esp_stub_and_set_baud.
no log file output ...

Getting desparate to do a factory reset - can anyone help.

Thanks

Phil

I just ran into this exact problem, some googling led me to:
https://github.com/espressif/esptool/issues/836

The note I made to myself is below. You will have to install python and install esptool.py:
"pip install esptool"

Sorry this isn't a complete walkthrough but I hope you can figure it out nonetheless.

Good luck!

EDIT: Copy paste the code below into a txt and enable wordwrap, it will make more sense that way.

I had the same problem and solved it as follows. At first the esp32-s3 worked correctly. However, after uploading one of my sketches it gave me this error and I could not upload another sketch because of this. To fix it I did the following.

Create an empty sketch with a debug line in the loop. Something like Serial.println("debug line");. I tried to upload this code and connect via SERIAL to see if it was uploaded correctly.

Upload the code directly from esptool.py. As I program it from the arduino ide, the easiest way is to activate the upload debug in the ide. File > preferences> "Show detailed output while" > "Upload".

Upload the sketch from the debug line. It will generate the error "A fatal error occurred: Unable to verify flash chip connection (No serial data received.)." 

But in the output console the executed esptool.py command will appear. 

Something like this:
Las variables Globales usan 48428 bytes (14%) de la memoria dinámica, dejando 279252 bytes para las variables locales. El máximo es 327680 bytes. C:\Users\user\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\4.5.1/esptool.exe --chip esp32s3 --port COM3 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 8MB 0x0 C:\Users\user\AppData\Local\Temp\arduino_build_393730/MySketch.ino.bootloader.bin 0x8000 C:\Users\user\AppData\Local\Temp\arduino_build_393730/MySketch.ino.partitions.bin 0xe000 C:\Users\user\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.9/tools/partitions/boot_app0.bin 0x10000 C:\Users\user\AppData\Local\Temp\arduino_build_393730/MySketch.ino.bin  esptool.py v4.5.1 Serial port COM3 

Copy the command and run it, 
adding the --no-stub parameter at the begining. 

This will allow to upload the new sketch. With this you can upload sketches from the arduino IDE again. In my case was:

C:\Users\user\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\4.5.1/esptool.exe --no-stub --chip esp32s3 --port COM3 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 8MB 0x0 C:\Users\user\AppData\Local\Temp\arduino_build_393730/MySketch.ino.bootloader.bin 0x8000 C:\Users\user\AppData\Local\Temp\arduino_build_393730/MySketch.ino.partitions.bin 0xe000 C:\Users\user\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.9/tools/partitions/boot_app0.bin 0x10000 C:\Users\user\AppData\Local\Temp\arduino_build_393730/MySketch.ino.bin  


new sketch:

#include <Streaming.h>

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
}

void loop() {
  
  Serial << "Working !" << endl;
  delay(2000);

}
1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.