uPesy ESP32 Wroom DevKit Development Board
Code name: uPesy_WROOM
uPesy ESP32 Wroom DevKit development board is based on esp32 microcontroller and uses xtensa architecture. This board has a maximum CPU frequency of 240 MHz and a flash size of 4MB.
About uPesy ESP32 Wroom DevKit
General-purpose ESP32 board with WROOM module β compact and easy to integrate into embedded projects.
Where to Buy
Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.
Technical Specifications
π°οΈ Connectivity
π§ Microcontroller
β¨ Features
- 40 digital IO pins
- 16 external interrupt pins
- 16 analog input pins
- 19 PWM pins
uPesy ESP32 Wroom DevKit Pinout
The ESP32-WROOM DevKit provides a comprehensive and flexible pinout layout, making it an ideal choice for a wide range of IoT applications. The module includes a built-in LED connected to GPIO13
, which can be easily controlled for status indicators or debugging. Communication is well-supported with dedicated pins like GPIO3
for UART receive and GPIO1
for UART transmit, ensuring seamless serial communication with other devices or computers.
For I2C communication, the board features GPIO21
for SDA and GPIO22
for SCL, allowing the connection of peripherals like sensors and displays. The SPI interface is equally robust, with GPIO23
for MOSI, GPIO19
for MISO, GPIO18
for SCK, and GPIO5
for the SS (Slave Select) line. These pins enable high-speed communication with external devices such as memory modules or other microcontrollers.
The board also supports multiple analog inputs through its ADC channels, with pins like GPIO36
(A0), GPIO39
(A3), GPIO32
(A4), and GPIO33
(A5). These pins are perfect for interfacing with sensors that provide analog output, such as temperature or light sensors. Additionally, it features two DAC outputs on GPIO25
(DAC1) and GPIO26
(DAC2), which allow for digital-to-analog signal conversion for applications like audio or waveform generation.
β Safe Pins to Use
For general GPIO usage, these are the safest and most flexible choices:
Why Are These Pins Safe?
- Not involved in bootstrapping β No impact on device boot mode or system startup
- Not linked to flash memory or PSRAM β Won't interfere with storage or memory access
- Not dedicated to USB or JTAG β Free for general use without affecting debugging
- No special hardware connections β Freely assignable without internal conflicts
β οΈ Pins to Avoid or Use with Caution
Some pins are reserved for critical functions like bootstrapping, JTAG debugging, USB communication, and flash memory operations. Misusing these pins may lead to boot failures, programming issues, USB conflicts, or disruptions in flash storage.
Critical Pin Categories:
- π οΈ Strapping Pins: Control boot behavior and flash voltage selection
- π JTAG Debugging Pins: Required for low-level debugging
- π USB Communication Pins: Used for USB Serial/JTAG communication
- β‘ Flash Memory & SPI Pins: Connected to SPI flash memory and PSRAM
- π‘ UART Serial Communication Pins: Used for debugging and firmware uploads
PIN | Label | Reason | Function |
---|---|---|---|
IO3 | U0RXD (GPIO3) | Used for receiving data from USB-UART (programming); also pulled HIGH at boot for console communication, so using as GPIO can disrupt uploads. | π USB |
IO1 | U0TXD (GPIO1) | Connected to on-board USB-UART for uploading and logs; drives serial output at boot, so using as GPIO can disrupt programming or console. | π USB |
IO5 | GPIO5 | Must be HIGH during boot; if pulled LOW at reset, alters SDIO slave timing and may prevent normal boot. | π οΈ Strapping |
IO36 | GPIO36 (SENSOR_VP) | Cannot be used as output; only suitable for input (e.g., analog read). | πͺ Other |
IO39 | GPIO39 (SENSOR_VN) | Cannot be used as output; only suitable for input. | πͺ Other |
uPesy ESP32 Wroom DevKit Useful Links
π Datasheet
https://www.upesy.fr/blogs/tutorials/upesy-esp32-wroom-devkit-board-documentation-version-latest?srsltid=AfmBOopaZxJAtzzww6VfPf9hBfLZgh4gaE9dZWVGUel4YMI-lVzs9pLx&shpxid=ac2427fd-ca8a-4fcc-8f9e-862bf477624a
π ESP32 Datasheet
https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
uPesy ESP32 Wroom DevKit Pin Mappings
This development board provides 40 digital IO pins, out of which 16 can be used as external interrupt pins , 16 as analog input pins and 19 pins have Pulse-Width Modulation (PWM) .
Pin | Function | ESP Pin | Input/Output | Description |
---|---|---|---|---|
1 | LED_BUILTIN | GPIO13 | output | Built-in LED |
2 | IO3 | GPIO3 | input | UART Receive |
3 | IO1 | GPIO1 | output | UART Transmit |
4 | IO21 | GPIO21 | bidirectional | I2C Data Line |
5 | IO22 | GPIO22 | bidirectional | I2C Clock Line |
6 | IO5 | GPIO5 | bidirectional | SPI Slave Select |
7 | IO23 | GPIO23 | bidirectional | SPI Master Out Slave In |
8 | IO19 | GPIO19 | bidirectional | SPI Master In Slave Out |
9 | IO18 | GPIO18 | bidirectional | SPI Clock Line |
10 | IO36 | GPIO36 | input | ADC1 Channel 0 |
11 | IO39 | GPIO39 | input | ADC1 Channel 3 |
12 | IO32 | GPIO32 | input | ADC1 Channel 4 |
13 | IO33 | GPIO33 | input | ADC1 Channel 5 |
14 | IO25 | GPIO25 | output | Digital-to-Analog Converter 1 |
15 | IO26 | GPIO26 | output | Digital-to-Analog Converter 2 |
uPesy ESP32 Wroom DevKit Pins Mapping Arduino IDE
Below you can find the uPesy ESP32 Wroom DevKit pinout. This development board provides 40 digital IO pins, out of which 16 can be used as external interrupt pins, 16 as analog input pins and 19 pins have Pulse-Width Modulation (PWM).
Pin | Analog | Touch | PWM | Other |
---|---|---|---|---|
0 | A11 | T1 | ||
1 | PWM | TX | ||
2 | A12 | T2 | PWM | LED_BUILTIN |
3 | PWM | RX | ||
4 | A10 | T0 | PWM | |
5 | PWM | SS | ||
12 | A15 | T5 | PWM | |
13 | A14 | T4 | PWM | |
14 | A16 | T6 | PWM | |
15 | A13 | T3 | PWM | |
18 | PWM | SCK | ||
19 | PWM | MISO | ||
21 | PWM | SDA | ||
22 | PWM | SCL | ||
23 | PWM | MOSI | ||
25 | A18 | PWM | DAC1 | |
26 | A19 | PWM | DAC2 | |
27 | A17 | T7 | PWM | |
32 | A4 | T9 | PWM | |
33 | A5 | T8 | PWM | |
34 | A6 | |||
35 | A7 | |||
36 | A0 | |||
39 | A3 |
Default Tools
Bootloader tool | esptool_py |
Uploader tool | esptool_py |
Network uploader tool | esp_ota |
Bootloader address | 0x1000 |
Flash mode | dio |
Boot mode | dio |
Maximum upload size | 1280 Kb (1310720 B) |
Maximum data size | 320 Kb (327680 B) |
The uPesy ESP32 Wroom DevKit development board by default uses esptool_py uploader tool, esp_ota network uploader tool for Over-the-air (OTA) uploads and esptool_py bootloader tool. The bootloader starts at address "0x1000". Flash mode and boot mode for uPesy ESP32 Wroom DevKit development board by default is dio and dio respectively.