Espressif ESP32-P4X-Function-EV-Board

Espressif multimedia dev board with ESP32-P4 rev v3.1, ESP32-C6 Wi-Fi 6 co-processor, MIPI CSI/DSI, Ethernet, audio codec and 40-pin header.

USB-C + USB-C + USB-C + USB-A Native USB
Espressif ESP32-P4X-Function-EV-Board board
88 × 74 mm
ESP32-P4
RISC-V MCU
400MHz
clock
16MB
flash
768KB
SRAM
26· 6 ADC
GPIO
Wi-Fi
radio
On this page

Espressif ESP32-P4X-Function-EV-Board Pinout

40 pins · 2.54 mm pitch
Espressif ESP32-P4X-Function-EV-Board pinout diagram, high resolution: all 40 pins, with GPIO numbers, ADC channels and strapping pins
Espressif ESP32-P4X-Function-EV-Board pinout, drawn by ESPboards from the ESP32-P4 Series Datasheet v0.7.
PinGPIOLabelsStatusCapabilitiesNotes
1-3V3power-J1 pin 1, 3.3 V
277GPIO7TOUCH5safetouch · pwmJ1 pin 3
388GPIO8TOUCH6safetouch · pwmJ1 pin 5
42323GPIO23ADC1_CH7safeadc · pwmJ1 pin 7
5-GNDground-J1 pin 9
62121GPIO21ADC1_CH5safeadc · pwmJ1 pin 11
72020GPIO20ADC1_CH4safeadc · pwmJ1 pin 13
866GPIO6TOUCH4safetouch · pwmJ1 pin 15
9-3V3power-J1 pin 17, 3.3 V
1033GPIO3TOUCH1safetouch · pwmJ1 pin 19
1122GPIO2TOUCH0safetouch · pwmJ1 pin 21
120NC(0)GPIO0safe-J1 pin 23. Not connected by default (32.768 kHz crystal). Move R61 to R199 and R59 to R197 to use it
13-GNDground-J1 pin 25
14-NCcontrol-J1 pin 27 - no connection
153333GPIO33safepwmJ1 pin 29
162626GPIO26safepwmJ1 pin 31. Shared with the USB Full-speed port
174848GPIO48safepwmJ1 pin 33
185353GPIO53ADC2_CH4safeadc · pwmJ1 pin 35
194747GPIO47safepwmJ1 pin 37
20-GNDground-J1 pin 39
21-5Vpower-J1 pin 2, 5 V
22-5Vpower-J1 pin 4, 5 V
23-GNDground-J1 pin 6
243737U0TXDGPIO37strappinguart · pwmJ1 pin 8. UART0 TX (default console)
253838U0RXDGPIO38strappinguart · pwmJ1 pin 10. UART0 RX (default console)
262222GPIO22ADC1_CH6safeadc · pwmJ1 pin 12
27-GNDground-J1 pin 14
2855GPIO5TOUCH3safetouch · pwmJ1 pin 16
2944GPIO4TOUCH2safetouch · pwmJ1 pin 18
30-GNDground-J1 pin 20
311NC(1)GPIO1safe-J1 pin 22. Not connected by default (32.768 kHz crystal). Move R61 to R199 and R59 to R197 to use it
323636GPIO36strappingpwmJ1 pin 24
333232GPIO32safepwmJ1 pin 26
34-NCcontrol-J1 pin 28 - no connection
35-GNDground-J1 pin 30
365454GPIO54ADC2_CH5safeadc · pwmJ1 pin 32
37-GNDground-J1 pin 34
384646GPIO46safepwmJ1 pin 36
392727GPIO27safepwmJ1 pin 38. Shared with the USB Full-speed port
4045NC(45)GPIO45safe-J1 pin 40. Not connected by default (SD card power SD_PWRn). Move R231 to R100 to use it
Download the Espressif ESP32-P4X-Function-EV-Board pinout Free to use and share for non-commercial work, as long as you credit espboards.dev. License.
26 GPIOs broken out 23 free · 3 need care · 0 to avoid

Start with these

23 pins with no boot or system involvement
7GPIO78GPIO823GPIO2321GPIO2120GPIO206GPIO63GPIO32GPIO2NC(0)GPIO033GPIO3326GPIO2648GPIO4853GPIO5347GPIO4722GPIO225GPIO54GPIO4NC(1)GPIO132GPIO3254GPIO5446GPIO4627GPIO27NC(45)GPIO45

Freely assignable - no strapping, flash, USB or JTAG duties. Ideal first picks for buttons, sensors and LEDs.

Fine - with a little care

3 pins · 2 things to know
37GPIO3738GPIO38 Strapping pin; participates in chip boot-mode control (see ESP32-P4 TRM, Chip Boot Control). Strapping

Sampled at reset as a boot-mode strap; avoid holding it at a fixed level during boot unless intentionally configuring boot mode. Free after reset.

  • 37Strapping pin; participates in chip boot-mode control (see ESP32-P4 TRM, Chip Boot Control).
  • 38Strapping pin; participates in chip boot-mode control (see ESP32-P4 TRM, Chip Boot Control).
