ESP32 WROOM 32D Pinout and Arduino IDE Board Manager Installation
Description:
ESP32 WROOM 32D Pinout and Arduino IDE Board Manager Installation- The ESP32 WROOM 32D is a module based on the ESP32 microcontroller from Espressif Systems. It is designed for use in a wide range of Internet of Things (IoT) applications such as home automation systems, wireless audio devices, and smart home appliances. The module is equipped with a dual-core processor, which allows it to handle multiple tasks simultaneously and provides a high level of performance.
Amazon Product link:
Other Tools and components:
*Please Note: These are affiliate links. I may make a commission if you buy the components through these links. I would appreciate your support in this way!
About Espressif
Espressif Systems is a privately held fabless semiconductor company that provides wireless communication and connectivity solutions. The company is based in Shanghai, China, and was founded in 2008. Espressif’s main products include the ESP8266 and ESP32 series of microcontrollers, which are widely used in Internet of Things (IoT) devices such as home automation systems, wireless audio devices, and smart home appliances. The company also provides software development kits (SDKs) and other tools to help developers create IoT applications using their microcontrollers.
Esp32 WROOM 32D
The ESP32 WROOM 32D has built-in Wi-Fi and Bluetooth capabilities, which allow it to connect to a wireless network and communicate with other devices. It also has a wide range of input/output (I/O) options, including digital and analog inputs, PWM outputs, and serial communication interfaces. This makes it easy to interface with a variety of sensors and actuators, enabling the development of advanced IoT applications.
The module also has a low power consumption and a deep sleep mode, making it ideal for battery-powered devices. The ESP32 WROOM 32D also supports a wide range of development environments, including the Arduino IDE, Espressif’s own ESP-IDF, and Micropython. Additionally, the module is FCC, CE, IC, TELEC, and SRRC certified, which ensures the compliance with the regulations of different countries.
Furthermore, the ESP32 WROOM 32D has a built-in 4MB flash memory, which allows for storage of program code and data. It also supports OTA (over the air) firmware updates, which makes it easy to update the firmware of the device remotely.
In summary, the ESP32 WROOM 32D is a powerful and versatile module that is well-suited for a wide range of IoT applications. Its combination of a dual-core processor, built-in Wi-Fi and Bluetooth, and a wide range of I/O options make it a great choice for developers looking to create advanced IoT devices.
ESP32 WROOM 32D Pinout(ESP32-DevKitC)
The ESP32-DevKitC board has a rectangular shape and is typically around 29mm x 58mm in size. On the board, you will find the ESP32 microcontroller, which is typically in the form of a chip, as well as various other components such as capacitors, resistors, and LEDs. The board also includes a USB connector, which is used to connect the board to a computer for programming and power supply.
The board also includes a number of input/output (I/O) pins, which can be used to interface with sensors, actuators, and other devices. These pins are typically arranged in two rows along the edges of the board. Additionally, the board has a built-in antenna for Wi-Fi and Bluetooth communication, which is typically located on one of the corners of the board.
The ESP32-DevKitC board also has a reset button and an on-board LED, which can be used for debugging and troubleshooting. The board is usually in a red color, however some manufacturers may have different colors. All these component are described below in detail.
List of ESP32 DevKitCÂ series
board | module used | memory | antenna |
ESP32-DevKitC-32E | ESP32-WROOM-32E | 4MB Flash | PCBs |
ESP32-DevKitC-32UE | ESP32-WROOM-32UE | 4MB Flash | IPEX |
ESP32-DevKit CVE | ESP32-WROVER-E | 8MB Flash + 8MB PSRAM | PCBs |
ESP32-DevKitCVIE | ESP32-WROVER-IE | 8MB Flash + 8MB PSRAM | IPEX |
ESP32-DevKit C-32S1 | ESP32-SOLO-1 | 4MB Flash | PCBs |
The appearance of ” ESP32-DevKitC ” is shown below.
Front side
 The front side of the ESP32-DevKitC development board typically includes the following components:
