● Safe   ● Caution   ● Avoid   Note: All pins are 3.3V. NOT 5V tolerant.

πŸ”Œ GPIO Pin Reference

GPIOFunctionSafe?
0Touch T1, XCLKStrapping
1UART TXSafe
2Touch T2, LEDStrapping
3UART RXSafe
4Touch T0Safe
5VSPI SSStrapping
12Touch T5, JTAGStrapping
13Touch T4Safe
14Touch T6Safe
15Touch T3Strapping
16UART2 RXSafe
17UART2 TXSafe
18VSPI CLKSafe
19VSPI MISOSafe
21I2C SDASafe
22I2C SCLSafe
23VSPI MOSISafe
25DAC1Safe
26DAC2Safe
27Touch T7Safe
32Touch T9, RTCSafe
33Touch T8, RTCSafe
34ADC1_CH6Input only
35ADC1_CH7Input only
36ADC1_CH0Input only
37ADC1_CH1Input only
38ADC1_CH2Input only
39ADC1_CH3Input only

πŸ“Š ADC Channels

ADCChannelsPins
ADC18 (CH0–CH7)GPIO36,37,38,39,32,33,34,35
ADC210 (CH0–CH9)GPIO4,0,2,15,13,12,14,27,25,26

⚠️ ADC2 conflicts with Wi-Fi. Use ADC1 when Wi-Fi is active.

πŸ”„ Communication Buses

BusDefault Pins
I2CSDA=21, SCL=22
VSPIMOSI=23, MISO=19, CLK=18, SS=5
HSPIMOSI=13, MISO=12, CLK=14, SS=15
UART0TX=1, RX=3
UART2TX=17, RX=16

πŸ–οΈ Touch Sensors

ChannelGPIO
T0–T94,0,2,15,13,12,14,27,33,32

🎡 DAC & PWM

FeatureDetails
DAC2 Γ— 8-bit on GPIO25, GPIO26
PWM16 channels, any GPIO, 1–40 MHz, 1–16 bit

⚑ Power Specs

MetricValue
VCC2.3–3.6V (3.3V nominal)
Max GPIO current40 mA per pin (total 200 mA)
Active current75–160 mA
Deep Sleep~5 Β΅A

⚠️ Strapping Pins β€” Critical!

These pins determine boot mode. Connecting them incorrectly can prevent the ESP32 from booting.

PinFunctionBoot Mode
GPIO0Boot mode selectHIGH = normal, LOW = flash download
GPIO2Boot mode confirmMust be LOW (or floating) during boot
GPIO5CS of VDD_SDIODetermines flash voltage (3.3V vs 1.8V!)
GPIO12VDD_SDIO voltageHIGH = 1.8V flash (⚠️ can damage 3.3V flash)
GPIO15JTAG + bootMust be HIGH for normal boot

πŸ”‹ Deep Sleep & RTC GPIO

Wake Sources

  • Timer β€” Wake after N microseconds
  • ext0 β€” Wake on 1 RTC GPIO level
  • ext1 β€” Wake on any of 8 RTC GPIO
  • Touch β€” Wake on capacitive touch
  • ULP β€” Wake via co-processor condition

RTC GPIO Pins (active in sleep)

RTC GPIOGPIO
RTC_GPIO0–536,37,38,39,34,35
RTC_GPIO6–1725,26,33,32,4,0,2,15,13,12,14,27

πŸ“‘ ESP32 Variants Quick Specs

ModelCPUGPIOADCWirelessUnique Feature
ESP322Γ— Xtensa LX6 @ 240 MHz3418ch 12-bitWi-Fi + BT 4.2Touch, DAC, CAN, Hall
ESP32-S32Γ— Xtensa LX7 @ 240 MHz4520ch 12-bitWi-Fi + BT 5.0USB OTG, AI accelerator
ESP32-C31Γ— RISC-V @ 160 MHz226ch 12-bitWi-Fi + BT 5.0Lowest cost, RISC-V
ESP32-S21Γ— Xtensa LX7 @ 240 MHz4320ch 12-bitWi-Fi onlyUSB OTG, no BT
ESP32-C61Γ— RISC-V @ 160 MHz308ch 12-bitWi-Fi 6 + BT 5.0 + 802.15.4Matter, Thread, Zigbee
ESP32-H21Γ— RISC-V @ 96 MHz268ch 12-bitBT 5.0 + 802.15.4Ultra-low-power, no Wi-Fi

πŸ”— Useful Math & Constants

CalculationFormula
ADC to voltage (0 dB atten)V = (raw / 4095) Γ— 1.1V
ADC to voltage (11 dB atten)V = (raw / 4095) Γ— 3.3V
PWM frequencyf = 80,000,000 / (2^resolution Γ— divider)
PWM duty (percent)duty = (percent / 100) Γ— (2^resolution)
UART baud rateTypical: 9600, 57600, 115200, 921600

πŸ”§ Interactive ESP32 Pinout Tool

Search and filter all 38 GPIO pins with real-time conflict warnings.

Open Interactive Pinout