Hardware Layout
This page describes every labeled component on the ESP32-P4-WIFI6-DEV-KIT board. Component numbers correspond to the Waveshare reference diagram.
Component map
Section titled “Component map”1. ESP32-P4NRW32
Section titled “1. ESP32-P4NRW32”The main application processor. This is the ESP32-P4 with 32 MB of PSRAM stacked inside the package (the “NRW32” suffix denotes the PSRAM variant). It provides the dual-core RISC-V HP system, LP system, and all peripheral controllers including MIPI-DSI, MIPI-CSI, USB OTG, I2S, and Ethernet MAC.
2. ESP32-C6
Section titled “2. ESP32-C6”The wireless co-processor. Connected to the ESP32-P4 via SDIO, it provides WiFi 6 (802.11ax) at 2.4 GHz and Bluetooth 5 LE. The C6 runs its own firmware stack and handles all RF operations independently.
3. 16 MB NOR Flash
Section titled “3. 16 MB NOR Flash”External QSPI NOR flash memory. Stores the application firmware, filesystem partitions, and configuration data. Connected to the ESP32-P4 via a quad-SPI interface.
4. ESP32-C6 UART Pad
Section titled “4. ESP32-C6 UART Pad”Solder pads exposing the ESP32-C6’s UART interface. Used for direct debugging or flashing of the C6 co-processor independently of the P4.
5. PoE Module Header
Section titled “5. PoE Module Header”Pin header for an optional Power-over-Ethernet module. When populated with a compatible PoE module, the board can be powered through the RJ45 Ethernet jack, eliminating the need for a separate USB power connection.
6. 40-Pin GPIO Header
Section titled “6. 40-Pin GPIO Header”Standard 2x20 pin header at 2.54 mm pitch. Exposes 27 programmable GPIO pins along with 3.3 V, 5 V, and GND rails. Pin functions include I2C, UART, and general-purpose digital I/O. See the Pinout Reference for the complete pin map.
7. 100M RJ45 Ethernet
Section titled “7. 100M RJ45 Ethernet”RJ45 jack with integrated magnetics for 100 Mbps Ethernet. Connected to the ESP32-P4’s internal Ethernet MAC. Supports standard Cat5/Cat5e/Cat6 cables.
8. USB OTG Function Selection Jumper
Section titled “8. USB OTG Function Selection Jumper”A two-position jumper that selects whether the USB-A port operates in HOST mode (the board provides power and enumerates devices) or DEVICE mode (the board appears as a USB device to an external host).
9. USB-A Port (OTG 2.0 HS)
Section titled “9. USB-A Port (OTG 2.0 HS)”USB 2.0 High-Speed (480 Mbps) Type-A connector. Functions as either a USB host or device depending on the OTG jumper setting (component 8). In HOST mode, connect USB peripherals such as keyboards, flash drives, or HID devices. In DEVICE mode, the board presents itself as a USB device.
10. Speaker Header
Section titled “10. Speaker Header”MX1.25 2P connector for an external speaker. Driven by the NS4150B Class D mono amplifier. Rated for 8 ohm, 2 W speakers.
11. SMD Microphone
Section titled “11. SMD Microphone”Onboard MEMS microphone for audio capture. Connected to the ES8311 codec via I2S. Suitable for voice commands, recording, and basic acoustic sensing.
12. 3.5 mm Headphone Jack
Section titled “12. 3.5 mm Headphone Jack”Standard 3.5 mm TRS audio output jack. Driven by the ES8311 codec. Provides stereo headphone output.
13. Camera Port (MIPI-CSI 2-lane)
Section titled “13. Camera Port (MIPI-CSI 2-lane)”FPC connector for a MIPI-CSI camera module. Supports 2-lane MIPI-CSI with an integrated Image Signal Processor (ISP). The onboard H.264 encoder can compress captured frames at up to 1080p 30 fps. Compatible with OV5647 and other 2-lane MIPI camera modules.
14. Display Port (MIPI-DSI 2-lane)
Section titled “14. Display Port (MIPI-DSI 2-lane)”FPC connector for a MIPI-DSI display panel. Supports 2-lane MIPI D-PHY v1.1 at up to 1.5 Gbps per lane. Compatible with 5”, 7”, 8”, and 10.1” DSI screens. Supports RGB888, RGB666, and RGB565 color modes.
15. I2C Port
Section titled “15. I2C Port”Dedicated I2C connector. Default pin assignment: SCL on GPIO8, SDA on GPIO7. Useful for connecting external sensors, EEPROMs, or other I2C peripherals without using the GPIO header.
16. I3C Port
Section titled “16. I3C Port”Dedicated I3C connector. I3C is a next-generation serial bus that is backward-compatible with I2C while supporting higher data rates and in-band interrupts.
17. Type-C UART Port
Section titled “17. Type-C UART Port”USB Type-C connector connected through a CH343 USB-to-UART bridge. Provides:
- Serial console for debugging and logging
- Firmware flashing via esptool or Arduino IDE
- 5 V power input
This is the primary development port for most workflows.
18. Type-C USB Port
Section titled “18. Type-C USB Port”USB Type-C connector connected directly to the ESP32-P4’s USB peripheral (not through a UART bridge). Provides:
- Direct USB communication with the P4
- Firmware flashing via USB-DFU
- 5 V power input
19. RTC Battery Holder
Section titled “19. RTC Battery Holder”CR1220 coin cell holder for the Real-Time Clock. Maintains the RTC time and any RTC memory contents while the board is powered off.
20. PWR Indicator
Section titled “20. PWR Indicator”Red LED that illuminates when the board is receiving power. If this LED does not light up when USB is connected, check the cable and USB port.
21. ESP32-C6 SMD Antenna
Section titled “21. ESP32-C6 SMD Antenna”Onboard surface-mount antenna for the ESP32-C6’s WiFi 6 and Bluetooth 5 radio. No external antenna is needed.
22. BOOT Button
Section titled “22. BOOT Button”Hold this button during a reset (or power-on) to force the ESP32-P4 into download mode for firmware flashing. During normal operation, it can be read as a general-purpose input.
23. RST Button
Section titled “23. RST Button”Hardware reset. Pressing this button resets the ESP32-P4 and restarts the application firmware. If BOOT is held simultaneously, the chip enters download mode instead.
24. TF Card Slot
Section titled “24. TF Card Slot”MicroSD (TF) card slot connected via SDIO 3.0. Supports high-speed data transfer for logging, media storage, or filesystem expansion. Push-push type slot (push to insert, push to eject).
Component descriptions based on the Waveshare ESP32-P4-WIFI6-DEV-KIT Wiki.