# ESP32-WROOM-32 module: specs and pinout

> Espressif ESP32-WROOM-32 module: ESP32 dual-core Wi-Fi and Bluetooth/BLE MCU with 4 MB SPI flash and a PCB antenna on a castellated module. It is a…

[HTML version](https://soldr.ai/docs/boards/esp32-wroom-32)

[Docs](https://soldr.ai/docs) / [Boards](https://soldr.ai/docs/boards)

Espressif ESP32-WROOM-32 module: ESP32 dual-core Wi-Fi and Bluetooth/BLE MCU with 4 MB SPI flash and a PCB antenna on a castellated module. It is a bare module, not a development board: you supply 3.3 V and a USB-UART adapter for programming.

Every value cites its sourceOfficial pinout

[Buy on Compoden](https://compoden.com/products/esp32-wroom-32-wifi-ble-bluetooth-mcu-module-compoden)

## Specs

| Spec | Value | Source |
|---|---|---|
| Supply voltage | 3.0 V to 3.6 V (typical 3.3 V) | source Table 13 Recommended Operating Conditions (p.26) |
| Current the supply must deliver | 0.5 A minimum capability | source Table 13 (p.26) |
| Ambient temperature | -40 to 85 C | source Table 13 (p.26); Features |
| Wi-Fi | 802.11 b/g/n, up to 150 Mbps (802.11n), 2412 to 2484 MHz | source Section 1.1 Features, Wi-Fi (p.2) |
| Bluetooth | Bluetooth V4.2 BR/EDR and Bluetooth LE | source Section 1.1 Features, Bluetooth (p.2) |
| Memory | 520 KB SRAM, 8 KB RTC SRAM, 4 MB SPI flash | source Section 1.1 Features (p.2) |
| GPIO count | Up to 32 GPIOs; GPIO6 to GPIO11 go to the module flash and should not be used | source Features; Table 2 footnote 2 (p.10) |
| Input logic levels | VIH min 0.75 x VDD, VIL max 0.25 x VDD | source Table 14 DC Characteristics (p.26) |
| Output drive per pin (typ) | About 40 mA source and 28 mA sink at maximum drive strength | source Table 14 (p.26-27) |
| Boot mode strapping | GPIO0 and GPIO2 select boot mode; MTDI (GPIO12) sets VDD_SDIO voltage | source Section 3 Boot Configurations, Table 5 (p.11-12) |

## Power

| | Value | Source |
|---|---|---|
| Supply | 3.0 V to 3.6 V, supply able to give at least 0.5 A | source Table 13 (p.26) |

## Pinout

Rows are the 38 module pins from the Espressif datasheet. This is the module&#x27;s own pinout; it does not describe any breakout board, regulator or USB adapter you place it on. The datasheet is stamped Not Recommended For New Designs (NRND) by Espressif.

| Pin | Function | Voltage | Notes | Source |
|---|---|---|---|---|
| GND | Ground | | Module pin 1 | source Table 2 Pin Definitions (p.9-10) |
| 3V3 | Power supply | 3.3 V | Module pin 2 | source Table 2 Pin Definitions (p.9-10) |
| EN | Module-enable signal. Active high. | | Module pin 3 | source Table 2 Pin Definitions (p.9-10) |
| SENSOR_VP | GPIO36, ADC1_CH0, RTC_GPIO0 (input only) | | Module pin 4 | source Table 2 Pin Definitions (p.9-10) |
| SENSOR_VN | GPIO39, ADC1_CH3, RTC_GPIO3 (input only) | | Module pin 5 | source Table 2 Pin Definitions (p.9-10) |
| IO34 | GPIO34, ADC1_CH6, RTC_GPIO4 (input only) | | Module pin 6 | source Table 2 Pin Definitions (p.9-10) |
| IO35 | GPIO35, ADC1_CH7, RTC_GPIO5 (input only) | | Module pin 7 | source Table 2 Pin Definitions (p.9-10) |
| IO32 | GPIO32, XTAL_32K_P, ADC1_CH4, TOUCH9, RTC_GPIO9 | | Module pin 8 | source Table 2 Pin Definitions (p.9-10) |
| IO33 | GPIO33, XTAL_32K_N, ADC1_CH5, TOUCH8, RTC_GPIO8 | | Module pin 9 | source Table 2 Pin Definitions (p.9-10) |
| IO25 | GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0 | | Module pin 10 | source Table 2 Pin Definitions (p.9-10) |
| IO26 | GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1 | | Module pin 11 | source Table 2 Pin Definitions (p.9-10) |
| IO27 | GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV | | Module pin 12 | source Table 2 Pin Definitions (p.9-10) |
| IO14 | GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK, HS2_CLK, SD_CLK, EMAC_TXD2 | | Module pin 13 | source Table 2 Pin Definitions (p.9-10) |
| IO12 | GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ, HS2_DATA2, SD_DATA2, EMAC_TXD3 | | Module pin 14; boot strapping pin (Table 3) | source Table 2 Pin Definitions (p.9-10) |
| GND | Ground | | Module pin 15 | source Table 2 Pin Definitions (p.9-10) |
| IO13 | GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID, HS2_DATA3, SD_DATA3, EMAC_RX_ER | | Module pin 16 | source Table 2 Pin Definitions (p.9-10) |
| SHD/SD2 | GPIO9, SD_DATA2, SPIHD, HS1_DATA2, U1RXD (connected to module flash) | | Module pin 17 | source Table 2 Pin Definitions (p.9-10) |
| SWP/SD3 | GPIO10, SD_DATA3, SPIWP, HS1_DATA3, U1TXD (connected to module flash) | | Module pin 18 | source Table 2 Pin Definitions (p.9-10) |
| SCS/CMD | GPIO11, SD_CMD, SPICS0, HS1_CMD, U1RTS (connected to module flash) | | Module pin 19 | source Table 2 Pin Definitions (p.9-10) |
| SCK/CLK | GPIO6, SD_CLK, SPICLK, HS1_CLK, U1CTS (connected to module flash) | | Module pin 20 | source Table 2 Pin Definitions (p.9-10) |
| SDO/SD0 | GPIO7, SD_DATA0, SPIQ, HS1_DATA0, U2RTS (connected to module flash) | | Module pin 21 | source Table 2 Pin Definitions (p.9-10) |
| SDI/SD1 | GPIO8, SD_DATA1, SPID, HS1_DATA1, U2CTS (connected to module flash) | | Module pin 22 | source Table 2 Pin Definitions (p.9-10) |
| IO15 | GPIO15, ADC2_CH3, TOUCH3, MTDO, HSPICS0, RTC_GPIO13, HS2_CMD, SD_CMD, EMAC_RXD3 | | Module pin 23; boot strapping pin (Table 3) | source Table 2 Pin Definitions (p.9-10) |
| IO2 | GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP, HS2_DATA0, SD_DATA0 | | Module pin 24; boot strapping pin (Table 3) | source Table 2 Pin Definitions (p.9-10) |
| IO0 | GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1, EMAC_TX_CLK | | Module pin 25; boot strapping pin (Table 3) | source Table 2 Pin Definitions (p.9-10) |
| IO4 | GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD, HS2_DATA1, SD_DATA1, EMAC_TX_ER | | Module pin 26 | source Table 2 Pin Definitions (p.9-10) |
| IO16 | GPIO16, HS1_DATA4, U2RXD, EMAC_CLK_OUT | | Module pin 27 | source Table 2 Pin Definitions (p.9-10) |
| IO17 | GPIO17, HS1_DATA5, U2TXD, EMAC_CLK_OUT_180 | | Module pin 28 | source Table 2 Pin Definitions (p.9-10) |
| IO5 | GPIO5, VSPICS0, HS1_DATA6, EMAC_RX_CLK | | Module pin 29; boot strapping pin (Table 3) | source Table 2 Pin Definitions (p.9-10) |
| IO18 | GPIO18, VSPICLK, HS1_DATA7 | | Module pin 30 | source Table 2 Pin Definitions (p.9-10) |
| IO19 | GPIO19, VSPIQ, U0CTS, EMAC_TXD0 | | Module pin 31 | source Table 2 Pin Definitions (p.9-10) |
| NC | Not connected | | Module pin 32 | source Table 2 Pin Definitions (p.9-10) |
| IO21 | GPIO21, VSPIHD, EMAC_TX_EN | | Module pin 33 | source Table 2 Pin Definitions (p.9-10) |
| RXD0 | GPIO3, U0RXD, CLK_OUT2 | | Module pin 34 | source Table 2 Pin Definitions (p.9-10) |
| TXD0 | GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2 | | Module pin 35 | source Table 2 Pin Definitions (p.9-10) |
| IO22 | GPIO22, VSPIWP, U0RTS, EMAC_TXD1 | | Module pin 36 | source Table 2 Pin Definitions (p.9-10) |
| IO23 | GPIO23, VSPID, HS1_STROBE | | Module pin 37 | source Table 2 Pin Definitions (p.9-10) |
| GND | Ground | | Module pin 38 | source Table 2 Pin Definitions (p.9-10) |

## Build with it
Project ideas for the ESP32-WROOM-32 module. Each link opens Soldr with the prompt filled in; Soldr assigns the pins, checks power and shows how to wire every part.

- [A Wi-Fi temperature and humidity node with a bare ESP32-WROOM-32 module, a DHT22 and a USB-UART programmer](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20Wi-Fi%20temperature%20and%20humidity%20node%20with%20a%20bare%20ESP32-WROOM-32%20module%2C%20a%20DHT22%20and%20a%20USB-UART%20programmer): The module needs 3.0 V to 3.6 V at 0.5 A: use a fixed 3.3 V supply module and program it by holding IO0 low at reset with the UART adapter on TXD0 and RXD0 (adapter set to 3.3 V logic). The DHT22 module runs at 3.3 V on a free GPIO.
- [A Wi-Fi light level logger with a bare ESP32-WROOM-32 module and a BH1750 sensor module](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20Wi-Fi%20light%20level%20logger%20with%20a%20bare%20ESP32-WROOM-32%20module%20and%20a%20BH1750%20sensor%20module): I2C runs on IO21 and IO22 at 3.3 V, the same as the module logic; the BH1750 module is powered from the 3.3 V rail.
- [An RFID card attendance logger with a bare ESP32-WROOM-32 module and an MFRC522 reader](https://app.soldr.ai/?prompt=I%20want%20to%20build%20an%20RFID%20card%20attendance%20logger%20with%20a%20bare%20ESP32-WROOM-32%20module%20and%20an%20MFRC522%20reader): The MFRC522 is a 3.3 V part and connects over the module&#x27;s VSPI pins (IO18, IO19, IO23, IO5). Only log cards of people who know and agree to it.
- [A Bluetooth LE push button beacon with a bare ESP32-WROOM-32 module and one tactile button](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20Bluetooth%20LE%20push%20button%20beacon%20with%20a%20bare%20ESP32-WROOM-32%20module%20and%20one%20tactile%20button): A button to ground on an RTC-capable GPIO such as IO27 can wake the module from deep sleep to send a BLE advertisement; the module supports Bluetooth LE.

## Common mistakes

- Powering the module from 5 V or from a weak 3.3 V source: the supply range is 3.0 V to 3.6 V and the supply must be able to deliver 0.5 A (source: [link](https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf), Table 13)
- Using GPIO6 to GPIO11: they connect to the on-module SPI flash and are not recommended for other uses (source: [link](https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf), Table 2 footnote 2)
- Pulling GPIO0 low (boot select) or driving the other strapping pins GPIO2, GPIO12 and GPIO15 at reset without meaning to: their levels at reset set boot mode and flash voltage (source: [link](https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf), Section 3 Boot Configurations)

## Not covered by the official source

- The datasheet is marked NOT RECOMMENDED FOR NEW DESIGNS (NRND) by Espressif; the listing does not say whether the stocked part is the WROOM-32 or the newer WROOM-32E, so confirm the label.
- The listing may sell the module on a breakout board; no board, regulator or USB facts are written.
- Supply current (Wi-Fi transmit and so on) tables are not given on this page.
- Pin names are copied as the datasheet writes them; strapping pin default pull states are not repeated here.

## Sources

- [link](https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf) (ESP32-WROOM-32 Datasheet v3.8, Espressif)
