ESP32-S2-WROVER

WROVER module · based on ESP32-S2 · Active

  • Xtensa LX7
  • 1× @ 240 MHz
  • Wi-Fi 4
  • 4 / 8 / 16 MB flash
  • 2 MB PSRAM
  • 37 GPIO
  • PCB antenna
Check price on AliExpress →

As an affiliate we may earn from qualifying purchases. Prices and availability are set by AliExpress.

Loading 3D model…

Interactive 3D model · drag to rotate

Every figure here is checked against Espressif’s official datasheets. We’ve taken every care to keep it accurate — but datasheets are dense and mistakes happen, so if something looks off, please report it.

The ESP32-S2-WROVER is a PSRAM-equipped Espressif module built on the ESP32-S2 single-core Xtensa LX7 SoC clocked up to 240 MHz. It pairs 2.4 GHz Wi-Fi 4 with up to 16 MB flash and up to 2 MB PSRAM, routes the radio to a PCB antenna, and breaks out 37 GPIO; the module measures 18 × 31 × 3.3 mm.

The extra PSRAM gives headroom for framebuffers, audio buffers and richer touch GUIs. Secure boot and flash encryption are available for production security. Espressif lists target uses including Generic Low-power IoT Sensor Hub, Smart Building, Generic Low-power IoT Data Loggers, Industrial Automation and Cameras for Video Streaming.

Colour-coded by function · safe · ! use with care · reserved (flash/USB). Generated from the datasheet — not an official Espressif figure.
ESP32-S2-WROVER pinout diagram — pins colour-coded by function with safe and use-with-care badges
#NameTypeFunctions
1GNDP Ground
23V3P Power supply
3IO0I/O/T RTC_GPIO0, GPIO0
4IO1I/O/T RTC_GPIO1, GPIO1, TOUCH1, ADC1_CH0
5IO2I/O/T RTC_GPIO2, GPIO2, TOUCH2, ADC1_CH1
6IO3I/O/T RTC_GPIO3, GPIO3, TOUCH3, ADC1_CH2
7IO4I/O/T RTC_GPIO4, GPIO4, TOUCH4, ADC1_CH3
8IO5I/O/T RTC_GPIO5, GPIO5, TOUCH5, ADC1_CH4
9IO6I/O/T RTC_GPIO6, GPIO6, TOUCH6, ADC1_CH5
10IO7I/O/T RTC_GPIO7, GPIO7, TOUCH7, ADC1_CH6
11IO8I/O/T RTC_GPIO8, GPIO8, TOUCH8, ADC1_CH7
12IO9I/O/T RTC_GPIO9, GPIO9, TOUCH9, ADC1_CH8, FSPIHD
13IO10I/O/T RTC_GPIO10, GPIO10, TOUCH10, ADC1_CH9, FSPICS0, FSPIIO4
14IO11I/O/T RTC_GPIO11, GPIO11, TOUCH11, ADC2_CH0, FSPID, FSPIIO5
15IO12I/O/T RTC_GPIO12, GPIO12, TOUCH12, ADC2_CH1, FSPICLK, FSPIIO6
16IO13I/O/T RTC_GPIO13, GPIO13, TOUCH13, ADC2_CH2, FSPIQ, FSPIIO7
17IO14I/O/T RTC_GPIO14, GPIO14, TOUCH14, ADC2_CH3, FSPIWP, FSPIDQS
18IO15I/O/T RTC_GPIO15, GPIO15, U0RTS, ADC2_CH4, XTAL_32K_P
19IO16I/O/T RTC_GPIO16, GPIO16, U0CTS, ADC2_CH5, XTAL_32K_N
20IO17I/O/T RTC_GPIO17, GPIO17, U1TXD, ADC2_CH6, DAC_1
21IO18I/O/T RTC_GPIO18, GPIO18, U1RXD, ADC2_CH7, DAC_2, CLK_OUT3
22IO19I/O/T RTC_GPIO19, GPIO19, U1RTS, ADC2_CH8, CLK_OUT2, USB_D-
23IO20I/O/T RTC_GPIO20, GPIO20, U1CTS, ADC2_CH9, CLK_OUT1, USB_D+
24IO21I/O/T RTC_GPIO21, GPIO21
25IO26I/O/T SPICS1, GPIO26 2
26GNDP Ground
27IO33I/O/T SPIIO4, GPIO33, FSPIHD
28IO34I/O/T SPIIO5, GPIO34, FSPICS0
29IO35I/O/T SPIIO6, GPIO35, FSPID
30IO36I/O/T SPIIO7, GPIO36, FSPICLK
31IO37I/O/T SPIDQS, GPIO37, FSPIQ
32IO38I/O/T GPIO38, FSPIWP
33IO39I/O/T MTCK, GPIO39, CLK_OUT3
34IO40I/O/T MTDO, GPIO40, CLK_OUT2
35IO41I/O/T MTDI, GPIO41, CLK_OUT1
36IO42I/O/T MTMS, GPIO42
37TXD0I/O/T U0TXD, GPIO43, CLK_OUT1
38RXD0I/O/T U0RXD, GPIO44, CLK_OUT2
39IO45I/O/T GPIO45
40IO46I GPIO46 End of Life (EOL)
41ENI Chip enable
42GNDP Ground
Official datasheet pin-layout figure
ESP32-S2-WROVER datasheet pin layout (top view)

Find a pin by function

Pick a capability to see which GPIOs provide it on the ESP32-S2.

Freely usable, no special role.

