Internal 8 MB 3.3V SPI PSRAM
QSPI
Chip Pad: GPIO16
Connected internally to GPIO16 (CS#) and GPIO17 (CLK) plus SPI flash data lines
Pins 27 and 28 are disconnected (NC) on the module edge.
ESP32-WROVER-E and ESP32-WROVER-IE pair the dual-core 240 MHz ESP32-D0WD-V3 SoC with 4/8/16 MB of 3.3 V Quad SPI flash AND 8 MB (64 Mbit) of 3.3 V SPI PSRAM in an 18.0×31.4 mm 1.27 mm-pitch castellated footprint. Unlike WROOM-32E, Pins 17–22 (flash bus) AND Pins 27–28 (GPIO16/GPIO17 used internally for PSRAM CS#/CLK) are disconnected (NC) at the module edge, leaving 24 clean external GPIOs.
Pins 27 and 28 are disconnected (NC) on the module edge.
3.3V Quad SPI XIP flash memory.
Add the peripherals you need and plan the pin assignments
| 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 | NC | nc | — |
NC on WROVER-E (isolated from internal SPI flash; leave floating)
|
| 18 | NC | nc | — |
NC on WROVER-E (isolated from internal SPI flash; leave floating)
|
| 19 | NC | nc | — |
NC on WROVER-E (isolated from internal SPI flash; leave floating)
|
| 20 | NC | nc | — |
NC on WROVER-E (isolated from internal SPI flash; leave floating)
|
| 21 | NC | nc | — |
NC on WROVER-E (isolated from internal SPI flash; leave floating)
|
| 22 | NC | nc | — |
NC on WROVER-E (isolated from internal SPI flash; leave floating)
|
| 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 | NC | nc | — |
NC on WROVER-E (GPIO16 used internally for 8 MB PSRAM CS#; leave floating!)
|
| 28 | NC | nc | — |
NC on WROVER-E (GPIO17 used internally for 8 MB PSRAM CLK; leave floating!)
|
| 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)
|