- ESP32 Microcontroller: This is the heart of the board and is responsible for running the program code and performing various tasks such as connecting to a wireless network and interfacing with sensors.
- USB Connector: This is used to connect the board to a computer for programming and power supply.
- On-board LED: This LED can be used for debugging and troubleshooting.
- Reset button: Pressing this button resets the microcontroller, which can be useful for troubleshooting.
- Input/Output (I/O) Pins: These pins can be used to interface with sensors, actuators, and other devices. They are typically arranged in two rows along the edges of the board.
- Antenna: The board has a built-in antenna for Wi-Fi and Bluetooth communication. It’s typically located on one of the corners of the board.
- Other components: The board may also include other components such as capacitors, resistors, and diodes to support the microcontroller and other functions.
Back side
This is the ESPRESSIF ESP32 WROOM 32D module. All the pins are clearly labeled on the top side and also on the bottom side.
ESP32 WROOM 32D Technical specification:
Here are some of the key technical specifications of the module:
- Microcontroller: ESP32, dual-core processor with a clock speed of up to 240 MHz
- Memory: 4MB flash memory, 520 KB SRAM
- Wireless Connectivity: Built-in Wi-Fi (802.11 b/g/n) and Bluetooth (v4.2, BLE)
- Antenna: On-board PCB antenna
- Input/Output (I/O): 34 general-purpose input/output (GPIO) pins, 12-bit SAR ADC, 8-bit DAC, PWM, I2S, I2C, SPI, UART, and IR remote control
- Operating Voltage: 3.3V
- Operating Temperature: -40°C to +85°C
- Certifications: FCC, CE, IC, TELEC, and SRRC certified
The ESP32 WROOM 32D also supports a wide range of development environments, including the Arduino IDE, Espressif’s own ESP-IDF, and MicroPython. It also has a low power consumption and a deep sleep mode making it ideal for battery-powered devices.
item | specification |
Operating voltage | 3.0V to 3.6V |
operating current | 80mA (Ave.) |
Recommended operating temperature | -40°C to +85°C |
flash memory | 4MB |
Wifi | 802.11b/g/n (802.11n up to 150Mbps) |
Bluetooth | Bluetooth v4.2 BE/EDR and Bluetooth LW specification |
For detailed specifications, please read the official data sheet which is available on ESPRESSIF website.
ESP32 WROOM 32D On Board Components:
USB port (Micro USB)
The ESP32 microcontroller, as used in the ESP32 WROOM 32D module and the ESP32-DevKitC development board, includes a USB controller that can be used to connect the device to a computer for programming and power supply. The USB port can also be used to communicate with other devices using the USB protocol.
The ESP32 USB port can be configured to function in different modes, such as:
- USB Device mode: In this mode, the ESP32 acts as a USB device and can be connected to a computer or other USB host. This mode is typically used for programming and debugging the ESP32 using the USB-to-serial converter built into the device.
- USB Host mode: In this mode, the ESP32 can act as a USB host and connect to other USB devices, such as keyboards, mice, or storage devices.
- Dual mode: The ESP32 can be configured to act as both a USB device and host simultaneously.
The USB port on the ESP32 can be configured to work with different USB classes such as CDC (Communications Device Class) and HID (Human Interface Device) class. Additionally, the USB port can be used to power the device, but the power supply requirements depend on the device’s current consumption and voltage range.
EN button (Reset button)
ESP32 WROOM 32D module and the ESP32-DevKitC development board, includes a button labeled “EN” (short for “enable”) that can be used to perform different functions depending on the firmware and the configuration of the device.
One of the most common uses of the EN button is to put the ESP32 into bootloader mode. This allows the device to be reprogrammed with new firmware. To do this, the EN button must be pressed and held while the device is powered on or reset.
The EN button can also be used to reset the ESP32. To do this, the EN button must be pressed and released quickly.
Additionally, the EN button can be used as a user-defined button, to control or trigger certain actions or events in the firmware. For example, the EN button can be used to switch between different modes of operation or to initiate a specific action.
The behavior of the EN button can be defined by the firmware, and it’s usually configured in the software development process. Therefore, the exact function of the EN button may vary depending on the specific application and firmware running on the device.
Power LED
LED for checking the status of ” ESP32-DevKitC “.
Turns on when USB or external 5V power supply is connected to the board.
power options
There are three ways to supply power to ESP32-DevKitC
Supplied from Micro USB (normal)
Use 5V/GND pin
Uses 3.3V/GND pin
Note: If used, use only one
of the above. Multiple uses may cause damage.
ESP32 WROOM 32D antenna
ESP32 WROOM 32D module and the ESP32-DevKitC development board, includes a built-in antenna that is used for wireless communication. The antenna is used to transmit and receive radio signals for the built-in Wi-Fi and Bluetooth capabilities of the ESP32.
The antenna on the ESP32 is typically a PCB (printed circuit board) antenna, which is a small, compact antenna that is integrated directly onto the PCB of the device. PCB antennas are a cost-effective and space-efficient solution for providing wireless connectivity in small devices such as the ESP32.
The ESP32 also has the capability of using an external antenna, the PCB antenna can be replaced with an external one that can be connected through a connector or an IPEX connector, this can increase the range and stability of the wireless communication.Â
ESP32-DevKitC Pinout and Assignment
 IO pin (J2 side)
