Files
esp-idf/examples/peripherals/usb/README.md
igor.masar 7d0344ac39 feat(usb): Enable ESP32-S31 USB device examples
Enable ESP32-S31 in the USB device example build rules, supported
target tables, USB PHY pin mapping, and pytest target parametrization.

The target supports USB-OTG through its USB 2.0 PHY. Keep ESP32-S31
USB device tests marked as temporary CI skips until runners with the
usb_device tag are available.
2026-05-19 15:10:47 +02:00

1.1 KiB

USB-OTG Examples

See the README.md file in the upper level examples directory for more information about examples.

Common Pin Assignments

Pin assignment is only needed for ESP chips that have a USB-OTG peripheral. If your board doesn't have a USB connector connected to the USB-OTG dedicated GPIOs, you may have to DIY a cable and connect D+ and D- to the pins listed below.

ESP BOARD       USB CONNECTOR (type A)
                   --
                  | || VBUS (5V)
[USB_DM]  ------> | || D-
[USB_DP]  ------> | || D+
                  | || GND
                   --

USB PHY pin mapping

USB_DP USB_DM
ESP32-S2/S3 GPIO20 GPIO19
ESP32-P4 2.0 pin 50 pin 49
ESP32-P4 1.1 GPIO27 GPIO26
ESP32-H4 GPIO22 GPIO21
ESP32-S31 pin 44 pin 45

Note: On the ESP32-P4 and ESP32-S31, the USB 2.0 PHY pins are dedicated to USB-OTG functionality and cannot be used as general-purpose GPIOs. ESP32-S31 only supports the USB 2.0 PHY.