Selection of ESP32-P4 dev board for development as high speed USB peripheral devices

amitrs
Posts: 8
Joined: Mon Jan 26, 2026 7:40 am

Selection of ESP32-P4 dev board for development as high speed USB peripheral devices

Postby amitrs » Mon Jan 26, 2026 8:08 am

Selection of esp32 p4 dev board for development of high speed USB devices peripheral and ethernet

Following Waveshare boards are available for me :

Waveshare ESP32-P4-WIFI6-DEV-KIT
Waveshare ESP32-P4-NANO
Waveshare ESP32-P4-Module- DEV-KIT
Waveshare ESP32-P4-WIFI6-POE-ETH

I am looking to develop USB peripheral device with esp32 p4

the confusion which arrives is

1) Can device be developed on ESP32-P4-NANO and ESP32-P4-WIFI6-POE-ETH, as these do not have any jumper switch for device/host mode like other two ?
2) Does the ESP32 P4 chip on all these kits from ESP32-P4-WIFI6-DEV-KIT to ESP32-P4-WIFI6-POE-ETH differ in revision ?
3) does the formfactor of the ESP32 P4 module on ESP32-P4-Module-DEV-KIT cause any issue with traces for ethernet and USB compared to Non Module design ?
4) Any know issue with any of the model for USB device development ?


Thanks in advance, any suggestion otherwise will also help :)
I will go with Waveshare ESP32-P4-WIFI6-POE-ETH as default
Last edited by amitrs on Tue Jan 27, 2026 5:17 am, edited 1 time in total.

tore-espressif
Espressif staff
Espressif staff
Posts: 28
Joined: Thu Oct 07, 2021 8:11 am

Re: Selection of ESP32-P4 dev board for development of high speed USB devices peripheral

Postby tore-espressif » Mon Jan 26, 2026 2:37 pm

Hello @amitrs

I checked schematics of all boards you mentioned and I would NOT recommend any of them for High Speed USB peripheral (device).

ESP32-P4 offers natively 3 USB connections:
1. USB serial JTAG. Used for debugging only. This connection is mapped to a Type-C on ESP32-P4-WIFI6-DEV-KIT and ESP32-P4-Module Development Board
2. USB FS (OTG1.1) peripheral. This is not wired out to a USB connector on any of the boards
3. USB HS (OTG2.0), the main peripheral. This is wired to USB-A connector either directly or through a on-board USB HUB chip.

The Host/Device jumper (H3 in the schematic) has misleading labels. If you check the schematics carefully, you will see that it does not switch between USB Host and Device mode. With this switch you can choose if you want to use the USB HUB chip on boards that have it.

Therefore, there is no option to wire USB HS peripheral to a USB device connector (Type-C or Type-B).

amitrs
Posts: 8
Joined: Mon Jan 26, 2026 7:40 am

Re: Selection of ESP32-P4 dev board for development of high speed USB devices peripheral

Postby amitrs » Mon Jan 26, 2026 4:49 pm

hi @tore-espressif
Thank you for your suggestion :) ,
this also gave me a start point

ESP32-P4-WIFI6-DEV-KIT
Ref: https://files.waveshare.com/wiki/ESP32- ... asheet.pdf
I see H3(usb host/device selector) runs a FSUSB42UMX (USB MUX),
1) when H3 is in host mode it diverts USB dm, USB dp to a USB hub ic (U14, CH334F)
2) when H3 is in device mode it diverts USB dm, USB dp to a USB port (J8, USBHSD1_N, USBHSD1_P)

in case 2) isn't it in a state to be used as a device ? even tho as you said H3 just enables and disables HUB but also muxes the direct port connection



ESP32-P4-WIFI6-POE-ETH
Ref : https://files.waveshare.com/wiki/ESP32- ... ematic.pdf
USB dm, USB dp are directly connected to USB1 (type A) of port J2

so here too cant this USB be used as device directly ?

So why cant we use any of these boards AS USB device ?

Also I am also a bit confused, sorry for lack of my understating :? .. as I understand the VBUS_OUT on USB ports must be connected to 5v (Is it ?? ) .. if connected to a PC would it cause any problem ? in both ESP32-P4-WIFI6-DEV-KIT and ESP32-P4-WIFI6-POE-ETH ?
Last edited by amitrs on Mon Jan 26, 2026 5:08 pm, edited 1 time in total.

amitrs
Posts: 8
Joined: Mon Jan 26, 2026 7:40 am

Re: Selection of ESP32-P4 dev board for development of high speed USB devices peripheral

Postby amitrs » Mon Jan 26, 2026 8:18 pm

Further inspecting the schematic on the power side, the power handling magic is now satisfactory clear :lol:

the usb C (programmer/debugger) is given priority and USB A can also power if USB C is not powered .. the power logic is sperate from USB mode logic ..

I just hope USB device is easily implemented (tinyUSB i think)

Who is online

Users browsing this forum: Bytespider, Google [Bot] and 17 guests