ESP32-WROOM image

ESP32-WROOM

Development Board

Code name: ESP32_WROOM_DA

ESP32-WROOM is a development board based on the ESP32 microcontroller using XTENSA architecture.

This board features a maximum CPU frequency of 240 MHz and 4MB flash memory.

About ESP32-WROOM

The ESP32-WROOM-32 is a versatile and powerful Wi-Fi + Bluetooth® + Bluetooth LE module, designed to support a wide range of applications. It is equally suitable for low-power sensor networks as well as high-demand tasks like voice encoding, music streaming, and MP3 decoding.

At the heart of the module is the ESP32-D0WDQ6 chip, engineered for scalability and adaptability. This chip features two CPU cores that can be independently controlled, with an adjustable clock frequency ranging from 80 MHz to 240 MHz. Additionally, it includes a low-power coprocessor, which is ideal for handling tasks that require minimal computing power-such as peripheral monitoring-while conserving energy.

The ESP32 integrates a rich set of peripherals, including capacitive touch sensors, an SD card interface, Ethernet, high-speed SPI, UART, I2S, and I2C. Its combination of power, flexibility, and connectivity makes the ESP32-WROOM-32 a perfect choice for a broad spectrum of IoT and embedded applications.

Technical Specifications

Complete technical specification details for ESP32-WROOM

Connectivity

WiFi 802.11 b/g/n (2.4 GHz)
Bluetooth 4.2
BLE 4.2

Microcontroller

Model esp32
Clock Speed 240 MHz
Flash Size 4MB
Architecture xtensa

Features & Pins

Digital IO 40
Analog Input 16
PWM 19
Interrupts 16

Quick Setup

Copy-paste configs for ESP32-WROOM - auto‑generated from this board's exact hardware specs.

ESP32 240 MHz 4MB DIO Xtensa

In Arduino IDE 2 select Esp32 Wroom Da from the esp32 by Espressif package. In PlatformIO use board = esp32dev. ESP32 · 240 MHz · 4MB · DIO.

Tools menu settings
Board (select in Arduino IDE) Esp32 Wroom Da
CPU Frequency 240 MHz
Flash Size 4MB
Flash Mode DIO
Upload Speed 921600
Architecture Xtensa

In Arduino IDE 2, open Boards Manager, search "esp32" by Espressif and install it. Then go to Tools → Board and select "Esp32 Wroom Da" for the ESP32-WROOM.

ESP32-WROOM Pinout Diagram

Complete pin reference for ESP32-WROOM

ESP32-WROOM pinout diagram

The ESP32-WROOM pinout is designed to offer developers a highly versatile and feature-packed layout for a variety of IoT and embedded applications. The ESP32 WROOM includes essential power pins such as 5V, 3.3V, and GND, ensuring stable power delivery for external components. Key communication protocols are well-supported, with pins for UART (RXD0, TXD0), SPI (MISO, MOSI, SCK, and SS), and I2C (SDA and SCL) to interface with a wide range of peripherals.

The ESP32 WROOM Devkit also supports multiple ADC pins (IO34, IO35, IO36, etc.), making it ideal for projects that require analog input, such as reading sensor data. Additionally, specialized pins such as DAC (IO25, IO26) and Touch Pins enhance its usability in advanced applications. The inclusion of RTC GPIOs further adds low-power features, allowing developers to take full advantage of the ESP32-WROOM pinout for efficient power management.

Safe Pins to Use

These pins are safe for general GPIO usage without boot or system conflicts

SENSOR_VP
SENSOR_VN
IO32
IO33
IO25
IO26
IO27
SHD/SD2
SWP/SD3
SCS/CMD
SCK/CLK
SDO/SD0
SDI/SD1
IO18
IO19
NC
IO21
RXD0
TXD0
IO22
IO23

Why Are These Pins Safe?

No boot sequence involvement
No flash/PSRAM connections
No USB or JTAG conflicts
Freely assignable without issues

Pins to Avoid or Use with Caution

Reserved for critical functions. Misuse may cause boot failures, programming issues, or system conflicts.

Strapping Pins

Boot behavior & flash voltage

JTAG Debugging

Low-level debugging interface

USB Pins

USB Serial/JTAG communication

Flash/SPI Pins

Memory & PSRAM connections

UART Serial

Debugging & firmware uploads

PINLabelWhy AvoidType
IO34GPIO34Cannot be used as output (no drive capability); only suitable for analog/digital input.🪛 Other
IO35GPIO35Cannot be used as output; only suitable for input.🪛 Other
IO14MTMS (GPIO14)Used for JTAG debugging (TMS); driving it as GPIO may interfere with JTAG or produce spurious signals at boot.🪛 Other
IO12MTDI (GPIO12)Keep LOW during boot (internal PD); pulling HIGH at reset selects 1.8V flash mode, causing flash brownout if 3.3V flash is used.🛠️ Strapping
IO13MTCK (GPIO13)Used for JTAG debugging (TCK); avoid using as GPIO if JTAG is needed.🪛 Other

ESP32-WROOM Custom Pin Mapping

Pin configuration and GPIO mapping for ESP32-WROOM