P: Power I: Input I/O: Input/Output
No. | Pin Name | Type | function |
1 | 3V3 | P. | 3.3V power supply |
2 | EN | I | CHIP_PU, Reset |
3 | IO36 | I | GPIO36, ADC1_CH0, S_VP |
4 | IO39 | I | GPIO39, ADC1_CH3, S_VN |
5 | IO34 | I | GPIO34, ADC1_CH6, VDET_1 |
6 | IO35 | I | GPIO35, ADC1_CH7, VDET_2 |
7 | IO32 | I/O | GPIO32, ADC1_CH4, TOUCH_CH9, XTAL_32K_P |
8 | IO33 | I/O | GPIO33, ADC1_CH5, TOUCH_CH8, XTAL_32K_N |
9 | IO25 | I/O | GPIO25, ADC1_CH8, DAC_1 |
10 | IO26 | I/O | GPIO26, ADC2_CH9, DAC_2 |
11 | IO27 | I/O | GPIO27, ADC2_CH7, TOUCH_CH7 |
12 | IO14 | I/O | GPIO14, ADC2_CH6, TOUCH_CH6, MTMS |
13 | IO12 | I/O | GPIO12, ADC2_CH5, TOUCH_CH5, MTDI |
14 | GND | G. | Ground |
15 | IO13 | I/O | GPIO13, ADC2_CH4, TOUCH_CH4, MTCK |
16 | IO9 | I/O | GPIO9, D2 |
17 | IO10 | I/O | GPIO10, D3 |
18 | IO11 | I/O | GPIO11, CMD |
19 | 5V0 | P. | 5V power supply |
IO pin (J3 side)
P: Power I: Input I/O: Input/Output
No. | Pin Name | Type | function |
1 | GND | G. | Ground |
2 | IO23 | I/O | GPIO23 |
3 | IO22 | I/O | GPIO22 |
4 | IO1 | I/O | GPIO1, U0TXD |
5 | IO3 | I/O | GPIO3, U0RXD |
6 | IO21 | I/O | GPIO21 |
7 | GND | G. | Ground |
8 | IO19 | I/O | GPIO19 |
9 | IO18 | I/O | GPIO18 |
10 | IO5 | I/O | GPIO5 |
11 | IO17 | I/O | GPIO17 |
12 | IO16 | I/O | GPIO16 |
13 | IO4 | I/O | GPIO4, ADC2_CH0, TOUCH_CH0 |
14 | IO0 | I/O | GPIO0, ADC2_CH1, TOUCH_CH1, Boot |
16 | IO2 | I/O | GPIO2, ADC2_CH2, TOUCH_CH2 |
17 | IO15 | I/O | GPIO15, ADC2_CH3, TOUCH_CH3, MTDO |
17 | IO8 | I/O | GPIO8, D1 |
18 | IO7 | I/O | GPIO7, D0 |
19 | IO6 | I/O | GPIO6, SCK |
INPUT pin
Enter LOW or HIGH as a digital input.
Available on all GPIO pins.
ESP32 operates at 3.3V.
25% below 0.825V:Â LOW
Voltage above 75% of 2.475V:Â HIGH
analog pin
A pin that can be used for analogRead().
List of pins that can be used as analog pins (ADC)
Pin Name | function |
IO36 | ADC1_CH0 |
IO39 | ADC1_CH3 |
IO34 | ADC1_CH6 |
IO35 | ADC1_CH7 |
IO32 | ADC1_CH4 |
IO33 | ADC1_CH5 |
IO25 | ADC1_CH8 |
IO26 | ADC2_CH9 |
IO27 | ADC2_CH7 |
IO14 | ADC2_CH6 |
IO12 | ADC2_CH5 |
IO13 | ADC2_CH4 |
IO4 | ADC2_CH0 |
IO0 | ADC2_CH1 |
IO2 | ADC2_CH2 |
IO15 | ADC2_CH3 |
OUTPUT pin
Available for GPIO from GPIO0 to GPIO33.
Outputs LOW or HIGH as a digital output.
SPI pin
Pins that can be used by default for SPI.
It’s called VSPI.
Pin Name | function |
IO23 | VSPID |
IO22 | VSPIWP |
IO21 | VSPI HD |
IO19 | VSPIQ |
IO18 | VSPICLK |
IO5 | VSPICS0 |
There are many other things, but you can check the details in the datasheet.Â
Esp32 Arduino IDE Board Manager Installation
The ESP32 microcontroller can be programmed using the Arduino IDE, which provides an easy-to-use development environment for creating IoT projects. Here are the steps to install the ESP32 board in the Arduino IDE using the Board Manager:
- Open the Arduino IDE on your computer.
- Go to the “File” menu and select “Preferences.”
- In the “Additional Boards Manager URLs” field, enter the following URL:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Go to the “Tools” menu and select “Board: and then “Boards Manager.”
- In the Boards Manager window, search for “esp32” and select the “esp32 by Espressif Systems” option.
- Click the “Install” button to install the ESP32 board files. But in my case I already installed it.
- After the installation is complete, close the Boards Manager window.
- Go to the “Tools” menu and select “Board: and then “ESP32 Dev Module” or “ESP32 Wrover Module” depending on the module you are working with.
- Select the appropriate “Port” for your ESP32 board.
Once the ESP32 board is installed, you can use the Arduino IDE to create, edit, and upload programs to the ESP32. You can use the example sketches provided with the ESP32 board files or create your own sketches using the various libraries and functions provided by the ESP32 board.
Please note that before uploading any code to the ESP32 board, make sure to choose the right board and the right com port. Also, the ESP32 board requires a USB to serial converter to connect to the computer, make sure you have the correct driver installed and connected.