Help on USB connection of ESP32-S3-WROOM-1 custom PCB.
Posted: Mon Jul 21, 2025 1:28 pm
Hi everyone,
I'm working with a custom PCB based on the **ESP32-S3-WROOM-1** module. The board is powered correctly, and I've followed the reference schematic from the official ESP32-S3 DevKit, including:
[*] Proper power supply to the module (3.3V)
[*] USB-C connector wired to the native USB D+ / D- pins on the ESP32-S3
[*] GPIO0 is pulled low at boot for flashing mode (then released)
[*] Reset is controlled via an RC circuit with a button (10k pull-up, 1uF cap to GND)
[*] 1.5kΩ pull-up resistor on D+ to 3.3V
[*] Verified correct polarity and continuity of USB lines
[*] No USB-UART bridge on the board — relying solely on native USB
However, when I connect the board to my PC (Linux and Windows), I see:
> `Device descriptor request failed`
> or
> `Unknown USB device (Device descriptor failed)`
These messages showed up after I manually added the 1k5 pullup resistor to the D+ line, before that it was not showing at all on dmseg or windows device manager.
No serial port shows up, and the device never enumerates properly. It behaves as if the USB peripheral is not responding. I've tried multiple USB cables and ports. The USB lines are directly routed to the correct GPIOs as per the datasheet.
I haven’t flashed any firmware yet. From my understanding, DevKit boards appear in the device manager right away, but mine does not. Could this be because the ESP32-S3 requires firmware to initialize the native USB peripheral, unlike DevKit boards which have a USB-UART bridge?
How can I recover this board or flash it for the first time if native USB is non-functional?
Any help or suggestions would be much appreciated!
I attached schematics and PCB highlighting D+/D- lines.
Thanks a lot.
I'm working with a custom PCB based on the **ESP32-S3-WROOM-1** module. The board is powered correctly, and I've followed the reference schematic from the official ESP32-S3 DevKit, including:
[*] Proper power supply to the module (3.3V)
[*] USB-C connector wired to the native USB D+ / D- pins on the ESP32-S3
[*] GPIO0 is pulled low at boot for flashing mode (then released)
[*] Reset is controlled via an RC circuit with a button (10k pull-up, 1uF cap to GND)
[*] 1.5kΩ pull-up resistor on D+ to 3.3V
[*] Verified correct polarity and continuity of USB lines
[*] No USB-UART bridge on the board — relying solely on native USB
However, when I connect the board to my PC (Linux and Windows), I see:
> `Device descriptor request failed`
> or
> `Unknown USB device (Device descriptor failed)`
These messages showed up after I manually added the 1k5 pullup resistor to the D+ line, before that it was not showing at all on dmseg or windows device manager.
No serial port shows up, and the device never enumerates properly. It behaves as if the USB peripheral is not responding. I've tried multiple USB cables and ports. The USB lines are directly routed to the correct GPIOs as per the datasheet.
I haven’t flashed any firmware yet. From my understanding, DevKit boards appear in the device manager right away, but mine does not. Could this be because the ESP32-S3 requires firmware to initialize the native USB peripheral, unlike DevKit boards which have a USB-UART bridge?
How can I recover this board or flash it for the first time if native USB is non-functional?
Any help or suggestions would be much appreciated!
I attached schematics and PCB highlighting D+/D- lines.
Thanks a lot.