Every GPIO is 3.3 V logic and is not 5 V tolerant. The absolute maximum on a pin is 3.6 V, so a 5 V signal wired straight to one is a Fatal connection, not a marginal one.
- Domain
- MCU
- Ports
- 3
- Conductors
- 36
Ports and conductors
Every conductor Zikro reasons about on this device, with the voltage it sits at in normal use and the voltage past which the pin can be damaged. These figures are compared against the other side of a connection, so a wrong row here becomes a wrong verdict.
left header header-left
2.54 mm header, 15-pin male| Conductor | Contact | Signal class | Direction | Nominal | Abs max | Impedance | DC bias |
|---|---|---|---|---|---|---|---|
| EN | 1 | Digital logic | Input | 3.3 V | 3.6 V / 40 mA | unknown | None |
| VP / GPIO36 | 2 | Digital logic | Input | 3.3 V | 3.6 V / 40 mA | unknown | None |
| VN / GPIO39 | 3 | Digital logic | Input | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO34 | 4 | Digital logic | Input | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO35 | 5 | Digital logic | Input | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO32 | 6 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO33 | 7 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO25 | 8 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO26 | 9 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO27 | 10 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO14 | 11 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO12 | 12 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO13 | 13 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GND | 14 | Power rail | Bidirectional | 0 V | unknown | out 0 Ω | None |
| VIN | 15 | Power rail | Input | 5 V | 12 V / 1 A | unknown | None |
right header header-right
2.54 mm header, 15-pin male| Conductor | Contact | Signal class | Direction | Nominal | Abs max | Impedance | DC bias |
|---|---|---|---|---|---|---|---|
| 3V3 | 1 | Power rail | Output | 3.3 V | 3.6 V / 600 mA | unknown | None |
| GND | 2 | Power rail | Bidirectional | 0 V | unknown | out 0 Ω | None |
| GPIO15 | 3 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO2 | 4 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO4 | 5 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO16 | 6 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO17 | 7 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO5 | 8 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO18 | 9 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO19 | 10 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO21 / SDA | 11 | I2C bus | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO3 / RX0 | 12 | UART | Input | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO1 / TX0 | 13 | UART | Output | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO22 / SCL | 14 | I2C bus | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| GPIO23 | 15 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| Conductor | Contact | Signal class | Direction | Nominal | Abs max | Impedance | DC bias |
|---|---|---|---|---|---|---|---|
| VBUS | 1 | Power rail | Input | 5 V | 6 V / 500 mA | unknown | None |
| GND | 2 | Power rail | Bidirectional | 0 V | unknown | out 0 Ω | None |
| CC1 | 3 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| CC2 | 4 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| D+ | 5 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
| D- | 6 | Digital logic | Bidirectional | 3.3 V | 3.6 V / 40 mA | unknown | None |
Quirks
The things no numeric field carries, and the things that actually break builds.
GPIO36, 39, 34 and 35 are input-only. They have no output driver and no internal pull-up or pull-down, so they cannot drive anything and they float unless you add a resistor.
GPIO12 is a strapping pin. Held high at boot it selects a 1.8 V flash voltage and the board will not start. Do not hang a pull-up on it.
GPIO15 and GPIO2 are strapping pins read at reset. Loading them with anything that pulls hard either way can stop the board booting.
The default I2C pins, GPIO21 and GPIO22, have no bus pull-up resistors on the board. An I2C bus with no pull-ups anywhere on it does not communicate at all.
I2C is on GPIO21 and GPIO22 only because that is what the Arduino core defaults to. The ESP32 matrix can put it on almost any pin, so treat these as a default rather than a fixed function.
GPIO6 through GPIO11 are wired to the on-board SPI flash and are not brought out on this 30-pin board. If you see them in a pinout diagram, that diagram is for the 38-pin variant.
The 3V3 pin comes from a small on-board LDO fed from VIN or USB. It will supply a few hundred milliamps at best, and it warms up long before that. Motors and servos need their own supply.
Check this against what you are wiring it to
Put both devices in a project, connect the actual conductors, and read the verdict before you solder anything.
Use in a projectRelated devices
Last reviewed 30 Aug 2026, sourced from datasheet.

