ESP32 ESP-WROOM-32D 0.96" OLED Display Development Board
Code name: ESP32_DEV
ESP32 ESP-WROOM-32D 0.96" OLED Display 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 ESP32 ESP-WROOM-32D 0.96" OLED Display
The ESP32 ESP-WROOM-32D OLED is a compact development board featuring the ESP32-WROOM-32D module with integrated Wi-Fi 802.11 b/g/n and Bluetooth 4.2 + BLE connectivity. πΆ
Powered by a dual-core Xtensa 32-bit LX6 processor running at up to 240 MHz, with 4MB flash memory and 520KB SRAM, it's perfect for IoT applications and embedded projects. β‘
The board features a built-in 0.96" OLED display with yellow/blue color (128x64 resolution) connected via I2C, ideal for displaying sensor data, status information, or user interfaces. It offers 30 GPIO pins with support for ADC (18 channels, 12-bit), DAC (2 channels), PWM, and various communication interfaces including UART, SPI, I2C, I2S, and CAN. π
Operating at 3.3V with Micro-USB interface for programming and power. Compact design makes it suitable for space-constrained applications. π
Where to Buy ESP32 ESP-WROOM-32D 0.96" OLED Display
Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.
ESP32 ESP-WROOM-32D 0.96" OLED Display Technical Specifications
π₯οΈ Display
π USB
π°οΈ Connectivity
π§ Microcontroller
β¨ Features
- OLED Screen
- 30 digital IO pins
- 16 external interrupt pins
- 16 analog input pins
- 19 PWM pins
ESP32 ESP-WROOM-32D 0.96" OLED Display Pinout
The ESP32 ESP-WROOM-32D OLED pinout provides 30 GPIO pins in a compact layout. Power pins include 3V3
for 3.3V supply and GND
for ground connection.
The integrated 0.96" OLED display uses I2C communication (typically GPIO 21
for SDA and GPIO 22
for SCL). GPIO pins (0-39) support digital I/O, ADC, DAC, PWM, and multiple protocols.
Communication pins include TXD0
and RXD0
for UART0, while other GPIOs can be configured for SPI, I2C, PWM, and more. ADC channels provide 12-bit analog input, and touch sensors enable capacitive touch interfaces.
β 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 |
---|---|---|---|
IO0 | GPIO0 | Must be HIGH during boot for normal startup; if held LOW on reset, forces flash programming mode. | π οΈ Strapping |
IO2 | GPIO2 | If driven HIGH on reset (while IO0 is LOW), selects an unsupported SDIO boot mode, causing boot failure. | π οΈ Strapping |
IO5 | GPIO5 | Must be HIGH during boot; if pulled LOW at reset, alters SDIO slave timing and may prevent normal boot. | π οΈ Strapping |
IO12 | MTDI (GPIO12) | Keep LOW during boot (internal PD); pulling HIGH at reset selects 1.8V flash mode, causing flash brownout if 3.3V flash is used. | π οΈ Strapping |
IO13 | MTCK (GPIO13) | Used for JTAG debugging (TCK); avoid using as GPIO if JTAG is needed. | πͺ Other |
ESP32 ESP-WROOM-32D OLED Features
πΊ Built-in Display
- 0.96" OLED Screen: 128x64 resolution with yellow/blue color scheme
- I2C Interface: Connected to GPIO 21 (SDA) and GPIO 22 (SCL)
- Driver: SSD1306 controller for easy integration
βοΈ Technical Specifications
Based on ESP32-WROOM-32D module with 30 GPIO pins. Perfect for projects requiring visual feedback without external display modules.
π‘ Perfect For
Ideal for IoT projects, sensor monitoring, status displays, and compact embedded applications where a built-in screen is advantageous.
ESP32 ESP-WROOM-32D 0.96" OLED Display Useful Links
ESP32 ESP-WROOM-32D 0.96" OLED Display Pin Mappings
This development board provides 30 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 | OLED RST | GPIO16 | OUTPUT | OLED Reset |
2 | OLED SDA | GPIO4 | BIDIRECTIONAL | I2C Data Line for OLED |
3 | OLED SCL | GPIO15 | BIDIRECTIONAL | I2C Clock Line for OLED |
4 | IO0 | GPIO0 | BIDIRECTIONAL | GPIO0, Boot Mode Selection |
5 | IO2 | GPIO2 | BIDIRECTIONAL | GPIO2, General Purpose I/O |
6 | IO5 | GPIO5 | BIDIRECTIONAL | GPIO5, General Purpose I/O |
7 | IO12 | GPIO12 | BIDIRECTIONAL | GPIO12, ADC or GPIO |
8 | IO13 | GPIO13 | BIDIRECTIONAL | GPIO13, ADC or GPIO |
9 | IO14 | GPIO14 | BIDIRECTIONAL | GPIO14, ADC or GPIO |
10 | IO16 | GPIO16 | BIDIRECTIONAL | GPIO16, General Purpose I/O |
11 | RXD0 | GPIO3 | INPUT | UART0 Receive |
12 | TXD0 | GPIO1 | OUTPUT | UART0 Transmit |
13 | IO17 | GPIO17 | BIDIRECTIONAL | GPIO17, General Purpose I/O |
14 | IO18 | GPIO18 | BIDIRECTIONAL | GPIO18, General Purpose I/O |
15 | IO19 | GPIO19 | BIDIRECTIONAL | GPIO19, General Purpose I/O |
16 | IO21 | GPIO21 | BIDIRECTIONAL | GPIO21, I2C SDA |
17 | IO22 | GPIO22 | BIDIRECTIONAL | GPIO22, I2C SCL |
18 | IO23 | GPIO23 | BIDIRECTIONAL | GPIO23, SPI MOSI |
19 | IO25 | GPIO25 | BIDIRECTIONAL | GPIO25, DAC1 |
20 | IO26 | GPIO26 | BIDIRECTIONAL | GPIO26, DAC2 |
21 | IO27 | GPIO27 | BIDIRECTIONAL | GPIO27, ADC |
22 | IO32 | GPIO32 | BIDIRECTIONAL | GPIO32, ADC |
23 | IO33 | GPIO33 | BIDIRECTIONAL | GPIO33, ADC |
24 | IO34 | GPIO34 | INPUT | GPIO34, ADC Input Only |
25 | IO35 | GPIO35 | INPUT | GPIO35, ADC Input Only |
26 | EN | EN | INPUT | ESP32 Enable |
27 | 3V3 | 3V3 | POWER | 3.3V Power Supply |
28 | GND | GND | POWER | Ground |
29 | VIN | VIN | POWER | 5V Input |
30 | GND | GND | POWER | Ground |
ESP32 ESP-WROOM-32D 0.96" OLED Display Pins Mapping Arduino IDE
Below you can find the ESP32 ESP-WROOM-32D 0.96" OLED Display pinout. This development board provides 30 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 | T1 | |||
1 | PWM | TX | ||
2 | A12 | T2 | PWM | |
3 | PWM | RX | ||
4 | A10 | T0 | PWM | |
5 | PWM | |||
12 | A15 | T5 | PWM | |
13 | A14 | T4 | PWM | |
14 | A16 | T6 | PWM | |
15 | A13 | T3 | PWM | |
16 | PWM | |||
17 | PWM | |||
18 | PWM | |||
19 | PWM | |||
21 | PWM | SDA | ||
22 | PWM | SCL | ||
23 | PWM | MOSI | ||
25 | A18 | DAC1 | ||
26 | A19 | DAC2 | ||
27 | A17 | T8 | PWM | |
32 | A4 | T9 | PWM | |
33 | A5 | T10 | PWM | |
34 | A6 | INPUT | ||
35 | A7 | INPUT |
Default Tools for ESP32 ESP-WROOM-32D 0.96" OLED Display
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 ESP32 ESP-WROOM-32D 0.96" OLED Display 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 ESP32 ESP-WROOM-32D 0.96" OLED Display development board by default is dio and dio respectively.