Hi All,
I cannot seem to program an ESP32-S3-WROOM-1 on a custom PCB. Its a re spin of a productionized design, so I'm lead to believe the programming connections are correct.
There is no UART buffer chip on board, so this shall have to be done using the USB, ive followed the steps of putting it into 'Download Mode' but try as i might the Arduino IDE shall not program it.
Ive got a custom board JSON for Platform IO as well within VS Code but this doesnt work either. Ive tried various baud rates (not that this should affect it being USB but you never know).
Below is the error i get.
Sketch uses 358307 bytes (27%) of program storage space. Maximum is 1310720 bytes.
Global variables use 39856 bytes (12%) of dynamic memory, leaving 287824 bytes for local variables. Maximum is 327680 bytes.
esptool v5.0.0
Serial port COM5:
Connecting...Traceback (most recent call last):
File "esptool\__init__.py", line 1179, in _main
File "esptool\__init__.py", line 1036, in main
File "esptool\cli_util.py", line 227, in __call__
File "rich_click\rich_command.py", line 404, in __call__
File "click\core.py", line 1161, in __call__
File "rich_click\rich_command.py", line 187, in main
File "click\core.py", line 1697, in invoke
File "click\core.py", line 1443, in invoke
File "click\core.py", line 788, in invoke
File "click\decorators.py", line 33, in new_func
File "esptool\__init__.py", line 688, in write_flash_cli
File "esptool\cmds.py", line 1117, in attach_flash
File "esptool\loader.py", line 1060, in flash_id
File "esptool\loader.py", line 1597, in run_spiflash_command
File "esptool\loader.py", line 875, in read_reg
File "esptool\loader.py", line 539, in check_command
File "esptool\loader.py", line 494, in command
File "esptool\loader.py", line 430, in read
StopIteration
A fatal error occurred: The chip stopped responding.
Connected to ESP32-S3 on COM5:
Chip type: ESP32-S3 (QFN56) (revision v0.2)
Features: Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz
Crystal frequency: 40MHz
USB mode: USB-Serial/JTAG
MAC: 50:78:7d:02:09:a8
Uploading stub flasher...
Running stub flasher...
Stub flasher running.
Hard resetting via RTS pin...
Failed uploading: uploading error: exit status 2
Runs the latest version of Arduino IDE (2.3.6)
Any advice would be really appreciated before i pull even more hair out. Ive added the JSON file (as a text file as not supported on forum) as well.
Thank you!
ESP32-S3-WROOM-1
-
Embedded27
- Posts: 6
- Joined: Wed Aug 27, 2025 9:31 pm
Re: ESP32-S3-WROOM-1
Looks like the flash cannot be accessed. Perhaps an issue with your bootstrap pins, especially GPIO12?
-
Embedded27
- Posts: 6
- Joined: Wed Aug 27, 2025 9:31 pm
Re: ESP32-S3-WROOM-1
Hi,
Im wondering this, we checked the IO12 and its low on boot, as is the old board so i was hoping that there was something obvious there. But not sure, ive since tried a second and third board and now get a different behaviour.
Within VS code with Platform IO i get the MD5 of file does not match the data in flash and within Arduino IDE i get A fatal error occurred: Write failed, the written flash region is empty.
Ive tried searching the web and nothing ive tried resolves either issue.
Im wondering this, we checked the IO12 and its low on boot, as is the old board so i was hoping that there was something obvious there. But not sure, ive since tried a second and third board and now get a different behaviour.
Within VS code with Platform IO i get the MD5 of file does not match the data in flash and within Arduino IDE i get A fatal error occurred: Write failed, the written flash region is empty.
Ive tried searching the web and nothing ive tried resolves either issue.
-
Embedded27
- Posts: 6
- Joined: Wed Aug 27, 2025 9:31 pm
Re: ESP32-S3-WROOM-1
Ive since further looked in the data sheet and found the strapping pins for the S3 variant are 46 and 0, 46 on the old board didnt have anything on, was disconnected and i assume left floating. It is now connected to an RGB LED with a 470 Ohm resistor. Beginning to think this could point to the problem.
-
Embedded27
- Posts: 6
- Joined: Wed Aug 27, 2025 9:31 pm
-
Embedded27
- Posts: 6
- Joined: Wed Aug 27, 2025 9:31 pm
Re: ESP32-S3-WROOM-1
IO3 is also mentioned as a bootstrap pin, i completely missed this in the data sheet, this in the current design is pulled high permanently from Power on. Could this be the issue? the old design did not have this issue.
Re: ESP32-S3-WROOM-1
GPIO3 normally should not matter, as it needs some eFuses to be set in order to become a bootstrap pin (and even then, it wouldn't stop the ESP from booting).
Re: ESP32-S3-WROOM-1
Ah, sorry, I was mistaken earlier; GPIO12 sets the flash voltage on the original ESP32, but on the ESP32-S3 it's GPIO45. Did anything change in the connectivity of that pin?
In general: What particular version of the ESP32-S3-Wroom-1 module do you have? Also: Did anything change between the model numbers between the original and the new PCBs? For instance, if you used to have the ESP32-S3-WROOM-1U-N16R8 and now have a ESP32-S3-WROOM-1U-N16R16VA, the bootup state of GPIO45 should be different.
In general: What particular version of the ESP32-S3-Wroom-1 module do you have? Also: Did anything change between the model numbers between the original and the new PCBs? For instance, if you used to have the ESP32-S3-WROOM-1U-N16R8 and now have a ESP32-S3-WROOM-1U-N16R16VA, the bootup state of GPIO45 should be different.
-
Embedded27
- Posts: 6
- Joined: Wed Aug 27, 2025 9:31 pm
Re: ESP32-S3-WROOM-1
Sprite, you hero your reply directed me to the problem.
Flash voltage was wet wrong., blew the e fuses and it's now abled to be programmed. Perfect!
Thank you.
Flash voltage was wet wrong., blew the e fuses and it's now abled to be programmed. Perfect!
Thank you.
Who is online
Users browsing this forum: No registered users and 1 guest