36GPIO36 Strapping pin; part of boot-mode selection (with GPIO35) and controls ROM-message printing to UART0. Strapping

Sampled at reset for boot mode and log output; driving it at boot can change the boot mode or silence/enable ROM logs. Free after reset.

These are recommendations, not hard rules - with the right pull-ups, timing and boot-state awareness most pins can be made to work. When in doubt, start green.

The Espressif ESP32-P4X-Function-EV-Board pinout brings out 40 pins at a 2.54 mm pitch - 26 usable GPIO alongside the 3V3, GND and 5V power rails.

Beyond plain digital I/O you get 6 ADC-capable pins for sensors and battery monitoring, PWM on 23 pins and 7 capacitive-touch inputs.

3 of the exposed pins carry boot-time or system duties on the ESP32-P4 (37, 38 and 36) - check the guidance above before wiring anything to them. 7, 8, 23, 21 and 19 more are free of any such role - the safest first picks.

Getting started

flash your first firmware in ~2 minutes
Tool:
1
Connect over USB
Native USB - shows up as a port right away, no driver needed. Not detected? Hold BOOT while plugging in.
2
Match & flash
Set the Tools options shown, then click Upload.
3
Verify it runs
GPIO7 toggles - wire an LED and resistor to it, or change the pin to your board's own LED.
Set these in Tools · leave everything else at default
Arduino IDE 2.x - Tools Copy
Board: "ESP32P4 Dev Module"▸
USB CDC On Boot: "Enabled"▸
Flash Size: "16MB (128Mb)"▸
PSRAM: "QSPI PSRAM"▸
Partition Scheme: "16M Flash (3MB APP/9.9MB FATFS)" (default)▸
Upload Speed: "921600"▸
▸ every other Tools option - leave at default
Board: ESP32P4 Dev Module
USB CDC On Boot: Enabled
Flash Size: 16MB (128Mb)
PSRAM: QSPI PSRAM
Partition Scheme: 16M Flash (3MB APP/9.9MB FATFS)
Upload Speed: 921600
Find it: Tools ▸ Board ▸ ESP32 Arduino ▸ ESP32P4 Dev Module
blink.ino Copy
// toggle GPIO7 - wire an LED and resistor to it
void setup() {
  pinMode(7, OUTPUT);
}
void loop() {
  digitalWrite(7, HIGH); delay(500);
  digitalWrite(7, LOW);  delay(500);
}
board to selectesp32dev⧉ copy
platformio.ini Copy
[env:espressif-esp32-p4x-function-ev-board]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip
board = esp32dev
framework = arduino
monitor_speed = 115200
upload_speed = 921600
board_build.arduino.memory_type = qio_qspi
build_flags = -DBOARD_HAS_PSRAM
Find it: PlatformIO Home ▸ Boards, search esp32dev - or type it after board =.
board to selectesp32dev⧉ copy
device.yaml Copy
esp32:
  board: esp32dev
  variant: esp32p4
  framework:
    type: esp-idf
psram:
  mode: quad
  speed: 80MHz

# blink - GPIO7
output:
  - platform: gpio
    pin: 7
    id: led_out
light:
  - platform: binary
    name: "LED"
    output: led_out
Find it: search ESPHome's board list for esp32dev (same ids as PlatformIO).
esptool doesn't pick board settings - a prebuilt .bin already has them baked in. This is just the raw flash command.
terminal Copy
esptool.py --chip esp32p4 --port /dev/ttyACM0 \
  --baud 921600 write_flash 0x2000 firmware.bin
--port = your /dev/tty* (macOS/Linux) or COMx (Windows).

Good to know

board-specific quirks worth 60 seconds
ESP32-P4 v3.1 silicon, so older board targets do not carry over
This is the ESP32-P4-Function-EV-Board with the main chip upgraded to ESP32-P4 chip revision v3.1 or later (PCB V1.6). Firmware and board targets for the older board do not carry over: Zephyr, for example, has a separate esp32p4x_function_ev_board target, and the v3.x silicon adds a VDD_HP_1 power rail. The board's LDO_VO3 and LDO_VO4 outputs also power some on-board VDD domains, so your firmware must set their…

This is the ESP32-P4-Function-EV-Board with the main chip upgraded to ESP32-P4 chip revision v3.1 or later (PCB V1.6). Firmware and board targets for the older board do not carry over: Zephyr, for example, has a separate esp32p4x_function_ev_board target, and the v3.x silicon adds a VDD_HP_1 power rail. The board's LDO_VO3 and LDO_VO4 outputs also power some on-board VDD domains, so your firmware must set their voltage and enable state, which also affects sleep current.

Chip revision v3.1 on this board does not support Secure Download Mode. Espressif says not to enable it.

USB ports share pins and interfaces

The USB 2.0 Type-C (device) port and the USB 2.0 Type-A (host) port share the High-Speed USB interface and cannot be used at the same time. GPIO26 and GPIO27 are on the 40-pin header (J1 pins 31 and 38) but are also the USB Full-speed port data lines (silkscreen "USB FS (IO26&IO27)"). The USB Serial/JTAG port uses GPIO24/GPIO25.

