ESP32-WROVER-E: Your Gateway to Powerful IoT Projects
The ESP32-WROVER-E module integrates a powerful ESP32 chip with ample PSRAM for demanding embedded applications.

The ESP32-WROVER-E is a highly integrated Wi-Fi and Bluetooth module built around Espressif's ESP32 System-on-Chip (SoC). It distinguishes itself from standard ESP32 modules by incorporating a larger amount of PSRAM (Pseudo-Static Random-Access Memory), typically 4MB or 8MB, directly on the module. This significantly expands the available memory for complex applications, enabling richer user interfaces, larger data buffers, and more sophisticated algorithms that would be challenging on ESP32 variants with less RAM.
At its core, the ESP32-WROVER-E utilizes the ESP32-D0WDQ6 chip, a dual-core Tensilica LX6 microprocessor. This powerful SoC boasts a clock speed of up to 240MHz, integrated Wi-Fi (802.11 b/g/n) and Bluetooth (v4.2 BR/EDR and BLE) capabilities, making it an ideal choice for a wide range of IoT applications. The 'WROVER' designation specifically refers to the inclusion of onboard PSRAM, while the '-E' suffix indicates the use of the newer ESP32-D0WDQ6 chip, which offers improved performance and stability over earlier revisions.
Positioned as a high-performance option within the ESP32 family, the ESP32-WROVER-E caters to makers, students, and engineers who require more memory than standard ESP32 modules provide. Its robust feature set makes it suitable for projects involving graphical displays, real-time data processing, complex network protocols, or machine learning inference at the edge. If your project demands more RAM for data handling or intricate software stacks, the ESP32-WROVER-E is a compelling solution.
The module's design simplifies the development process by integrating the ESP32 chip, flash memory, and PSRAM into a compact package with a castellated edge connector. This allows for easier integration into custom PCB designs or use with development boards that break out its pins. Its versatility and power make it a popular choice for hobbyists looking to push the boundaries of their IoT projects and for professionals developing commercial IoT products.
Watch
Related video, embedded from YouTube.
Specifications
| Microcontroller / SoC | ESP32-D0WDQ6 |
| Architecture | Dual-core Tensilica LX6 microprocessor |
| Clock speed | Up to 240 MHz |
| Flash / Storage | 4MB or 8MB (onboard module, typically 4MB for WROVER-E) |
| RAM / SRAM | 520 KB SRAM (internal to ESP32 chip) + 4MB or 8MB PSRAM (onboard module) |
| Operating voltage | 3.3V |
| Digital I/O pins | Up to 34 GPIO (depending on module variant and usage) |
| Analog / ADC | 12-bit SAR ADCs, up to 18 channels |
| PWM | Up to 16 channels |
| Connectivity | Wi-Fi 802.11 b/g/n, Bluetooth v4.2 BR/EDR and BLE |
| USB | None directly on module; requires external USB-to-UART converter for programming/serial communication |
| Power input | Typically 5V via USB or VIN pin (regulated to 3.3V on-board) |
| Dimensions | Module: 18.9mm x 25.4mm x 3.3mm (approx.) |
Pinout & pin functions
| Pin | Function |
|---|---|
| 3V3 | 3.3V Power Output |
| GND | Ground |
| EN | Enable Pin (High for operation, Low to reset) |
| GPIO0 | Boot Mode Select (Low during boot to enter flashing mode) |
| GPIO2 | General Purpose I/O, also connected to the onboard LED |
| GPIO4 | General Purpose I/O |
| GPIO5 | General Purpose I/O, SPI CS0 |
| GPIO12 | General Purpose I/O, SPI MISO, ADC5, MTDI |
| GPIO13 | General Purpose I/O, SPI MOSI, ADC6, MTCK |
| GPIO14 | General Purpose I/O, SPI SCK, ADC2, MTDO |
| GPIO15 | General Purpose I/O, SPI CS1, ADC3, U0RXD |
| GPIO16 | General Purpose I/O, RXD2 |
| GPIO17 | General Purpose I/O, TXD2 |
| GPIO18 | General Purpose I/O, I2S Bit Clock |
| GPIO19 | General Purpose I/O, I2S Word Select |
| GPIO21 | General Purpose I/O, I2C SDA |
| GPIO22 | General Purpose I/O, I2C SCL |
| GPIO23 | General Purpose I/O, I2S Data Out |
| GPIO25 | General Purpose I/O, ADC8, DAC1 |
| GPIO26 | General Purpose I/O, ADC9, DAC2 |
| GPIO27 | General Purpose I/O, ADC7 |
| GPIO32 | General Purpose I/O, ADC4 |
| GPIO33 | General Purpose I/O, ADC2 |
| GPIO34 | Input Only, ADC0 |
| GPIO35 | Input Only, ADC1 |
| GPIO36 | Input Only, ADC18, VDD_A sensor |
| GPIO39 | Input Only, ADC13 |
| VIN | Input Voltage (typically 5V, regulated to 3.3V) |
Wiring & circuit basics
Powering the ESP32-WROVER-E module safely is crucial. Most development boards provide a 5V input via USB or a VIN pin, which is then regulated down to the 3.3V required by the ESP32 and its peripherals. If powering directly, ensure you provide a stable 3.3V supply capable of delivering at least 500mA, as Wi-Fi and Bluetooth transmissions can cause significant current spikes. Avoid powering it directly from a 5V pin if your board's regulator cannot handle the current demand.
The ESP32 operates at a logic level of 3.3V. Connecting 5V logic devices directly to its GPIO pins can damage the chip. If you need to interface with 5V devices, use a logic level shifter or a voltage divider for inputs. For outputs from the ESP32 to 5V devices, ensure the 5V device can tolerate a 3.3V signal or use a buffer/transistor circuit. For example, to safely blink an LED, connect a 3.3V GPIO pin to a current-limiting resistor (e.g., 220-330 ohms) and then to the LED's anode, with the cathode connected to GND.
When connecting I2C sensors, which typically operate at 3.3V, connect the sensor's SDA and SCL pins to the ESP32's GPIO21 (SDA) and GPIO22 (SCL) respectively. Ensure the sensor also has its VCC connected to 3.3V and GND to the ESP32's GND. Some I2C devices may require pull-up resistors on the SDA and SCL lines; these are often built into ESP32 development boards or can be added externally (e.g., 4.7k ohm resistors to 3.3V).
Programming & getting started
The ESP32-WROVER-E is well-supported by multiple development environments. The Arduino IDE is a popular choice for its ease of use; after installing the ESP32 board support package, you can select the appropriate board variant and upload code using the Arduino framework. For more advanced control and access to the full ESP-IDF (Espressif IoT Development Framework), you can use Espressif's own tools or PlatformIO within VS Code. MicroPython and CircuitPython also offer Python-based programming, allowing for rapid prototyping and development.
To upload your first sketch using the Arduino IDE: 1. Install the ESP32 board support in the Arduino IDE's Board Manager. 2. Connect your ESP32-WROVER-E development board to your computer via USB. 3. Select the correct ESP32 board from the Tools > Board menu. 4. Choose the correct COM port. 5. Write a simple sketch (e.g., Blink). 6. Click the Upload button. The ESP32 will typically enter bootloader mode automatically, or you may need to hold down the BOOT (GPIO0) button while pressing RESET (EN) and then releasing BOOT.