The ESP32-WROOM-32E is an updated version of the popular ESP32-WROOM-32D module, designed for IoT and embedded applications. This module comes with more reliable features, power efficiency, and enhanced connectivity, making it ideal for high-performance projects. In this post, we’ll have a look at the pinout and specifications of the ESP32-WROOM-32E and how to use them in your designs.
ESP32-WROOM-32E Overview
The 32E version is a powerful module based on the ESP32-D0WD chip. It features dual-core processors, Wi-Fi, and Bluetooth support, making it highly versatile for various applications. Some key specs of the module include:
- Processor: Dual-core Xtensa LX6 CPUs
- Wi-Fi: 802.11 b/g/n
- Bluetooth: v4.2 BR/EDR and BLE
- Flash: 4 MB
- Operating Voltage: 3.3V
- Operating Frequency: 240MHz
- GPIO’s: 34
- Analogue Inputs (ADC): 18 channels
- DAC (Digital-to-Analogue Converter): 2 channels
- UART: 3
- SPI/I2C: 4/2
- PWM: Available on multiple pins
- Touch Sensor Inputs: 10 channels
Now let’s dive into the ESP32-WROOM-32E Pinout.
ESP32-WROOM-32E Pinout Diagram
Here’s a breakdown of the pins that are available:
Pin No. | Name | Function |
---|---|---|
1 | EN | Enable Pin (Active High). Pulling this pin low will reset the module. |
2 | IO34 | GPIO34 (Input Only). It does not support output functions. |
3 | IO35 | GPIO35 (Input Only). |
4 | IO32 | GPIO32 (ADC1 Channel 4, Touch Sensor 9, DAC1, PWM). |
5 | IO33 | GPIO33 (ADC1 Channel 5, Touch Sensor 8, PWM). |
6 | VSS | Ground (0V) |
7 | IO25 | GPIO25 (ADC2 Channel 8, DAC2, PWM). |
8 | IO26 | GPIO26 (ADC2 Channel 9, PWM). |
9 | IO27 | GPIO27 (ADC2 Channel 7, PWM). |
10 | IO14 | GPIO14 (HSPI CLK, ADC2 Channel 6, Touch Sensor 6, PWM). |
11 | IO12 | GPIO12 (HSPI MISO, ADC2 Channel 5, Touch Sensor 5, PWM). |
12 | IO13 | GPIO13 (HSPI MOSI, ADC2 Channel 4, Touch Sensor 4, PWM). |
13 | IO9 | GPIO9 (SD2 Data Pin). |
14 | IO10 | GPIO10 (SD3 Data Pin). |
15 | IO23 | GPIO23 (VSPI MOSI, PWM). |
16 | IO22 | GPIO22 (I2C SCL, PWM). |
17 | IO21 | GPIO21 (I2C SDA, PWM). |
18 | GND | Ground (0V) |
19 | IO19 | GPIO19 (VSPI MISO, PWM). |
20 | IO18 | GPIO18 (VSPI CLK, PWM). |
21 | IO5 | GPIO5 (HSPI CS0, PWM). |
22 | IO17 | GPIO17 (UART2 TX). |
23 | IO16 | GPIO16 (UART2 RX). |
24 | IO4 | GPIO4 (ADC2 Channel 0, Touch Sensor 0, PWM). |
25 | IO0 | GPIO0 (Strapping Pin, Used for Boot Mode). |
26 | IO2 | GPIO2 (ADC2 Channel 2, Touch Sensor 2, PWM). |
27 | IO15 | GPIO15 (HSPI CS1, ADC2 Channel 3, Touch Sensor 3, PWM). |
28 | IO8 | GPIO8 (SD1 Data Pin). |
29 | IO7 | GPIO7 (SD0 Data Pin). |
30 | IO6 | GPIO6 (SD CLK Pin). |
31 | IO3 | GPIO3 (U0RXD, PWM). |
32 | IO1 | GPIO1 (U0TXD, PWM). |
33 | 3V3 | 3.3V Power Supply. |
34 | GND | Ground (0V) |
Key Pin Functions
- GPIO Pins: The ESP32-WROOM-32E has 34 GPIO pins, some of which have special functionalities such as SPI, UART, and I2C communication. These pins can also be used for PWM output, ADC input, or digital I/O.
- Analogue Inputs: There are 18 ADC channels, divided between ADC1 and ADC2. These are ideal for reading sensors such as temperature sensors, potentiometers, and other analogue devices.
- DAC Pins: There are 2 DAC pins (GPIO25 and GPIO26) that can generate analogue output voltages. These are useful for applications requiring signal generation, audio output, etc.
- Touch Sensors: The ESP32-WROOM-32E features 10 capacitive touch pins, which can be used for touch-sensitive applications like touchpads or touch buttons.
- UART Pins: The module has 3 UART interfaces (U0, U1, U2), which can be used for serial communication. Default UART0 pins are TXD0 (GPIO1) and RXD0 (GPIO3).
- SPI and I2C Pins: There are dedicated SPI and I2C communication pins (SPI: GPIO23, GPIO19, GPIO18, GPIO5; I2C: GPIO22 (SCL), GPIO21 (SDA)) to connect peripherals like sensors, displays, and memory devices.
- PWM: Most GPIO’s on the ESP32-WROOM-32E can generate PWM signals. These are useful for controlling LEDs, motors, and other devices.
- Power Pins: The module operates at 3.3V. You can power it through the 3V3 pin. Ground is shared across the board using GND pins.
Strapping Pins
The 32E has some strapping pins (GPIO0, GPIO2, GPIO12, GPIO15) that configure the boot mode and flash voltage. Be careful with these pins during setup as incorrect settings may prevent the module from booting properly.
The 32D and 32E modules are both based on the ESP32 chip, but they have some differences that can affect their performance and applications. Here’s a comparison of the two:
1. Chip Revision
- ESP32-WROOM-32D: Uses the ESP32-D0WD chip, which is based on an older chip revision.
- ESP32-WROOM-32E: Uses the same ESP32-D0WD chip, but with an updated chip revision (Rev 3) that brings improvements in stability and bug fixes compared to previous versions.
Difference: The ESP32-WROOM-32E has the advantage of being based on a more recent revision of the ESP32 chip, which may have optimizations, bug fixes, and better performance in certain scenarios.
2. RF Performance
- ESP32-WROOM-32D: The RF performance (Wi-Fi and Bluetooth) is optimized but is based on the earlier tuning of the ESP32 chip.
- ESP32-WROOM-32E: The RF performance has been further optimized in the newer revision, which improves overall signal strength and consistency in environments with interference or at longer ranges.
Difference: The ESP32-WROOM-32E offers improved RF performance due to better tuning and optimizations.
3. Power Consumption
- ESP32-WROOM-32D: Standard power consumption as per ESP32’s initial design. In low-power modes like deep sleep, it functions similarly to other ESP32-based modules.
- ESP32-WROOM-32E: Slight optimizations in the newer revision may reduce power consumption, particularly in idle or low-power states.
Difference: The ESP32-WROOM-32E may have minor improvements in power efficiency due to optimizations in chip revision 3, though both modules have similar power profiles.
4. Firmware Compatibility
- ESP32-WROOM-32D: Compatible with ESP-IDF (Espressif IoT Development Framework) and other development environments for ESP32.
- ESP32-WROOM-32E: Fully backward compatible with ESP32-WROOM-32D firmware. It runs the same ESP-IDF framework but benefits from additional stability enhancements present in the newer chip revision.
Difference: Both modules are firmware compatible, but the ESP32-WROOM-32E has the advantage of receiving long-term support for bug fixes and enhancements in newer ESP-IDF versions.
5. Availability and Pricing
- ESP32-WROOM-32D: This module is still widely available, but as Espressif moves towards newer revisions, its long-term availability may decrease.
- ESP32-WROOM-32E: Designed to be the newer option, this module will likely be supported longer by Espressif and may be easier to find in the future.
Difference: The ESP32-WROOM-32E is positioned as the more future-proof option, especially for long-term projects.
6. Pin Layout and Peripherals
- ESP32-WROOM-32D: Pin layout, GPIO assignments, and peripheral availability are identical to other ESP32-WROOM modules.
- ESP32-WROOM-32E: The same pin layout, GPIO assignments, and peripherals are available. There are no significant differences between the two modules in terms of pinout or hardware interface.
Difference: There are no changes in the pinout or peripherals between the two.
Conclusion:
The ESP32-WROOM-32E is essentially an improved version of the ESP32-WROOM-32D, with enhanced RF performance, better power optimizations, and improved stability due to the use of a newer chip revision. Both modules are functionally similar and pin-compatible, but the WROOM-32E is a better choice for future-proof designs due to its optimizations and long-term support.
For most applications, if you are starting a new project or planning for longer-term use, the ESP32-WROOM-32E would be the recommended module. However, for existing projects, the ESP32-WROOM-32D is still a viable option if its performance meets your needs.
Whether you’re working on basic IoT projects or more complex systems, the ESP32-WROOM-32E provides the performance and flexibility you need. Happy coding!