

The ESP32-WROOM-32 is a powerful microcontroller module developed by Espressif Systems. It features integrated Wi-Fi and Bluetooth capabilities, making it an excellent choice for Internet of Things (IoT) applications. With its dual-core processing, extensive GPIO options, and robust performance, the ESP32-WROOM-32 is widely used in smart devices, home automation, industrial automation, and wearable electronics.








The ESP32-WROOM-32 module is built around the ESP32-D0WDQ6 chip and offers the following key specifications:
| Parameter | Value |
|---|---|
| Manufacturer | Espressif Systems |
| Part ID | ESP32-WROOM-32 |
| Microcontroller | ESP32-D0WDQ6 |
| CPU | Dual-core Xtensa® 32-bit LX6 |
| Clock Speed | Up to 240 MHz |
| Flash Memory | 4 MB (default) |
| SRAM | 520 KB |
| Wireless Connectivity | Wi-Fi 802.11 b/g/n, Bluetooth v4.2 BR/EDR |
| Operating Voltage | 3.0V to 3.6V |
| GPIO Pins | 34 (multipurpose) |
| ADC Channels | 18 (12-bit resolution) |
| DAC Channels | 2 |
| Communication Interfaces | UART, SPI, I2C, I2S, CAN, PWM |
| Power Consumption (Active) | ~160 mA |
| Operating Temperature | -40°C to +85°C |
| Dimensions | 18 mm x 25.5 mm x 3.1 mm |
The ESP32-WROOM-32 module has 38 pins, with the following key pin assignments:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | EN | Enable pin (active high) |
| 2 | IO0 | GPIO0, used for boot mode selection |
| 3 | IO1 | GPIO1, UART TXD |
| 4 | IO2 | GPIO2, general-purpose I/O |
| 5 | IO3 | GPIO3, UART RXD |
| 6 | IO4 | GPIO4, general-purpose I/O |
| 7 | IO5 | GPIO5, general-purpose I/O |
| 8 | GND | Ground |
| 9 | 3V3 | 3.3V power supply |
| 10 | IO12 | GPIO12, ADC2 channel |
| 11 | IO13 | GPIO13, ADC2 channel |
| 12 | IO14 | GPIO14, ADC2 channel |
| 13 | IO15 | GPIO15, ADC2 channel |
| 14 | IO16 | GPIO16, general-purpose I/O |
| 15 | IO17 | GPIO17, general-purpose I/O |
| 16 | IO18 | GPIO18, SPI CLK |
| 17 | IO19 | GPIO19, SPI MISO |
| 18 | IO21 | GPIO21, I2C SDA |
| 19 | IO22 | GPIO22, I2C SCL |
| 20 | IO23 | GPIO23, SPI MOSI |
Note: Not all GPIO pins are available for general use. Some are reserved for specific functions or have limitations. Refer to the ESP32 datasheet for detailed pin multiplexing information.
The ESP32-WROOM-32 is versatile and can be used in a variety of applications. Below are the steps to get started with the module:
Below is an example of how to use the ESP32-WROOM-32 with the Arduino IDE to connect to a Wi-Fi network:
#include <WiFi.h> // Include the Wi-Fi library for ESP32
const char* ssid = "Your_SSID"; // Replace with your Wi-Fi SSID
const char* password = "Your_Password"; // Replace with your Wi-Fi password
void setup() {
Serial.begin(115200); // Initialize serial communication at 115200 baud
delay(1000); // Wait for a second to stabilize
Serial.println("Connecting to Wi-Fi...");
WiFi.begin(ssid, password); // Start Wi-Fi connection
while (WiFi.status() != WL_CONNECTED) {
delay(500); // Wait for connection
Serial.print(".");
}
Serial.println("\nWi-Fi connected!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP()); // Print the assigned IP address
}
void loop() {
// Add your main code here
}
Note: Replace
Your_SSIDandYour_Passwordwith your Wi-Fi credentials. Ensure the ESP32 is in programming mode when uploading the code.
Module Not Responding:
Wi-Fi Connection Fails:
GPIO Pin Malfunction:
Overheating:
By following this documentation, you can effectively integrate and utilize the ESP32-WROOM-32 module in your projects.