Do not use GPIO26/GPIO27 as GPIO while the USB Full-speed port is in use.

The LCD and camera ribbon cables are not the same type

The 7 inch LCD and 2 MP camera are optional in the package. The camera connects with a forward ribbon cable (contacts on the same side at both ends), while the LCD uses a reverse cable (contacts on opposite sides). Swapping them or fitting the wrong type leaves the display or camera dead.

Downloads

Free for non-commercial use, credit espboards.dev · License
Espressif ESP32-P4X-Function-EV-Board board illustration, front

Board illustration

The bare Espressif ESP32-P4X-Function-EV-Board board drawn to scale at 88 × 74 mm, with no pin labels on it. Made for slide decks, wiring diagrams and project write-ups where a photo is too busy. Take the scalable SVG for print or editing, the high-resolution PNG to drop straight in, or the transparent PNG when you need it with no background behind it.

Espressif ESP32-P4X-Function-EV-Board pinout diagram

Pinout diagram

Every pin on both sides of the board with its functions, drawn by ESPboards from the ESP32-P4 Series Datasheet v0.7 - the same sheet shown at the top of this page. The PNG is a high-resolution image for screens, the SVG is vector so it stays sharp at any size, and the PDF is laid out to print on A4 or Letter.

Free for non-commercial use, with the credit line kept.

Embed the Espressif ESP32-P4X-Function-EV-Board pinout

Paste this where you want the diagram. Keep the credit line - it is what the licence asks for, and it is the only thing we want in return.

<figure>
  <img src="https://cdn.espboards.net/boards/espressif-esp32-p4x-function-ev-board/diagram-1600.png"
       alt="Espressif ESP32-P4X-Function-EV-Board pinout diagram" width="1600" loading="lazy">
  <figcaption>
    Espressif ESP32-P4X-Function-EV-Board pinout by
    <a href="https://www.espboards.dev/esp32/espressif-esp32-p4x-function-ev-board/">ESPboards</a>,
    <a href="https://creativecommons.org/licenses/by-nc/4.0/">CC BY-NC 4.0</a>
  </figcaption>
</figure>

Using it commercially? Ask us first - it takes one email.

Yours to use, share and adapt for non-commercial work, as long as you credit espboards.dev - the full terms and ready-made credit lines are here.

Specifications

ESP32-P4 · 88 × 74 mm · vs other ESP32 chips →
Compute
MCU
ESP32-P4 · RISC-V
Clock
400 MHz
SRAM · Flash
768 KB · 16MB · 32MB PSRAM
Radio
Wi-Fi
-
Bluetooth
-
Antenna
PCB
I/O
GPIO · ADC
26 · 6
UART · I²C · SPI
5 +1 LP · 2 +1 LP · 2
PWM
8 channels
Power
USB
USB-C (native) · USB-C (native) · USB-C (native) · USB-A (native)
Serial
Native (CDC)
Boot address
0x2000
Electrical
Input
5V via the USB 2.0 Type-C, USB Full-speed or USB Serial/JTAG port
Consumption
-
Regulator
-
Display
Screen
LCD · 7" · 1024x600
Driver
-
Touch
Yes
Flashing
Upload · OTA
esptool_py · esp_ota
Flash · Boot mode
- · -
Sketch · Data
- · -

Dimensions

Espressif ESP32-P4X-Function-EV-Board board, drawn to scale
74 mm88 mm
88 × 74 mm · pin pitch 2.54 mm
The Espressif ESP32-P4X-Function-EV-Board uses esptool_py for firmware uploads, esp_ota for over-the-air (OTA) updates.

About this board

At 88 × 74 mm it's the smallest ESP32-P4 board we've measured.

The $59.92 price tag is typical for an ESP32-P4 board.

Around the module: 32MB PSRAM, an LCD 7" 1024x600 display with touch, a camera (2MP (MIPI CSI)), a microSD slot, a microphone, a speaker connector (2.00 mm pitch, up to 4 ohm / 3 W), an audio codec (ES8311), an amplifier (NS4150B), wired Ethernet (IP101GR), status LEDs (5V Power) and Reset/Boot/Power switch buttons.

It flashes over native USB - no serial-converter driver needed, which isn't a given among ESP32-P4 boards.

  • ESP32-C6-MINI-1 module for 2.4 GHz Wi-Fi 6 and Bluetooth 5 (LE)
  • MIPI CSI and MIPI DSI connectors (15-pin, 1.0 mm FPC)
  • USB 2.0 High-Speed Type-C (device) and Type-A (host, 500 mA via TPS2051C)
  • RJ45 10/100 Ethernet (IP101GR PHY)
  • MicroSD slot (4-bit)
  • 40 MHz and 32.768 kHz crystals
  • Optional 7-inch 1024x600 capacitive touch LCD and 2 MP MIPI CSI camera kits

Where to buy

prices are typical street prices
Espressif ESP32-P4X-Function-EV-Board
Espressif ESP32-P4X-Function-EV-Board
$59.92per unit, typical

Resources

Similar boards