OLED 128x64
Image Gallery












Overview
The DIYables OLED 128x64 is a 0.96-inch white self-luminous OLED display delivering 128×64 pixel resolution via I2C. The SSD1306 controller is the most widely supported OLED driver, with extensive library coverage across C/C++ and MicroPython. The module operates from 3V to 5V, making it compatible with virtually every modern microcontroller without level shifting. Power consumption at full brightness is only 0.08W, and a black screen draws almost no current.
Quick Overview
| Property | Value |
|---|---|
| Resolution | 128 × 64 pixels |
| Screen Size | 0.96 inch diagonal |
| Dimensions | 27mm × 27mm × 4.1mm |
| Driver IC | SSD1306 |
| Interface | I2C |
| I2C Address | 0x3C (default) |
| Display Color | White (monochrome) |
| Operating Voltage | 3V – 5V |
| Power Consumption | 0.08W (full screen) |
| Viewing Angle | >160° |
| Operating Temperature | −30°C to 70°C |
Key Features
SSD1306 — Most Popular OLED Driver
Supported by Adafruit SSD1306, U8g2, and virtually every OLED library in existence.
Self-Luminous OLED
Each pixel emits its own light — no backlight needed, true black, >160° viewing angle.
3V–5V Operation
Works directly with Arduino, ESP32, ESP8266, Raspberry Pi Pico, and all common platforms without level shifters.
Ultra-Low Power
0.08W at full screen brightness. Dark screens draw near-zero current — ideal for battery-powered projects.
Technical Specifications
| Parameter | Value |
|---|---|
| Resolution | 128 × 64 pixels |
| Screen Size | 0.96 inch |
| Dimensions | 27mm × 27mm × 4.1mm |
| Driver IC | SSD1306 |
| Interface | I2C |
| I2C Address | 0x3C (default) / 0x3D (address pin HIGH) |
| Display Color | White (monochrome) |
| Operating Voltage | 3V – 5V DC |
| Power Consumption | 0.08W (full screen) |
| Viewing Angle | >160° |
| Operating Temperature | −30°C to 70°C |
| Pin Count | 4 (VCC, GND, SCL, SDA) |
Pinout
| Pin | Label | Description |
|---|---|---|
| 1 | VCC | Power supply — 3.3V or 5V |
| 2 | GND | Ground |
| 3 | SCL | I2C clock line |
| 4 | SDA | I2C data line |
Power
Accepts 3V to 5V on VCC. An onboard boost converter generates the ~7–9V panel voltage internally. Total current with all pixels on is typically 20–30 mA. Black pixels draw no current.
Getting Started
Wiring (Arduino Uno / Nano)
| OLED Pin | Arduino Pin |
|---|---|
| VCC | 5V |
| GND | GND |
| SCL | A5 |
| SDA | A4 |
Libraries
Applications
- Sensor dashboards (temperature, humidity, pressure)
- Wearable electronics
- IoT device status screens
- Clocks and timers
- Menu navigation interfaces
- Portable instruments
Equivalent Boards
| Module | Key Difference |
|---|---|
| OLED 128x32 | Half the vertical resolution, 0.91 inch, more compact |
| 2.4" OLED SSD1309 | Same resolution, much larger 2.4" panel |
| OLED Set (128x64 + 128x32) | Bundle of both sizes |
| LCD I2C 16x2 | Character-only, backlight required, 5V |
Beginner Tutorials
Notes
- Default I2C address is 0x3C. Run an I2C scanner sketch if the display does not respond.
- OLED burn-in: rotate content or use a screen saver for long-running static displays.
- The SSD1306 framebuffer uses 1 KB of SRAM on the host MCU — significant on Arduino Uno (2 KB total). Consider U8g2 page-buffer mode on constrained boards.
- To use two OLEDs on one bus: change one to address 0x3D via the ADDR pin or solder jumper.
Community
Revision History
| Version | Date | Notes |
|---|---|---|
| v1.0 | 2026-06 | Initial entry |
