Chapter 4. Software framework
Can ESP32-S3 use an external USB hub chip with two of its USB ports connecting to a USB 4G module and
a dongle at the same time?
The ESP32-S3 USB does not support connection to an external USB hub chip currently because there
is no driver support.
When ESP32-S2/ESP32-S3 serves as the UVC Host and connects some models of UVC cameras, why is there
an error HID_PIPI_EVENT_ERROR_OVERFLOW in the log?
This is because MPS of the Alt interface endpoint of the selected camera is too large (ESP32-S2/ESP32-
S3 supports up to 512 bytes). Please conrm whether the camera has an interface of less than or equal
to 512 bytes under USB1.1.
Does ESP32-S2/ESP32-S3 have a USB 4G Internet access solution?
Yes, please refer to USB CDC 4G Module Example.
Is there any USB CDC Host example for ESP32-S2/ESP32-S3?
Yes, please refer to ESP-IDF USB CDC Host example or esp-iot-solution USB CDC Host example.
When burning rmware through the ESP32-C3/ESP32-S3 USB Serial/JTAG Controller function, I found
that the PC sometimes cannot recognize the USB serial port, or automatically disconnects from the USB
serial port repeatedly after recognizing it. What is the reason?
At present, the startup logic of the ESP32/ESP32-S2/ESP32-S3/ESP32-C3 chip is: if it cannot start
normally (due to empty ash, no correct data/rmware in ash, the power-on sequence problem of ash,
etc.), the internal timer will trigger the chip to restart every few seconds. The chip cannot connect stably
until the program starts normally or enters the download mode. The ESP32-S3/ESP32-C3 USB-Serial-
JTAG peripheral will be re-initialized when the chip restarts, so the corresponding result is that the
chip tries to connect to and disconnects from the PC every few seconds. We provide the following two
solutions:
• You need to boot the chip to enter the download mode manually before the rst download or after
ash is erased, so that the chip can be connected stably.
• You can also burn the rmware that can run stably through UART in advance to solve this issue. If
there is rmware that can run stably in the chip, the USB serial port of the chip can be connected
stably in subsequent programming.
If there is no strap pin test point reserved for booting manually, you may need to try several times in the
initial USB download.
Why does ESP32-S2/ESP32-S3 not reach the maximum USB full speed, 12 Mbps?
We will explain this issue with the TinyUSB protocol stack as an example. As this USB mode does not
use DMA, but directly uses CPU polling, some time slices are wasted in each transfer. As a result, the
TinyUSB protocol stack is only expected to reach 6.4 Mbps (it can reach 9.628 Mbps theoretically if the
batch transfer is adopted).
Espressif Systems 87
Submit Document Feedback
Release master