40
Digital I/O Pins
16
Interrupt Pins
16
Analog Inputs
19
PWM Pins
PinFunctionESP PinI/O TypeDescription
1SENSOR_VPGPIO36inputADC1_CH0, RTC_GPIO0
2SENSOR_VNGPIO39inputADC1_CH3, RTC_GPIO3
3IO34GPIO34inputADC1_CH6, RTC_GPIO4
4IO35GPIO35inputADC1_CH7, RTC_GPIO5
5IO32GPIO32bidirectionalXTAL_32K_P (32.768 kHz crystal oscillator input), ADC1_CH4, TOUCH9, RTC_GPIO9
6IO33GPIO33bidirectionalXTAL_32K_N (32.768 kHz crystal oscillator output), ADC1_CH5, TOUCH8, RTC_GPIO8
7IO25GPIO25bidirectionalDAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0
8IO26GPIO26bidirectionalDAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1
9IO27GPIO27bidirectionalADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV
10IO14GPIO14bidirectionalADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK, HS2_CLK, SD_CLK, EMAC_TXD2
11IO12GPIO12bidirectionalADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ, HS2_DATA2, SD_DATA2, EMAC_TXD3
12GNDN/Apower groundGround connection
13IO13GPIO13bidirectionalADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID, HS2_DATA3, SD_DATA3, EMAC_RX_ER
14SHD/SD2GPIO9bidirectionalSD_DATA2, SPIHD, HS1_DATA2, U1RXD
15SWP/SD3GPIO10bidirectionalSD_DATA3, SPIWP, HS1_DATA3, U1TXD
16SCS/CMDGPIO11bidirectionalSD_CMD, SPICS0, HS1_CMD, U1RTS
17SCK/CLKGPIO6bidirectionalSD_CLK, SPICLK, HS1_CLK, U1CTS
18SDO/SD0GPIO7bidirectionalSD_DATA0, SPIQ, HS1_DATA0, U2RTS
19SDI/SD1GPIO8bidirectionalSD_DATA1, SPID, HS1_DATA1, U2CTS
20IO15GPIO15bidirectionalADC2_CH3, TOUCH3, MTDO, HSPICS0, RTC_GPIO13, HS2_CMD, SD_CMD, EMAC_RXD3
21IO2GPIO2bidirectionalADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP, HS2_DATA0, SD_DATA0
22IO0GPIO0bidirectionalADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1, EMAC_TX_CLK
23IO4GPIO4bidirectionalADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD, HS2_DATA1, SD_DATA1, EMAC_TX_ER
24IO16GPIO16bidirectionalHS1_DATA4, U2RXD, EMAC_CLK_OUT
25IO17GPIO17bidirectionalHS1_DATA5, U2TXD, EMAC_CLK_OUT_180
26IO5GPIO5bidirectionalVSPICS0, HS1_DATA6, EMAC_RX_CLK
27IO18GPIO18bidirectionalVSPICLK, HS1_DATA7
28IO19GPIO19bidirectionalVSPIQ, U0CTS, EMAC_TXD0
29NCN/Anot connectedNo connection
30IO21GPIO21bidirectionalVSPIHD, EMAC_TX_EN
31RXD0GPIO3bidirectionalU0RXD, CLK_OUT2
32TXD0GPIO1bidirectionalU0TXD, CLK_OUT3, EMAC_RXD2
33IO22GPIO22bidirectionalVSPIWP, U0RTS, EMAC_TXD1
34IO23GPIO23bidirectionalVSPID, HS1_STROBE
35GNDN/Apower groundGround connection
Legend
Function Pin role
GPIO ESP32 pin
I/O Direction
# Pin number

Pin Mappings

Complete pinout and GPIO mapping for ESP32-WROOM

40
Digital I/O Pins
16
Interrupt Pins
16
Analog Inputs
19
PWM Pins
PinAnalogTouchPWMOther
0A11T1
1PWMTX
2A12T2PWMANT1
3PWMRX
4A10T0PWM
5PWMSS
12A15T5PWM
13A14T4PWM
14A16T6PWM
15A13T3PWM
18PWMSCK
19PWMMISO
21PWMSDA
22PWMSCL
23PWMMOSI
25A18PWMDAC1 ANT2
26A19PWMDAC2
27A17T7PWM
32A4T9PWM
33A5T8PWM
34A6
35A7
36A0
39A3
Legend
A0 Analog input
T0 Touch sensor
PWM PWM capable
RX/TX Serial pins
LED Built-in LED
# Pin number

Default Tools & Configuration

Build and upload settings for ESP32-WROOM

SettingValue
Bootloader toolesptool_py
Uploader toolesptool_py
Network uploader toolesp_ota
Bootloader address0x1000
Flash modedio
Boot modedio
Maximum upload size
1280 KB (1310720 bytes)
Maximum data size
320 KB (327680 bytes)
Configuration Summary

The ESP32-WROOM uses esptool_py for uploads , esp_ota for OTA updates, and esptool_py bootloader at 0x1000.

Flash mode: dio | Boot mode: dio

Max sketch size: 1280 KB | Max data size: 320 KB