Page 1 of 1

Flash using USB in ESP32-S3

Posted: Thu May 30, 2024 10:00 am
by jhlee1
Test board: ESP32-S3 DevkitC-1
IDF Version: v5.2

Hi,
I have a question after testing with reference to [DFU via USB, USB OTG, USB Serial/JTAG] in the ESP-IDF Programming Guide.

According to the guide document, the ESP32-S3's default USB PHY connection is USB_SERIAL_JTAG.

Flashing was possible through the USB port(USB_SERIAL_JTAG) like [UART + USB to Serial Converter] flashing.
(idf.py build / idf.py flash)

But I seen the DFU (Device Firmware Upgrade) function of USB_OTG and test it.
It can also flashing possible through the USB port(USB_OTG, USB driver installed by zadig)
(idf.py dfu / idf.py dfu-flash)

What is the difference between the two method? (USB_SERIAL_JTAG and USB_OTG)

Thanks.

Re: Flash using USB in ESP32-S3

Posted: Thu May 30, 2024 11:40 am
by liaifat85
USB_SERIAL_JTAG is primarily used for JTAG debugging and serial communication. It uses the built-in USB-to-serial/JTAG bridge. Communicates over a virtual COM port. USB_OTG supports the DFU class. It uses DFU utilities to upload firmware to the device. It uses the USB DFU protocol, which is a standard protocol for firmware upgrades over USB.