Requirements
Boards
The same firmware runs on both supported boards:
| Board | USB device plugs into | Power |
|---|---|---|
| Waveshare ESP32-P4-ETH | the 4-pin USB OTG HS header (not the Type-C port, which is for power and flashing) | USB-C |
| M5Stack Unit PoE-P4 (U213) | the Type-C port labelled Host | PoE (802.3at) |
The M5Stack Unit PoE-P4X uses newer (rev 3.x) silicon and is not supported.
Each board takes one USB device. USB hubs are not supported.
USB devices
Audio roles: any USB Audio Class 1.0 adapter with a 48 kHz mode. Tested:
- CUBILUX LC6 line in (
0bda:4ce8) - TTGK USB-C Audio line out (
3302:17c2, 16-bit stereo)
Serial server: one USB serial adapter. See supported adapters.
USB/IP server: most USB devices. See what works over USB/IP.
Network
- 100 Mbit/s Ethernet. All boards on one VLAN: PTP and mDNS don't cross routers.
- For audio: a switch with IGMP snooping and a querier, and Energy Efficient Ethernet turned off on the audio ports. See network.
- DHCP, or a static IP set on each board.
To build and flash
- A Linux PC with ESP-IDF v6.0.2.
- A USB cable for the first flash. Later updates go over the network.