The Wroom ESP32 is a powerful microcontroller module designed for a wide range of applications, particularly in the Internet of Things (IoT) domain. It features integrated Wi-Fi and Bluetooth capabilities, making it ideal for wireless communication. With its dual-core processor, extensive GPIO pins, and support for multiple communication protocols, the Wroom ESP32 is a versatile choice for embedded systems and smart devices.
Below are the key technical details of the Wroom ESP32 module:
Specification | Details |
---|---|
Microcontroller | Dual-core Xtensa® 32-bit LX6 processor |
Clock Speed | Up to 240 MHz |
Flash Memory | 4 MB (varies by model) |
SRAM | 520 KB |
Wireless Connectivity | Wi-Fi 802.11 b/g/n, Bluetooth v4.2 + BLE |
GPIO Pins | 34 GPIO pins (multiplexed for various functions) |
Operating Voltage | 3.3V |
Input Voltage Range | 3.0V to 3.6V |
Communication Protocols | UART, SPI, I2C, I2S, CAN, PWM, ADC, DAC |
ADC Resolution | 12-bit |
DAC Resolution | 8-bit |
Power Consumption | Ultra-low power consumption in deep sleep mode (as low as 10 µA) |
Operating Temperature | -40°C to 85°C |
Dimensions | 18 mm x 25.5 mm x 3.1 mm |
The Wroom ESP32 module has 38 pins, with the most commonly used pins described below:
Pin Number | Pin Name | Function |
---|---|---|
1 | EN | Enable pin. Pull high to enable the module. |
2 | IO0 | GPIO0. Used for boot mode selection during programming. |
3 | IO2 | GPIO2. General-purpose I/O pin. |
4 | IO4 | GPIO4. General-purpose I/O pin. |
5 | IO5 | GPIO5. General-purpose I/O pin. |
6 | IO12 | GPIO12. Can be used as ADC, touch sensor, or general-purpose I/O. |
7 | IO13 | GPIO13. Can be used as ADC, touch sensor, or general-purpose I/O. |
8 | IO14 | GPIO14. Can be used as ADC, touch sensor, or general-purpose I/O. |
9 | IO15 | GPIO15. Can be used as ADC, touch sensor, or general-purpose I/O. |
10 | IO16 | GPIO16. General-purpose I/O pin. |
11 | IO17 | GPIO17. General-purpose I/O pin. |
12 | GND | Ground pin. Connect to the ground of the circuit. |
13 | 3V3 | 3.3V power supply output. |
14 | TXD0 | UART0 Transmit pin. |
15 | RXD0 | UART0 Receive pin. |
For a complete pinout, refer to the official ESP32 datasheet.
Below is an example of how to connect the Wroom ESP32 to a Wi-Fi network using the Arduino IDE:
#include <WiFi.h> // Include the WiFi library for ESP32
const char* ssid = "Your_SSID"; // Replace with your Wi-Fi network name
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 moment before starting
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
}
Module Not Responding:
Wi-Fi Connection Fails:
Code Upload Fails:
GPIO Pin Issues:
Q: Can the Wroom ESP32 operate on 5V?
A: No, the Wroom ESP32 operates at 3.3V. Use a voltage regulator or level shifter for 5V systems.
Q: How do I reset the module?
A: Press the RESET button on the module or toggle the EN pin.
Q: Can I use the ESP32 with a battery?
A: Yes, the ESP32 can be powered by a 3.7V LiPo battery with a suitable voltage regulator.
Q: Is the ESP32 compatible with Arduino libraries?
A: Yes, the ESP32 is compatible with many Arduino libraries, but some may require modifications.
This concludes the documentation for the Wroom ESP32 module.