
ESP32 ESP-WROOM-32D 0.96" OLED Display is a development board based on the ESP32 microcontroller using XTENSA architecture.
This board features a maximum CPU frequency of 240 MHz and 4MB flash memory.
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.
Technical Specifications
Complete technical specification details for ESP32 ESP-WROOM-32D 0.96" OLED Display
Display
USB
Connectivity
Microcontroller
✨ Features & Pins
- • OLED Screen
Quick Setup
Copy-paste configs for ESP32 ESP-WROOM-32D 0.96" OLED Display - auto‑generated from this board's exact hardware specs.
In Arduino IDE 2 select Esp32 Dev from the esp32 by Espressif package. In PlatformIO use board = esp32dev. ESP32 · 240 MHz · 4MB · DIO.
In Arduino IDE 2, open Boards Manager, search "esp32" by Espressif and install it. Then go to Tools → Board and select "Esp32 Dev" for the ESP32 ESP-WROOM-32D 0.96" OLED Display.
[env:esp32-wroom-32d-oled]
platform = espressif32
board = esp32dev
framework = arduino
; Exact hardware config for ESP32 ESP-WROOM-32D 0.96" OLED Display
board_build.mcu = esp32
board_build.f_cpu = 240000000L
board_build.flash_size = 4MB
board_build.flash_mode = dio
board_upload.flash_size = 4MBThe board value is a close generic match - check PlatformIO board registry for an exact fit.
esp32:
board: esp32dev
framework:
type: arduino # or "esp-idf"
# ESP32 ESP-WROOM-32D 0.96" OLED Display - 240 MHz ESP32
# Flash: 4MB | USB: Micro-USBPaste into your device's .yaml. See ESPHome ESP32 docs for full options.
esptool.py \
--chip esp32 \
--baud 921600 \
write_flash \
--flash_mode dio \
--flash_size 4MB \
0x1000 bootloader.bin \
0x8000 partitions.bin \
0xe000 boot_app0.bin \
0x10000 firmware.binInstall: pip install esptool - replace firmware.bin with your binary - bootloader at 0x1000
ESP32 ESP-WROOM-32D 0.96" OLED Display Pinout Diagram
Complete pin reference for ESP32 ESP-WROOM-32D 0.96" OLED Display
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
These pins are safe for general GPIO usage without boot or system conflicts
Why Are These Pins Safe?
Pins to Avoid or Use with Caution
Reserved for critical functions. Misuse may cause boot failures, programming issues, or system conflicts.
Boot behavior & flash voltage
Low-level debugging interface
USB Serial/JTAG communication
Memory & PSRAM connections
Debugging & firmware uploads
| PIN | Label | Why Avoid | Type |
|---|---|---|---|
| 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 |
| IO14 | MTMS (GPIO14) | Used for JTAG debugging (TMS); driving it as GPIO may interfere with JTAG or produce spurious signals at boot. | 🪛 Other |
| IO16 | GPIO16 | Connected to internal PSRAM on PSRAM-enabled modules; not usable as GPIO on those modules. | ⚡ Flash |
| IO17 | GPIO17 | Connected to internal PSRAM on PSRAM-enabled modules; not usable as GPIO on those modules. | ⚡ Flash |
| IO34 | GPIO34 | Cannot be used as output (no drive capability); only suitable for analog/digital input. | 🪛 Other |
| IO35 | GPIO35 | Cannot be used as output; only suitable for input. | 🪛 Other |
ESP32 ESP-WROOM-32D 0.96" OLED Display Additional Information
More details about ESP32 ESP-WROOM-32D 0.96" OLED Display

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.
Useful Links
Datasheets and resources for ESP32 ESP-WROOM-32D 0.96" OLED Display
ESP32 ESP-WROOM-32D 0.96" OLED Display Custom Pin Mapping
Pin configuration and GPIO mapping for ESP32 ESP-WROOM-32D 0.96" OLED Display
| Pin | Function | ESP Pin | I/O Type | 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 |
Pin Mappings
Complete pinout and GPIO mapping for ESP32 ESP-WROOM-32D 0.96" OLED Display
| 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 & Configuration
Build and upload settings for ESP32 ESP-WROOM-32D 0.96" OLED Display
| Setting | Value |
|---|---|
| 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 bytes) |
| Maximum data size | 320 KB (327680 bytes) |
The ESP32 ESP-WROOM-32D 0.96" OLED Display uses esptool_py for uploads , esp_ota for OTA updates, and esptool_py bootloader at 0x1000.
Flash mode: dio | Boot mode: dio
Max sketch size: 1280 KB | Max data size: 320 KB
Similar Boards
Other development boards with ESP32 microcontroller

Espressif ESP32-PICO-V3-ZERO-DevKit
Espressif ESP32-PICO-V3-ZERO-DevKit development board is based on esp32 microcontroller and uses xtensa...

Onehorse ESP32 Dev Module
Onehorse ESP32 Dev Module development board is based on esp32 microcontroller and uses xtensa architecture.

ESP32 PICO-D4
ESP32 PICO-D4 development board is based on esp32 microcontroller and uses xtensa architecture.

