The ESP32-WROOM-32 is a versatile Wi-Fi and Bluetooth microcontroller module designed for Internet of Things (IoT) applications. It features dual-core processing, low power consumption, and a wide range of connectivity options, making it ideal for smart devices, home automation, wearables, and industrial IoT solutions. Its compact design and robust performance allow developers to create innovative and efficient projects with ease.
The ESP32-WROOM-32 module is built around the ESP32-D0WDQ6 chip, offering a rich set of features for various applications.
Parameter | Specification |
---|---|
Microcontroller | ESP32-D0WDQ6 (dual-core Xtensa LX6) |
Clock Speed | Up to 240 MHz |
Flash Memory | 4 MB (default) |
SRAM | 520 KB |
Wi-Fi Standards | 802.11 b/g/n (2.4 GHz) |
Bluetooth | v4.2 BR/EDR and BLE |
Operating Voltage | 3.0V to 3.6V |
GPIO Pins | 34 |
ADC Channels | 18 (12-bit resolution) |
DAC Channels | 2 |
Communication Interfaces | UART, SPI, I2C, I2S, CAN, PWM |
Power Consumption | Ultra-low power (deep sleep: ~10 µA) |
Operating Temperature | -40°C to +85°C |
The ESP32-WROOM-32 module has 38 pins. Below is a table of the most commonly used pins and their functions:
Pin Number | Pin Name | Function Description |
---|---|---|
1 | EN | Enable pin (active high) |
2 | GPIO0 | Boot mode selection / General-purpose IO |
3 | GPIO1 (TX) | UART0 Transmit |
4 | GPIO3 (RX) | UART0 Receive |
5 | GPIO2 | General-purpose IO |
6 | GPIO4 | General-purpose IO |
7 | GPIO5 | General-purpose IO |
8 | GPIO12 | General-purpose IO / ADC2 Channel 5 |
9 | GPIO13 | General-purpose IO / ADC2 Channel 4 |
10 | GPIO14 | General-purpose IO / ADC2 Channel 6 |
11 | GPIO15 | General-purpose IO / ADC2 Channel 3 |
12 | GPIO16 | General-purpose IO |
13 | GPIO17 | General-purpose IO |
14 | 3V3 | 3.3V Power Output |
15 | GND | Ground |
For a complete pinout, refer to the ESP32-WROOM-32 datasheet.
Below is an example of how to blink an LED connected to GPIO2 using the Arduino IDE:
// Define the GPIO pin for the LED
#define LED_PIN 2
void setup() {
// Set the LED pin as an output
pinMode(LED_PIN, OUTPUT);
}
void loop() {
// Turn the LED on
digitalWrite(LED_PIN, HIGH);
delay(1000); // Wait for 1 second
// Turn the LED off
digitalWrite(LED_PIN, LOW);
delay(1000); // Wait for 1 second
}
Module Not Responding
Wi-Fi Connection Fails
Code Upload Fails
GPIO Pin Not Working
Q: Can the ESP32-WROOM-32 operate on 5V?
A: No, the module operates on 3.3V. Use a voltage regulator or level shifter for 5V systems.
Q: How do I reset the module?
A: Press the EN (enable) pin or connect it to GND momentarily to reset the module.
Q: Can I use the ESP32-WROOM-32 for both Wi-Fi and Bluetooth simultaneously?
A: Yes, the ESP32 supports simultaneous Wi-Fi and Bluetooth operation.
Q: What is the maximum range of the Wi-Fi connection?
A: The range depends on environmental factors but typically extends up to 100 meters in open space.
This documentation provides a comprehensive guide to using the ESP32-WROOM-32 module effectively. For further details, refer to the official datasheet and Espressif's documentation.