Skip to main content

Microcontroller

ESP32-WROOM-32E

Espressif's WiFi + Bluetooth SoC module — dual-core Xtensa LX6, the same silicon inside most ESP32 dev boards.

ESP32-WROOM-32E · Espressif Systems

Voltage
3–3.6V
Package
Module
Pins
38
Interfaces
CAN, I2C, I2S, SPI, UART
Lifecycle
Active
Footprint
Not verified

Overview

The ESP32-WROOM-32E is the bare, castellated SMD module: a dual-core Xtensa LX6 SoC with WiFi and Bluetooth Classic/BLE, an SPI flash die, and a PCB antenna, all inside a 18×25.5mm shield can. It's what you'd reach for designing your OWN board around an ESP32 — most people building a project instead want a dev board (see esp32-devkit-v1) that has already wired up the USB-serial bridge, 3.3V regulator, EN/BOOT buttons and a breadboard-friendly header. The module itself needs a handful of support passives to run: a pull-up on EN, a pull-up on GPIO0 (to boot the flashed program instead of the ROM bootloader), and decoupling on 3V3.

Wiring tip: bare module — needs EN/GPIO0 pull-ups and its own 3.3V regulator; use esp32-devkit-v1 unless you're laying out your own board

Ecosystem: esp32

esp32wifibluetoothxtensamodule

Pins & wiring

01Pin map
38 positions · top view
ESP32-WROOM-32E

Logical two-sided map — confirm the package or board drawing before wiring.

PowerGroundAnalogI2CSPIUARTControlOther

All pins

Selected pin

GND

Ground
Direction
Passive
Full pin table
PinNameRoleDirectionVoltageNote
1GroundPassive
2PowerPower3.3 V
3ControlInActive-low chip enable/reset. Needs an external pull-up (~10kΩ) to 3V3 to run — floating EN holds the chip in reset.
SENSOR_VPsilk: SENSOR_VPAnalogIn3.3 VInput-only, no pull resistors.
SENSOR_VNsilk: SENSOR_VNAnalogIn3.3 VInput-only, no pull resistors.
IO34AnalogIn3.3 VInput-only, no pull resistors.
IO35AnalogIn3.3 VInput-only, no pull resistors.
IO32AnalogBidirectional3.3 V
IO33AnalogBidirectional3.3 V
IO25AnalogBidirectional3.3 V
IO26AnalogBidirectional3.3 V
IO27AnalogBidirectional3.3 V
IO14SPIBidirectional3.3 V
IO12SPIBidirectional3.3 VStrapping pin (MTDI) — boot FAILS if externally pulled HIGH at reset.
14GroundPassive
IO13SPIBidirectional3.3 V
16OtherNo connectReserved for the internal SPI flash — not usable as GPIO.
17OtherNo connectReserved for the internal SPI flash — not usable as GPIO.
18OtherNo connectReserved for the internal SPI flash — not usable as GPIO.
19OtherNo connectReserved for the internal SPI flash — not usable as GPIO.
20OtherNo connectReserved for the internal SPI flash — not usable as GPIO.
21OtherNo connectReserved for the internal SPI flash — not usable as GPIO.
IO15SPIBidirectional3.3 VStrapping pin (MTDO) — outputs debug info at boot; has an internal pull-up.
IO2AnalogBidirectional3.3 VStrapping pin — must be low or floating to enter flashing mode; commonly tied to the onboard LED on dev boards.
IO0AnalogBidirectional3.3 VStrapping pin — boot mode select. HIGH (or floating with its internal pull-up) = run firmware; LOW at reset = UART download mode.
IO4AnalogBidirectional3.3 VNot a strapping pin, despite being commonly assumed to be one.
IO16UARTBidirectional3.3 V
IO17UARTBidirectional3.3 V
IO5SPIBidirectional3.3 VStrapping pin — outputs PWM briefly at boot.
IO18SPIBidirectional3.3 V
IO19SPIBidirectional3.3 V
32OtherNo connect
IO21I2CBidirectional3.3 V
RXD0silk: RXD0UARTBidirectional3.3 VUART0 RX — shared with the USB-serial bridge on dev boards; avoid repurposing while using Serial.
TXD0silk: TXD0UARTBidirectional3.3 VUART0 TX — shared with the USB-serial bridge on dev boards; avoid repurposing while using Serial.
IO22I2CBidirectional3.3 V
IO23SPIBidirectional3.3 V
38GroundPassive

