ESP32-WROOM-32E

module
Espressif Systems Datasheet ↗

Powered by the ECO V3 ESP32-D0WD-V3 dual-core 240 MHz SoC, 40 MHz crystal, and 4/8/16 MB of 3.3 V Quad SPI flash, ESP32-WROOM-32E (18.0×25.5 mm PCB antenna) and ESP32-WROOM-32UE (18.0×19.2 mm U.FL) are Espressif's flagship classic ESP32 modules. Twenty-six usable GPIOs (including 4 input-only ADC1 pins on Pin 4–7 and 2× 8-bit DACs on IO25/IO26) are broken out on 1.27 mm castellated edges. Pins 17–22 expose the internal Quad SPI flash bus and must be left unconnected, while IO12 must not be pulled high at reset.

ESPRESSIF ESP32-WROOM-32E 1 GND GND GND 2 3V3 ! 3V3 3V3 3 EN ! CHIP_PU CHIP_PU 4 SENSOR_VP ! GPIO36 ADC1_CH0 GPIO36 ADC1_CH0 5 SENSOR_VN ! GPIO39 ADC1_CH3 GPIO39 ADC1_CH3 6 IO34 ! GPIO34 ADC1_CH6 GPIO34 ADC1_CH6 7 IO35 ! GPIO35 ADC1_CH7 GPIO35 ADC1_CH7 8 IO32 GPIO32 ADC1_CH4 System Clock +2 GPIO32 ADC1_CH4 TOUCH9 XTAL_32K_P 9 IO33 GPIO33 ADC1_CH5 System Clock +2 GPIO33 ADC1_CH5 TOUCH8 XTAL_32K_N 10 IO25 ! GPIO25 ADC2_CH8 DAC_1 GPIO25 ADC2_CH8 DAC_1 11 IO26 ! GPIO26 ADC2_CH9 DAC_2 GPIO26 ADC2_CH9 DAC_2 12 IO27 ! GPIO27 ADC2_CH7 TOUCH7 GPIO27 ADC2_CH7 TOUCH7 13 IO14 ! GPIO14 HSPICLK ADC System Debug +3 GPIO14 ADC2_CH6 TOUCH6 HSPICLK MTMS 14 IO12 ! GPIO12 HSPIQ ADC System Debug +3 GPIO12 ADC2_CH5 TOUCH5 HSPIQ MTDI 15 GND GND GND 16 IO13 ! GPIO13 HSPID ADC System Debug +3 GPIO13 ADC2_CH4 TOUCH4 HSPID MTCK 17 SD2 ! GPIO9 SPIHD GPIO9 SPIHD 18 SD3 ! GPIO10 SPIWP GPIO10 SPIWP 19 CMD ! GPIO11 SPICS0 GPIO11 SPICS0 20 CLK ! GPIO6 SPICLK GPIO6 SPICLK 21 SD0 ! GPIO7 SPIQ GPIO7 SPIQ 22 SD1 ! GPIO8 SPID GPIO8 SPID 23 IO15 ! GPIO15 HSPICS0 ADC System Debug +3 GPIO15 ADC2_CH3 TOUCH3 HSPICS0 MTDO 24 IO2 ! GPIO2 ADC2_CH2 TOUCH2 GPIO2 ADC2_CH2 TOUCH2 25 IO0 ! GPIO0 ADC2_CH1 TOUCH1 GPIO0 ADC2_CH1 TOUCH1 26 IO4 ! GPIO4 ADC2_CH0 TOUCH0 GPIO4 ADC2_CH0 TOUCH0 27 IO16 GPIO16 U2RXD GPIO16 U2RXD 28 IO17 GPIO17 U2TXD GPIO17 U2TXD 29 IO5 ! GPIO5 VSPICS0 GPIO5 VSPICS0 30 IO18 GPIO18 VSPICLK GPIO18 VSPICLK 31 IO19 GPIO19 VSPIQ U0CTS GPIO19 VSPIQ U0CTS 32 NC 33 IO21 GPIO21 I2C0_SDA GPIO21 I2C0_SDA 34 RXD0 ! GPIO3 U0RXD GPIO3 U0RXD 35 TXD0 ! GPIO1 U0TXD GPIO1 U0TXD 36 IO22 GPIO22 I2C0_SCL U0RTS GPIO22 I2C0_SCL U0RTS 37 IO23 GPIO23 VSPID GPIO23 VSPID 38 GND GND GND 39 EPAD GND GND

