

The ESP32-WROOM-32D, manufactured by Espressif, is a powerful microcontroller module that integrates both Wi-Fi and Bluetooth capabilities. It is widely used in Internet of Things (IoT) applications, smart devices, and projects requiring wireless communication. The ESP32 is known for its high performance, low power consumption, and versatility, making it a popular choice for developers and hobbyists alike.








The ESP32-WROOM-32D is built around the ESP32-D0WDQ6 chip and offers a range of features suitable for various applications.
| Parameter | Value |
|---|---|
| Manufacturer | Espressif |
| Part ID | ESP32-WROOM-32D |
| Microcontroller Core | Dual-core Xtensa® 32-bit LX6 |
| Clock Speed | Up to 240 MHz |
| Flash Memory | 4 MB (external SPI flash) |
| 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 |
| ADC Channels | 18 (12-bit resolution) |
| DAC Channels | 2 |
| Communication Interfaces | UART, SPI, I2C, I2S, CAN, PWM |
| Power Consumption | Ultra-low power modes available |
| Operating Temperature | -40°C to +85°C |
The ESP32-WROOM-32D has 38 pins. Below is a summary of the key pins and their functions:
| Pin Number | Name | Function Description |
|---|---|---|
| 1 | EN | Enable pin. Active high to enable the chip. |
| 2 | IO0 | GPIO0, used for boot mode selection. |
| 3 | IO2 | GPIO2, general-purpose I/O. |
| 4 | IO4 | GPIO4, general-purpose I/O. |
| 5 | IO5 | GPIO5, general-purpose I/O. |
| 6-11 | N/A | Reserved for internal flash memory. |
| 12 | IO12 | GPIO12, ADC2 channel 5, touch sensor. |
| 13 | IO13 | GPIO13, ADC2 channel 4, touch sensor. |
| 14 | IO14 | GPIO14, ADC2 channel 6, touch sensor. |
| 15 | IO15 | GPIO15, ADC2 channel 3, touch sensor. |
| 16 | IO16 | GPIO16, general-purpose I/O. |
| 17 | IO17 | GPIO17, general-purpose I/O. |
| 18 | IO18 | GPIO18, SPI clock (SCK). |
| 19 | IO19 | GPIO19, SPI MISO. |
| 21 | IO21 | GPIO21, I2C SDA. |
| 22 | IO22 | GPIO22, I2C SCL. |
| 23 | IO23 | GPIO23, SPI MOSI. |
| 25 | IO25 | GPIO25, DAC1, ADC2 channel 8. |
| 26 | IO26 | GPIO26, DAC2, ADC2 channel 9. |
| 27 | IO27 | GPIO27, ADC2 channel 7. |
| 32 | IO32 | GPIO32, ADC1 channel 4, touch sensor. |
| 33 | IO33 | GPIO33, ADC1 channel 5, touch sensor. |
| 34 | IO34 | GPIO34, ADC1 channel 6 (input only). |
| 35 | IO35 | GPIO35, ADC1 channel 7 (input only). |
| 36 | IO36 | GPIO36, ADC1 channel 0 (input only). |
| 39 | IO39 | GPIO39, ADC1 channel 3 (input only). |
The ESP32 can be programmed using the Arduino IDE, Espressif's ESP-IDF, or other development environments. Below are the steps to use the ESP32 in a basic circuit and program it.
https://dl.espressif.com/dl/package_esp32_index.json
// Example: Blink an LED connected to GPIO2 on the ESP32
#define LED_PIN 2 // Define the GPIO pin for the LED
void setup() {
pinMode(LED_PIN, OUTPUT); // Set GPIO2 as an output pin
}
void loop() {
digitalWrite(LED_PIN, HIGH); // Turn the LED on
delay(1000); // Wait for 1 second
digitalWrite(LED_PIN, LOW); // Turn the LED off
delay(1000); // Wait for 1 second
}
ESP32 Not Detected by Computer:
Code Upload Fails:
Wi-Fi Connection Issues:
Random Resets:
By following this documentation, you can effectively use the ESP32-WROOM-32D in your projects and troubleshoot common issues.