Wiring examples

Minimal application circuit

Any 3.3V host

The support passives every WROOM-32E design needs, regardless of what else is on the board — this is what a dev board already does for you.

ESP32-WROOM-32E pinConnects toNote

You also need

  • Required10 kΩ resistor between EN and 3V3EN floating leaves the chip in an undefined/reset state — a pull-up lets it run on power-up.
  • Required10 kΩ resistor between GPIO0 and 3V3GPIO0 must read HIGH at reset to boot the flashed program instead of dropping into the UART bootloader.
  • Required100 nF capacitor between 3V3 and GND100nF decoupling right at the module's 3V3/GND pins, per Espressif's hardware design guidelines.
  • Required10 µF capacitor between 3V3 and GNDA bulk 10µF cap absorbs the current spikes during WiFi TX bursts — undersized decoupling is a common cause of brownout resets.
  • GPIO0, GPIO2, GPIO5, GPIO12 and GPIO15 are strapping pins — an external pull-up/down in the wrong direction can silently break boot or flashing.
  • Keep copper out of a 15mm zone around the PCB antenna on ALL layers — any ground pour or trace there detunes it off 2.4GHz.
  • This is a 3.3V-only part — none of its GPIOs are 5V tolerant.

Specifications

Electrical

Core
Xtensa dual-core 32-bit LX6src
Max Clock
240 MHzsrc
Flash
Varies by vendor
SRAM
520 KBsrc
Logic Voltage
3.3 Vsrc
Operating Voltage
3 – 3.6 Vsrc

Interface

GPIO Count
34src
ADC Channels
18src
ADC Resolution
12 bitsrc
Wi-Fi
Yessrc
Bluetooth
Yessrc
Interfaces
i2c, spi, uart, i2s, cansrc

Physical

USB Connector
nonesrc
Package
Modulesrc
Length
18 mmsrc
Width
25.5 mmsrc
Height
3.1 mmsrc
Mounting
smdsrc

Thermal

Min Operating Temp
-40 °Csrc
Max Operating Temp
85 °Csrc

Footprint

No independently verified physical footprint is on file for this part yet.

Alternatives

Budget options

Cheaper, with a stated tradeoff — read the reason before swapping.

Cheaper MCU option when a project doesn't need WiFi/Bluetooth at all.

Compare with ESP32-WROOM-32E
  • Wi-Fi: yesno
  • Core: Xtensa dual-core LX6 @ 240MHzARM Cortex-M3 @ 72MHzDifferent toolchain/ecosystem, not a drop-in firmware port.

Similar parts

Does the same job with a different part. Expect wiring and library changes — a starting point, not a guarantee.

Same silicon, pre-integrated onto a dev board with USB-serial, a 3.3V regulator, EN/BOOT buttons and a breadboard-friendly header — skip your own antenna-keepout and power design.

Compare with ESP32-WROOM-32E
  • Form factor: bare SMD module30-pin breadboard devboard

Documents

Product pages

Frequently asked questions

What voltage does the ESP32-WROOM-32E run at?

The ESP32-WROOM-32E runs at 3–3.6V, per the spec sheet below. Always double-check against the specific board you have — some breakouts add an onboard regulator that changes the usable input range.

How many pins does the ESP32-WROOM-32E have?

The ESP32-WROOM-32E has 38 pins, communicating over CAN, I2C, I2S, SPI, UART. See the full pinout table in Pins & wiring for each pin's role.

Can I simulate the ESP32-WROOM-32E before ordering hardware?

Not yet — the ESP32-WROOM-32E does not have a live simulation model in Banana Board today, so validate the wiring here and test on real hardware.

Where is the ESP32-WROOM-32E datasheet?

Linked in the Documents section on this page, and cited on every spec that came from it.

Build it, do not just look it up

Describe your circuit in one sentence and Banana Board wires it to these exact pins, validates it, and lays out a fab-ready PCB.

Start building free