ESP32 Pinout Reference
A mobile-friendly ESP32 DevKit / WROOM-32 reference for GPIO, ADC, DAC, PWM, touch sensors, I2C, SPI, UART, power pins, input-only pins and boot strapping pins.
⚠️ Key Safety Note: ESP32 GPIO pins are 3.3 V logic only. They are not 5 V tolerant. GPIO6 to GPIO11 are normally connected to flash memory and should not be used on common ESP32-WROOM boards.
🧭 Visual ESP32 DevKit pinout diagram
📌 ESP32 GPIO quick list
Search Pin / Function
Filter Group
Quick filters:
📋 Searchable ESP32 pin table
| GPIO / Pin | Main functions | Group | Important note |
|---|
📋 Common ESP32 Interfaces
🔁 Default I2C
SDAGPIO21
SCLGPIO22
Noteremappable
🟣 VSPI
MOSIGPIO23
MISOGPIO19
SCKGPIO18
CSGPIO5
🎛️ ADC / DAC
ADC132–39
Input only34–39
DAC25 / 26
📚 Engineering Notes
3.3 V logic only ESP32 GPIOs are not 5 V tolerant. Use a level shifter or divider for 5 V sensors and Arduino boards.
Boot strapping pins need care GPIO0, GPIO2, GPIO4, GPIO5, GPIO12 and GPIO15 can affect boot mode if pulled incorrectly during reset.
ADC2 and Wi‑Fi ADC2 pins may be unavailable or unreliable while Wi‑Fi is active. Prefer ADC1 pins GPIO32–GPIO39 for analog readings with Wi‑Fi.
Input-only pins GPIO34, GPIO35, GPIO36 and GPIO39 are input-only. They cannot drive LEDs, relays or output signals.
ESP32 Pinout Reference
This ESP32 pinout reference helps makers quickly identify safe pins for sensors, displays, relay boards, I2C modules, SPI screens, UART devices, PWM outputs, touch buttons and analog inputs.
Best ESP32 pins to use
For general projects, GPIO16, GPIO17, GPIO18, GPIO19, GPIO21, GPIO22, GPIO23, GPIO25, GPIO26, GPIO27, GPIO32 and GPIO33 are commonly useful. Always check your exact board because ESP32 development-board pin layouts vary.
❓ Frequently Asked Questions
No. ESP32 GPIO pins are 3.3 V logic only. Do not connect a 5 V signal directly to an ESP32 input.
The common Arduino ESP32 defaults are GPIO21 for SDA and GPIO22 for SCL. ESP32 I2C can usually be assigned to other pins in software.
GPIO34, GPIO35, GPIO36 and GPIO39 are input-only pins. They are useful for ADC input but cannot output HIGH/LOW or PWM.
ADC1 pins include GPIO32, GPIO33, GPIO34, GPIO35, GPIO36 and GPIO39. ADC2 pins include GPIO0, GPIO2, GPIO4, GPIO12–15 and GPIO25–27, but ADC2 can conflict with Wi‑Fi.
Classic ESP32 chips have DAC output on GPIO25 and GPIO26.
Avoid GPIO6 to GPIO11 because they are usually connected to onboard flash. Be careful with strapping pins GPIO0, GPIO2, GPIO4, GPIO5, GPIO12 and GPIO15.
Most output-capable ESP32 GPIO pins can generate PWM using the LEDC peripheral, but input-only pins GPIO34 to GPIO39 cannot output PWM.
Common VSPI defaults are GPIO23 for MOSI, GPIO19 for MISO, GPIO18 for SCK and GPIO5 for CS.