ESP32-S3-MINI-1-N4-R2 boot cycles

Hi all,

I have a board with an ESP32-S3-MINI-1-N4-R2 on it and have been advised by the vendor that it will quite happily run WLED, but I simply can’t get it to run. If I flash WLED_0.15.0_ESP32-S3_4M_qspi.bin on it with the commands:

esptool -p /dev/ttyACM0 erase_flash
esptool -p /dev/ttyACM0 write_flash 0x0 WLED_0.15.0_ESP32-S3_4M_qspi.bin

it seems to work:

Erase:

esptool.py v4.7.0
Serial port /dev/ttyACM0
Connecting…
Detecting chip type… ESP32-S3
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE, Embedded Flash 4MB (XMC), Embedded PSRAM 2MB (AP_3v3)
Crystal is 40MHz
MAC: f0:f5:bd:74:31:68
Uploading stub…
Running stub…
Stub running…
Erasing flash (this may take a while)…
Chip erase completed successfully in 15.4s
Hard resetting via RTS pin…

Flash:

esptool.py v4.7.0
Serial port /dev/ttyACM0
Connecting…
Detecting chip type… ESP32-S3
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE, Embedded Flash 4MB (XMC), Embedded PSRAM 2MB (AP_3v3)
Crystal is 40MHz
MAC: f0:f5:bd:74:31:68
Uploading stub…
Running stub…
Stub running…
Configuring flash size…
Flash will be erased from 0x00000000 to 0x0015dfff…
Compressed 1433424 bytes to 965639…
Wrote 1433424 bytes (965639 compressed) at 0x00000000 in 11.4 seconds (effective 1002.7 kbit/s)…
Hash of data verified.

Leaving…
Hard resetting via RTS pin…

But when I connect to the serial port, all I see is the following repeating ad infinitum:

ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x4037b088
SPIWP:0xee
mode:DIO, clock div:1
load:0x3c100020,len:0x4a71c
load:0x3fc977c0,len:0x58d4
load:0x42000020,len:0xf9908
load:0x3fc9d094,len:0xe34
load:0x40374000,len:0x137b4
SHA-256 comparison failed:
Calculated: 536efce4c1968b3b1976fc769ac9f08f6fbedb3fdfb49e69ccff2d31b8e44847
Expected: 76a55d828ad8c138c95324fecd2106c4a4785edf1a9f149822da2a29fcb7c07f
Attempting to boot anyway…
entry 0x40378c18

I can flash the vendor’s own firmware on the ESP using the same esptool and cable, so I know it all works independently, just not with WLED.

Could somebody point me in the right direction?

TIA Mart.

try the official installer:
https://install.wled.me/
or the advanced one:
https://wled-install.github.io/

Try WLED flasher WLED-wemos-shield/resources/Firmware/WLED_ ESP_Flasher at master · srg74/WLED-wemos-shield · GitHub

I don’t run Windows and, from Vivaldi (my browser of choice), the web installer doesn’t detect the attached serial port - hence why I was using the command line esptool utility. However, I’ve installed Chromium and now the web installer works. Unfortunately while it says the installation was successful, it wasn’t and the serial connection now shows another repeated message.

I then tried the advanced installer and the latest build and… whaddaya know… it worked!

So, it turns out that the v0.15 release simply doesn’t work with the ESP32-S3-MINI-1-N4-R2, but v0.16 does.

Thanks to @dedehai for the pointer to the adanced installer.

all versions of 0.15, even the betas actually do work on the S3, its just the installer that has its problems still. I flash directly from VScode and never had any issues since proper support was added back in early 2024

You’re quite right. Sorry. I just tried flashing v0.16 using esptool and had exactly the same problem as v0.15.

So it’s not the release that has the problem, it’s the installation instructions at Install WLED Binary - WLED Project :wink:

if you have a solution, please correct what is wrong in the instructions and do a PR on github: GitHub - Aircoookie/WLED-Docs: Documentation for the WLED project (kno.wled.ge)

1 Like

The solution is, as you’ve said, don’t use ‘esptool’, but use the browser based installers. Without knowing exactly what the problem is, which modules it affects and why, I’d be reluctant to take a huge pair of scissors to the installation instructions. Well, that and my Git knowledge is slim to non-existent!

Try the instructions on my website below, I found a flasher that works for that model (the official one never gets it right).