ESP32 (Classic) GPIO Hardware Specifications

Important Considerations:

GPIO I/O Capable Int. PU/PD ADC Ch. DAC Ch. Touch Ch. RTC GPIO Strapping Pin? Default/Common Peripherals & Notes
0 Yes Yes ADC1_CH1 - T1 RTC_11 Yes Boot mode select (0=Download, 1=Flash). Driven Low for Download. Often suggested for I2C SDA.
1 Yes Yes - - - - No UART0 TXD (Programming/Log). HIGH at boot.
2 Yes Yes ADC1_CH2 - T2 RTC_12 Yes Must be LOW to enter serial bootloader. Often onboard LED. HSPIWP (WROVER).
3 Yes Yes - - - - No UART0 RXD (Programming/Log). HIGH at boot.
4 Yes Yes ADC1_CH0 - T0 RTC_10 No HSPIHD (WROVER).
5 Yes Yes - - - - Yes VSPICS0. Must be HIGH during boot for SPI flash boot.
6 Yes Yes - - - - No SPI Flash CLK (SCK/SD_CLK) - DO NOT USE on WROOM/WROVER
7 Yes Yes - - - - No SPI Flash DATA0 (SD0/SD_DATA0) - DO NOT USE on WROOM/WROVER
8 Yes Yes - - - - No SPI Flash DATA1 (SD1/SD_DATA1) - DO NOT USE on WROOM/WROVER
9 Yes Yes - - - - No SPI Flash DATA2 (SD2/SD_DATA2/HSPIHD) - DO NOT USE on WROOM/WROVER
10 Yes Yes - - - - No SPI Flash DATA3 (SD3/SD_DATA3/HSPIWP) - DO NOT USE on WROOM/WROVER
11 Yes Yes - - - - No SPI Flash CMD (CMD/SD_CMD) - DO NOT USE on WROOM/WROVER
12 Yes Yes ADC2_CH5 - T5 RTC_15 Yes JTAG TDO / MTDI. Default HSPIQ (MISO). Pulled LOW by default; HIGH at boot affects flash voltage.
13 Yes Yes ADC2_CH4 - T4 RTC_14 No JTAG TCK / MTCK. Default HSPICLK.
14 Yes Yes ADC2_CH6 - T6 RTC_16 No JTAG TMS / MTMS. Default HSPID (MOSI).
15 Yes Yes ADC2_CH3 - T3 RTC_13 Yes JTAG TDI / MTDO. Default HSPICS0. Must be LOW during boot (unless silencing boot messages).
16 Yes Yes - - - - No UART2 RXD. Used for PSRAM on WROVER - Avoid if using PSRAM.
17 Yes Yes - - - - No UART2 TXD. Used for PSRAM on WROVER - Avoid if using PSRAM.
18 Yes Yes - - - - No VSPICLK (SPI Clock)
19 Yes Yes - - - - No VSPIQ (SPI MISO)
21 Yes Yes - - - - No Common I2C SDA
22 Yes Yes - - - - No Common I2C SCL
23 Yes Yes - - - - No VSPID (SPI MOSI)
25 Yes Yes ADC2_CH8 DAC_1 T8 RTC_6 No DAC Output 1
26 Yes Yes ADC2_CH9 DAC_2 T9 RTC_7 No DAC Output 2
27 Yes Yes ADC2_CH7 - T7 RTC_17 No -
32 Yes Yes ADC1_CH4 - T9 RTC_9 No 32kHz Crystal Input (XTAL_32K_P)
33 Yes Yes ADC1_CH5 - T8 RTC_8 No 32kHz Crystal Output (XTAL_32K_N)
34 Input Only No ADC1_CH6 - - RTC_4 No Input Only! No internal pull-up/down.
35 Input Only No ADC1_CH7 - - RTC_5 No Input Only! No internal pull-up/down.
36 Input Only No ADC1_CH0 - - RTC_0 No SENSOR_VP. Input Only! No internal pull-up/down.
37 Input Only No ADC1_CH1 - - RTC_1 No SENSOR_CAPP. Input Only! No internal pull-up/down. (Often not exposed)
38 Input Only No ADC1_CH2 - - RTC_2 No SENSOR_CAPN. Input Only! No internal pull-up/down. (Often not exposed)
39 Input Only No ADC1_CH3 - - RTC_3 No SENSOR_VN. Input Only! No internal pull-up/down.

Legend:

Capability Present (Yes / Configurable) Input Only Pin Strapping Pin SPI Flash Pin (Avoid on Modules) ADC Capable Cell *ADC2 requires Wi-Fi off DAC Capable Cell Touch Sensor Capable Cell RTC GPIO Capable Cell - / No: Capability Not Present