Flashing ESP32S3 using external USB to COM module

jwalkerbg
Posts: 8
Joined: Tue Aug 15, 2023 12:37 pm

Flashing ESP32S3 using external USB to COM module

Postby jwalkerbg » Sun Feb 11, 2024 6:16 pm

Hi,

Is it possible to flash a ESP32S3 using USB-to_COM port module?
Which signals, besides RXD and TXD are used for this task?
Also which pins of ESP32S3 are connected to the USB-to_COM port module?

Programming have to be done using ESP-IDF extension of MS VS Code?[/Codebox]

ESP_Sprite
Posts: 9727
Joined: Thu Nov 26, 2015 4:08 am

Re: Flashing ESP32S3 using external USB to COM module

Postby ESP_Sprite » Mon Feb 12, 2024 1:49 am

Sure. You'd have to put the chip into download mode somehow; see the datasheet for that ('strapping pins'). You can then flash it in whichever way you want; the ESP-IDF extension in VSCode is one option but there are many others.

jwalkerbg
Posts: 8
Joined: Tue Aug 15, 2023 12:37 pm

Re: Flashing ESP32S3 using external USB to COM module

Postby jwalkerbg » Mon Feb 12, 2024 9:35 am

ESP_Sprite wrote:
Mon Feb 12, 2024 1:49 am
Sure. You'd have to put the chip into download mode somehow; see the datasheet for that ('strapping pins'). You can then flash it in whichever way you want; the ESP-IDF extension in VSCode is one option but there are many others.
Here is what can be found from the Internet:
esptool.py resets ESP32-S3 automatically by asserting DTR and RTS control lines of the USB to serial converter chip, i.e., FTDI, CP210x, or CH340x. The DTR and RTS control lines are in turn connected to GPIO0 and EN (CHIP_PU) pins of ESP32-S3, thus changes in the voltage levels of DTR and RTS will boot the ESP32-S3 into Firmware Download mode.
However in the technical reference of ESP32S3 is mentioned GPIO46, instead of GPIO0. (I mean ESP32S3 with 56 pins package). May be we have to change DTR to GPIO46 and try again...

Regards,
/imc

ESP_Sprite
Posts: 9727
Joined: Thu Nov 26, 2015 4:08 am

Re: Flashing ESP32S3 using external USB to COM module

Postby ESP_Sprite » Tue Feb 13, 2024 1:45 am

See the datasheet section 2.6.1 "Boot control": for normal boot GPIO0 needs to be 1; for download boot both GPIO0 and GPIO46 need to be 0. As the level of GPIO46 does not matter for normal boot, usually GPIO46 is left pulled low with a pulldown (or left floating as the pin has an internal pulldown) while download mode is selected by changing the level on GPIO0.

Who is online

Users browsing this forum: No registered users and 92 guests