Onboard Peripherals & Internal Signals

Internal Quad SPI Flash (4 / 8 / 16 MB) QSPI
Chip Pad: GPIO6
Connected to GPIO6–GPIO11 inside RF shield (exposed on Pins 17–22; leave unconnected!)

3.3V Quad SPI XIP flash memory powered via VDD_SDIO.

Pin Assignment Planner

Add the peripherals you need and plan the pin assignments

Full Pin Reference (39 Pins)

Pin # Label Type Functions Warnings & Notes
1 GND ground GND
Module system ground (0V)
2 3V3 power 3V3
[CAUTION] 3.0V–3.6V supply only (>=500 mA current capability + 10 µF & 0.1 µF decoupling)
Wi-Fi TX bursts draw high peak current. Exceeding 3.6V permanently damages the SoC and onboard flash.
Main 3.3V module power supply input (3.0V–3.6V; >=500 mA regulator recommended)
3 EN CHIP_PU reset CHIP_PU
[CAUTION] Active-HIGH chip enable / reset — never leave floating
High enables ESP32; Low powers off the chip. Connect an external 10 kΩ pull-up to 3.3V and 1 µF delay capacitor to GND.
Active-HIGH chip enable / reset input (EN / CHIP_PU)
4 SENSOR_VP GPIO36 mixed GPIO36 ADC1_CH0
[CAUTION] Input-only pin — NO output driver and NO internal pull-up/pull-down resistors
GPIO36 (RTC/ADC1 domain) can only be used as a digital or analog input. Provide an external pull-up or pull-down resistor if driven by an open-drain or mechanical switch.
Input-only RTC/ADC1 GPIO36 (no output driver, no internal pull resistors, 3.3V max)
5 SENSOR_VN GPIO39 mixed GPIO39 ADC1_CH3
[CAUTION] Input-only pin — NO output driver and NO internal pull-up/pull-down resistors
GPIO39 (RTC/ADC1 domain) can only be used as a digital or analog input. Provide an external pull-up or pull-down resistor if driven by an open-drain or mechanical switch.
Input-only RTC/ADC1 GPIO39 (no output driver, no internal pull resistors, 3.3V max)
6 IO34 GPIO34 mixed GPIO34 ADC1_CH6
[CAUTION] Input-only pin — NO output driver and NO internal pull-up/pull-down resistors
GPIO34 (RTC/ADC1 domain) can only be used as a digital or analog input. Provide an external pull-up or pull-down resistor if driven by an open-drain or mechanical switch.
Input-only RTC/ADC1 GPIO34 (no output driver, no internal pull resistors, 3.3V max)
7 IO35 GPIO35 mixed GPIO35 ADC1_CH7
[CAUTION] Input-only pin — NO output driver and NO internal pull-up/pull-down resistors
GPIO35 (RTC/ADC1 domain) can only be used as a digital or analog input. Provide an external pull-up or pull-down resistor if driven by an open-drain or mechanical switch.
Input-only RTC/ADC1 GPIO35 (no output driver, no internal pull resistors, 3.3V max)
8 IO32 GPIO32 mixed GPIO32 ADC1_CH4 TOUCH9 XTAL_32K_P
General-purpose 3.3V GPIO32 (NOT 5V tolerant)
9 IO33 GPIO33 mixed GPIO33 ADC1_CH5 TOUCH8 XTAL_32K_N
General-purpose 3.3V GPIO33 (NOT 5V tolerant)
10 IO25 GPIO25 mixed GPIO25 ADC2_CH8 DAC_1
[CAUTION] ADC2 channel unavailable while Wi-Fi radio is active
The Wi-Fi transceiver shares the SAR ADC2 controller. Use ADC1 (GPIO32–GPIO39) whenever Wi-Fi and analog reads run concurrently.
General-purpose 3.3V GPIO25 (NOT 5V tolerant)
11 IO26 GPIO26 mixed GPIO26 ADC2_CH9 DAC_2
[CAUTION] ADC2 channel unavailable while Wi-Fi radio is active
The Wi-Fi transceiver shares the SAR ADC2 controller. Use ADC1 (GPIO32–GPIO39) whenever Wi-Fi and analog reads run concurrently.
General-purpose 3.3V GPIO26 (NOT 5V tolerant)
12 IO27 GPIO27 mixed GPIO27 ADC2_CH7 TOUCH7
[CAUTION] ADC2 channel unavailable while Wi-Fi radio is active
The Wi-Fi transceiver shares the SAR ADC2 controller. Use ADC1 (GPIO32–GPIO39) whenever Wi-Fi and analog reads run concurrently.
General-purpose 3.3V GPIO27 (NOT 5V tolerant)
13 IO14 GPIO14 mixed GPIO14 ADC2_CH6 TOUCH6 HSPICLK MTMS
[CAUTION] ADC2 channel unavailable while Wi-Fi radio is active
The Wi-Fi transceiver shares the SAR ADC2 controller. Use ADC1 (GPIO32–GPIO39) whenever Wi-Fi and analog reads run concurrently.
General-purpose 3.3V GPIO14 (NOT 5V tolerant)
14 IO12 GPIO12 mixed GPIO12 ADC2_CH5 TOUCH5 HSPIQ MTDI
[CAUTION] ADC2 channel unavailable while Wi-Fi radio is active
The Wi-Fi transceiver shares the SAR ADC2 controller. Use ADC1 (GPIO32–GPIO39) whenever Wi-Fi and analog reads run concurrently.
[DANGER] VDD_SDIO flash voltage strap (weak pull-down: LOW=3.3V, HIGH=1.8V — boot failure risk!)
Pulling GPIO12 (MTDI) HIGH during reset switches internal flash power VDD_SDIO to 1.8V, causing boot brownout/loops on 3.3V flash modules (WROOM-32E, WROVER-E) unless overridden via eFuse.
General-purpose 3.3V GPIO12 (NOT 5V tolerant)
15 GND ground GND
Module system ground (0V)
16 IO13 GPIO13 mixed GPIO13 ADC2_CH4 TOUCH4 HSPID MTCK
[CAUTION] ADC2 channel unavailable while Wi-Fi radio is active
The Wi-Fi transceiver shares the SAR ADC2 controller. Use ADC1 (GPIO32–GPIO39) whenever Wi-Fi and analog reads run concurrently.
General-purpose 3.3V GPIO13 (NOT 5V tolerant)
17 SD2 GPIO9 digital GPIO9 SPIHD
[DANGER] Connected to internal SPI Flash (SHD/SD2) — DO NOT connect externally!
Wired directly to the module's internal 4/8/16 MB Quad SPI flash inside the RF shield.
General-purpose 3.3V GPIO9 (NOT 5V tolerant)
18 SD3 GPIO10 digital GPIO10 SPIWP
[DANGER] Connected to internal SPI Flash (SWP/SD3) — DO NOT connect externally!
Wired directly to the module's internal 4/8/16 MB Quad SPI flash inside the RF shield.
General-purpose 3.3V GPIO10 (NOT 5V tolerant)
19 CMD GPIO11 digital GPIO11 SPICS0
[DANGER] Dedicated SPI0/1 XIP Flash bus — do not use for general I/O
Connected to the primary SPI boot flash memory. Driving or loading this pin crashes XIP instruction fetches.
General-purpose 3.3V GPIO11 (NOT 5V tolerant)
20 CLK GPIO6 digital GPIO6 SPICLK
[DANGER] Dedicated SPI0/1 XIP Flash bus — do not use for general I/O
Connected to the primary SPI boot flash memory. Driving or loading this pin crashes XIP instruction fetches.
General-purpose 3.3V GPIO6 (NOT 5V tolerant)
21 SD0 GPIO7 digital GPIO7 SPIQ
[DANGER] Dedicated SPI0/1 XIP Flash bus — do not use for general I/O
Connected to the primary SPI boot flash memory. Driving or loading this pin crashes XIP instruction fetches.
General-purpose 3.3V GPIO7 (NOT 5V tolerant)
22 SD1 GPIO8 digital GPIO8 SPID
[DANGER] Dedicated SPI0/1 XIP Flash bus — do not use for general I/O
Connected to the primary SPI boot flash memory. Driving or loading this pin crashes XIP instruction fetches.
General-purpose 3.3V GPIO8 (NOT 5V tolerant)
23 IO15 GPIO15 mixed GPIO15 ADC2_CH3 TOUCH3 HSPICS0 MTDO
[CAUTION] ADC2 channel unavailable while Wi-Fi radio is active
The Wi-Fi transceiver shares the SAR ADC2 controller. Use ADC1 (GPIO32–GPIO39) whenever Wi-Fi and analog reads run concurrently.
[INFO] ROM boot log strapping pin (weak pull-up: HIGH=U0TXD boot log enabled, LOW=silent)
Controls early ROM bootloader messages on U0TXD (GPIO1) during reset.
General-purpose 3.3V GPIO15 (NOT 5V tolerant)
24 IO2 GPIO2 mixed GPIO2 ADC2_CH2 TOUCH2
[CAUTION] ADC2 channel unavailable while Wi-Fi radio is active
The Wi-Fi transceiver shares the SAR ADC2 controller. Use ADC1 (GPIO32–GPIO39) whenever Wi-Fi and analog reads run concurrently.
[CAUTION] Download boot strapping pin (weak pull-down: must be LOW or floating to flash)
Must be LOW or left floating when GPIO0 is pulled LOW to enter UART Download Boot.
General-purpose 3.3V GPIO2 (NOT 5V tolerant)
25 IO0 GPIO0 mixed GPIO0 ADC2_CH1 TOUCH1
[CAUTION] ADC2 channel unavailable while Wi-Fi radio is active
The Wi-Fi transceiver shares the SAR ADC2 controller. Use ADC1 (GPIO32–GPIO39) whenever Wi-Fi and analog reads run concurrently.
[CAUTION] Boot mode strapping pin (weak pull-up: HIGH=SPI Flash Boot, LOW=Download Boot)
Sampled at reset. Holding GPIO0 LOW with GPIO2 LOW enters UART0 Download Boot.
General-purpose 3.3V GPIO0 (NOT 5V tolerant)
26 IO4 GPIO4 mixed GPIO4 ADC2_CH0 TOUCH0
[CAUTION] ADC2 channel unavailable while Wi-Fi radio is active
The Wi-Fi transceiver shares the SAR ADC2 controller. Use ADC1 (GPIO32–GPIO39) whenever Wi-Fi and analog reads run concurrently.
General-purpose 3.3V GPIO4 (NOT 5V tolerant)
27 IO16 GPIO16 digital GPIO16 U2RXD
General-purpose 3.3V GPIO16 (NOT 5V tolerant)
28 IO17 GPIO17 digital GPIO17 U2TXD
General-purpose 3.3V GPIO17 (NOT 5V tolerant)
29 IO5 GPIO5 digital GPIO5 VSPICS0
[INFO] SDIO Slave timing strapping pin (internal weak pull-up)
Sampled at reset only if SDIO Slave mode is used; safe for normal general-purpose output.
General-purpose 3.3V GPIO5 (NOT 5V tolerant)
30 IO18 GPIO18 digital GPIO18 VSPICLK
General-purpose 3.3V GPIO18 (NOT 5V tolerant)
31 IO19 GPIO19 digital GPIO19 VSPIQ U0CTS
General-purpose 3.3V GPIO19 (NOT 5V tolerant)
32 NC nc —
No internal connection — leave floating on host PCB
33 IO21 GPIO21 digital GPIO21 I2C0_SDA
General-purpose 3.3V GPIO21 (NOT 5V tolerant)
34 RXD0 GPIO3 digital GPIO3 U0RXD
[INFO] Default UART0 console & bootloader RX pin
Outputs/receives ROM bootloader traffic at reset unless silenced via GPIO15.
General-purpose 3.3V GPIO3 (NOT 5V tolerant)
35 TXD0 GPIO1 digital GPIO1 U0TXD
[INFO] Default UART0 console & bootloader TX pin
Outputs/receives ROM bootloader traffic at reset unless silenced via GPIO15.
General-purpose 3.3V GPIO1 (NOT 5V tolerant)
36 IO22 GPIO22 digital GPIO22 I2C0_SCL U0RTS
General-purpose 3.3V GPIO22 (NOT 5V tolerant)
37 IO23 GPIO23 digital GPIO23 VSPID
General-purpose 3.3V GPIO23 (NOT 5V tolerant)
38 GND ground GND
Module system ground (0V)
39 EPAD ground GND
Underside exposed thermal & RF ground pad (connect to host GND plane)