Preview build — page text is a draft awaiting human review. Code badges come from real compiles. The flasher is real but not yet hardware-tested; the Playground is still a preview.

SSD1306 OLED 0.96″ (128×64, I2C)

Wire the 128×64 SSD1306 OLED over I2C: pin order (check VCC/GND — clones differ), 0x3C vs 0x3D, 3.3 V vs 5 V, and the Adafruit SSD1306 library.

Community draft — report a mistake

CategoryDisplay
InterfaceI2C
Voltage3.3–5 V (on-board regulator)
Typical price₹220

3.3 V or 5 V? Most modules have a regulator and run from 3.3 V or 5 V. Their I2C pull-ups go to VCC, so on ESP32 and Pico power the OLED from 3.3 V to keep SDA/SCL at a safe level.

These tiny OLEDs draw every pixel themselves — no backlight — so they’re sharp, readable at an angle and need very little power. The common blue or white 0.96″ module is 128×64 pixels and talks I2C.

Address: most answer at 0x3C; a resistor on the back moves it to 0x3D so you can run two. The label “0x78” printed on some boards is the same address written as 8-bit (0x3C × 2).

Draw into the library’s buffer, then call display.display() to send it — that’s the step beginners usually miss.

Pinout

PinWhat it does
GNDGround. Check the silk-screen — some clones put VCC first, and swapping them can kill the display.
VCC3.3–5 V supply (about 20 mA with half the pixels lit)
SCLI2C clock
SDAI2C data

I2C address:0x3C0x3D

Library

Adafruit SSD1306 by Adafruit (also install Adafruit GFX Library)
Arduino IDE → Library Manager → search the name above. Each guide lists the exact version we compile against.

Use it with

Common errors

“SSD1306 allocation failed”

The 128×64 buffer needs about 1 KB of RAM. On an Uno, other libraries plus the buffer can run out — trim strings with F("...") or use the 128×32 size.

Blank screen, scanner finds 0x3C

Pass the address to display.begin(SSD1306_SWITCHCAPVCC, 0x3C) and call display.display() after drawing — nothing shows until you do.

Display shows noise or is shifted by 2 pixels

That module uses an SH1106 controller, not an SSD1306. Use a library for SH1106 instead.

↑↓ to move · Enter to open