Home / Pinout / ESP32

ESP32 pinout & GPIO reference

The original ESP32: highest shipping volume and the deepest documentation. GPIO 6–11 are taken by internal flash, GPIO 34–39 are input-only, and ADC2 is unavailable while Wi-Fi is active — the three traps every newcomer hits.

Data verified:2026-10-20 · Cross-checked against Espressif datasheets and the ESP-IDF programming guide. Always confirm with the official document before finalizing a design.

Official documentation:link 1

Key specifications

CoreXtensa LX6 dual-core (+1 ULP co-processor)
Clock80 / 160 / 240 MHz configurable
SRAM520 KB
WirelessWi-Fi 802.11 b/g/n · Bluetooth 4.2 + BLE
USBNo native USB — external USB-UART bridge required
ADC2 × 12-bit SAR, 18 channels total
DAC2 × 8-bit (GPIO25 / GPIO26)
Touch10 capacitive touch channels
GPIO0–39 (~26 actually usable)
SecuritySecure Boot · Flash encryption · AES/SHA/RSA acceleration

Traps that cost you a board respin

Full GPIO table

GPIOStatusAlternate functions
GPIO0UsableADC2_CH1TOUCH1
GPIO1UsableUART0 TX
GPIO2UsableADC2_CH2TOUCH2
GPIO3UsableUART0 RX
GPIO4UsableADC2_CH0TOUCH0
GPIO5UsableVSPI CS0
GPIO6UnusableInternal SPI flash
GPIO7UnusableInternal SPI flash
GPIO8UnusableInternal SPI flash
GPIO9UnusableInternal SPI flash
GPIO10UnusableInternal SPI flash
GPIO11UnusableInternal SPI flash
GPIO12UsableADC2_CH5TOUCH5HSPI MISOJTAG TDI
GPIO13UsableADC2_CH4TOUCH4HSPI MOSIJTAG TCK
GPIO14UsableADC2_CH6TOUCH6HSPI SCLKJTAG TMS
GPIO15UsableADC2_CH3TOUCH3HSPI CS0JTAG TDO
GPIO16UsableUART2 RX
GPIO17UsableUART2 TX
GPIO18UsableVSPI SCLK
GPIO19UsableVSPI MISO
GPIO20UnusableNot exposed
GPIO21UsableI²C SDA (default)
GPIO22UsableI²C SCL (default)
GPIO23UsableVSPI MOSI
GPIO24UnusableNot exposed
GPIO25UsableDAC1ADC2_CH8
GPIO26UsableDAC2ADC2_CH9
GPIO27UsableADC2_CH7TOUCH7
GPIO28UnusableNot exposed
GPIO29UnusableNot exposed
GPIO30UnusableNot exposed
GPIO31UnusableNot exposed
GPIO32UsableADC1_CH4TOUCH9
GPIO33UsableADC1_CH5TOUCH8
GPIO34Input onlyADC1_CH6 · input only
GPIO35Input onlyADC1_CH7 · input only
GPIO36Input onlyADC1_CH0 · input only
GPIO37UnusableADC1_CH1 · usually tied to flash
GPIO38UnusableADC1_CH2 · usually tied to flash
GPIO39Input onlyADC1_CH3 · input only

Individual GPIO pages

Related