GPIO Map
This page documents all GPIO allocations on the ESP32-P4-WIFI6-DEV-KIT, covering both the external 40-pin header and internal connections to onboard peripherals.
40-pin header GPIO assignments
Section titled “40-pin header GPIO assignments”The header uses a 2x20 layout at 2.54 mm pitch. Pin 1 is top-left.
| Pin | Function | GPIO | Pin | Function | GPIO | |
|---|---|---|---|---|---|---|
| 1 | 3V3 | — | 2 | 5V | — | |
| 3 | SDA | GPIO7 | 4 | 5V | — | |
| 5 | SCL | GPIO8 | 6 | GND | — | |
| 7 | GPIO | GPIO23 | 8 | TXD | GPIO37 | |
| 9 | GND | — | 10 | RXD | GPIO38 | |
| 11 | GPIO | GPIO21 | 12 | GPIO | GPIO22 | |
| 13 | GPIO | GPIO20 | 14 | GND | — | |
| 15 | GPIO | GPIO6 | 16 | GPIO | GPIO5 | |
| 17 | 3V3 | — | 18 | GPIO | GPIO4 | |
| 19 | GPIO | GPIO3 | 20 | GND | — | |
| 21 | GPIO | GPIO2 | 22 | GPIO | GPIO1 | |
| 23 | GPIO | GPIO0 | 24 | GPIO | GPIO36 | |
| 25 | GND | — | 26 | GPIO | GPIO32 | |
| 27 | GPIO | GPIO24 | 28 | GPIO | GPIO25 | |
| 29 | GPIO | GPIO33 | 30 | GND | — | |
| 31 | GPIO | GPIO26 | 32 | GPIO | GPIO54 | |
| 33 | GPIO | GPIO48 | 34 | GND | — | |
| 35 | GPIO | GPIO53 | 36 | GPIO | GPIO46 | |
| 37 | GPIO | GPIO47 | 38 | GPIO | GPIO27 | |
| 39 | GND | — | 40 | GPIO | GPIO45 |
Internal peripheral GPIO assignments
Section titled “Internal peripheral GPIO assignments”These GPIOs are connected to onboard hardware and are not exposed on the 40-pin header. Reassigning them in software will disable the corresponding onboard peripheral.
I2S audio (ES8311 codec)
Section titled “I2S audio (ES8311 codec)”| Signal | GPIO | Direction | Description |
|---|---|---|---|
| MCLK | GPIO13 | Output | Master clock to ES8311 |
| SCLK | GPIO12 | Output | Serial clock (bit clock) |
| ASDOUT | GPIO11 | Output | Audio serial data out (P4 to codec) |
| LRCK | GPIO10 | Output | Left/right channel clock (word select) |
| DSDIN | GPIO9 | Input | Audio serial data in (codec to P4) |
| PA_Ctrl | GPIO53 | Output | NS4150B amplifier enable |
I2C (default bus)
Section titled “I2C (default bus)”| Signal | GPIO | Direction | Notes |
|---|---|---|---|
| SCL | GPIO8 | Bidirectional | Also on header pin 5 and I2C port |
| SDA | GPIO7 | Bidirectional | Also on header pin 3 and I2C port |
The default I2C bus is shared across three physical connectors: the 40-pin header (pins 3, 5), the dedicated I2C port (component 15), and the internal connection to the ES8311 codec. All devices on these connections share the same I2C bus.
UART (header)
Section titled “UART (header)”| Signal | GPIO | Direction | Notes |
|---|---|---|---|
| TXD | GPIO37 | Output | Header pin 8 |
| RXD | GPIO38 | Input | Header pin 10 |
GPIO allocation summary
Section titled “GPIO allocation summary”| GPIO | Primary Assignment | Shared | Exposed on Header |
|---|---|---|---|
| GPIO0 | General GPIO | No | Yes (pin 23) |
| GPIO1 | General GPIO | No | Yes (pin 22) |
| GPIO2 | General GPIO | No | Yes (pin 21) |
| GPIO3 | General GPIO | No | Yes (pin 19) |
| GPIO4 | General GPIO | No | Yes (pin 18) |
| GPIO5 | General GPIO | No | Yes (pin 16) |
| GPIO6 | General GPIO | No | Yes (pin 15) |
| GPIO7 | I2C SDA | Yes (header + I2C port + codec) | Yes (pin 3) |
| GPIO8 | I2C SCL | Yes (header + I2C port + codec) | Yes (pin 5) |
| GPIO9 | I2S DSDIN | Internal (audio) | No |
| GPIO10 | I2S LRCK | Internal (audio) | No |
| GPIO11 | I2S ASDOUT | Internal (audio) | No |
| GPIO12 | I2S SCLK | Internal (audio) | No |
| GPIO13 | I2S MCLK | Internal (audio) | No |
| GPIO20 | General GPIO | No | Yes (pin 13) |
| GPIO21 | General GPIO | No | Yes (pin 11) |
| GPIO22 | General GPIO | No | Yes (pin 12) |
| GPIO23 | General GPIO | No | Yes (pin 7) |
| GPIO24 | General GPIO | No | Yes (pin 27) |
| GPIO25 | General GPIO | No | Yes (pin 28) |
| GPIO26 | General GPIO | No | Yes (pin 31) |
| GPIO27 | General GPIO | No | Yes (pin 38) |
| GPIO32 | General GPIO | No | Yes (pin 26) |
| GPIO33 | General GPIO | No | Yes (pin 29) |
| GPIO36 | General GPIO | No | Yes (pin 24) |
| GPIO37 | UART TXD | No | Yes (pin 8) |
| GPIO38 | UART RXD | No | Yes (pin 10) |
| GPIO45 | General GPIO | No | Yes (pin 40) |
| GPIO46 | General GPIO | No | Yes (pin 36) |
| GPIO47 | General GPIO | No | Yes (pin 37) |
| GPIO48 | General GPIO | No | Yes (pin 33) |
| GPIO53 | PA_Ctrl / GPIO | Yes (audio amp + header) | Yes (pin 35) |
| GPIO54 | General GPIO | No | Yes (pin 32) |
GPIO assignments sourced from the Waveshare ESP32-P4-WIFI6-DEV-KIT Wiki and ESP32-P4 datasheet.