GPIO1general-purpose
GPIO2general-purpose
GPIO3general-purpose
GPIO4general-purpose
GPIO5general-purpose
GPIO6general-purpose
GPIO7general-purpose
GPIO8general-purpose
GPIO9general-purpose
GPIO10general-purpose
GPIO11general-purpose! ADC2 — unusable while Wi-Fi is on
GPIO12general-purpose! ADC2 — unusable while Wi-Fi is on
GPIO13general-purpose! ADC2 — unusable while Wi-Fi is on
GPIO14general-purpose! ADC2 — unusable while Wi-Fi is on
GPIO15general-purpose! ADC2 — unusable while Wi-Fi is on
GPIO16general-purpose! ADC2 — unusable while Wi-Fi is on
GPIO17general-purpose! ADC2 — unusable while Wi-Fi is on
GPIO18general-purpose! ADC2 — unusable while Wi-Fi is on
GPIO21general-purpose
GPIO26general-purpose
GPIO33general-purpose
GPIO34general-purpose
GPIO35general-purpose
GPIO36general-purpose
GPIO37general-purpose
GPIO38general-purpose

! Usable for general IO, but one function has a condition (e.g. ADC2 can’t be read while Wi-Fi is on) — see the note.

UART, I²C, SPI (master), I²S, PWM/LEDC and most digital peripherals route through the GPIO matrix — assign them to any pin from “Safe GPIO”. The categories above are the pins tied to a fixed function (analog, USB, crystal…) or that need care.

Strapping pins

⚑ flag an error

GPIOs sampled at reset — avoid driving these at power-up.

PinDefaultBitFunction
GPIO0pull-up1boot_mode
GPIO45pull-down0flash_voltage
GPIO46pull-down0boot

GPIO pin warnings

⚑ flag an error

On the ESP32-S2, almost any peripheral can be routed to almost any GPIO through the IO MUX, so most pins are free to use. These are the exceptions — pins with a fixed role or a boot-time behaviour to design around.

PinWhy it needs care
GPIO0strapping pin (affects boot)
GPIO19native USB D±
GPIO20native USB D±
GPIO39JTAG
GPIO40JTAG
GPIO41JTAG
GPIO42JTAG
GPIO43UART0 console (boot log)
GPIO44UART0 console (boot log)
GPIO45strapping pin (affects boot)
GPIO46strapping pin (affects boot); input-only (no output/pull-up)
  • The ADC2 channels share hardware with the Wi-Fi radio, so ADC2 readings are unavailable while Wi-Fi is active — but those GPIOs are still free for any digital function. Use the ADC1 channels for analog input alongside Wi-Fi.

Compute & memory

⚑ flag an error
CPUXtensa LX7, 1-core
Max clock240 MHz
SRAM320 KB
ROM128 KB
Flash options4 / 8 / 16 MB
PSRAM2 MB (quad)
Co-processorULP-RISC-V
Wi-FiWi-Fi 4
Wi-Fi bands2.4GHz
Bluetooth
802.15.4 (Thread/Zigbee)No
AntennaPCB

Peripherals & I/O

⚑ flag an error
Usable GPIO37
ADC20× 12-bit
USBUSB-OTG
UART / SPI / I²C / I²S2 / 2 / 2 / 1
TWAI (CAN)Yes
SD/MMCNo
Ethernet MACNo
Touch14
Operating voltage3.0-3.6 V
Deep sleep— µA
Dimensions18 × 31 × 3.3 mm
Pin count42
Temp range-40 to 85 °C
MountingSMD castellated
LifecycleActive
Secure bootYes
Flash encryptionYes
CryptoAES, SHA, RSA, HMAC, RNG
Digital signatureYes
TRNGYes

Schematics

ESP32-S2-WROVER module reference-design schematic
Module reference design
ESP32-S2-WROVER peripheral / application schematic showing how to wire the module
Peripheral / application circuit — how to wire it up

Mechanical & CAD

ESP32-S2-WROVER physical dimensions drawing
Physical dimensions
ESP32-S2-WROVER recommended PCB land pattern
Recommended PCB land pattern

Getting started

Frameworks: Arduino-ESP32 core — fully supported · ESP-IDF 4.2+ (Espressif's official SDK) · MicroPython · Matter.

ESP-IDF target: idf.py set-target esp32s2.

The SoC has native USB-OTG, so it can flash over USB and act as a USB device or host.

Open-source projects using this module

Public GitHub projects whose KiCad design files reference the ESP32-S2-WROVER.

+ Add your project

Frequently asked questions

Does the ESP32-S2-WROVER have Wi-Fi and Bluetooth?

It provides 2.4 GHz Wi-Fi 4.

How much memory does the ESP32-S2-WROVER have?

It comes with 4, 8, 16 MB flash options, up to 2 MB of PSRAM, and the ESP32-S2 has 320 KB of on-chip SRAM.

How many GPIO pins does the ESP32-S2-WROVER have?

The module breaks out 37 GPIO, with up to 20 12-bit ADC channels. See the full pinout above.

Can I use the ESP32-S2-WROVER with the Arduino IDE?

Yes — install the Arduino-ESP32 core and pick an ESP32-S2-based board. You can also use ESP-IDF 4.2 or MicroPython.

How do I flash the ESP32-S2-WROVER?

The SoC has native USB-OTG, so it can flash over USB and act as a USB device or host.

Is the ESP32-S2-WROVER 5 V tolerant?

No. It runs at 3.0-3.6 V and its GPIO are not 5 V tolerant — level-shift any 5 V signals.

Can I use an external antenna with the ESP32-S2-WROVER?

Most Espressif modules are also offered in a "-U" / "-1U" variant that swaps the on-board PCB antenna for a U.FL/IPEX connector for an external antenna — otherwise identical. Check this part's datasheet for the exact variant name.

Further reading