Skip to content

Adafruit SSD1306 Library Compatibility

Monochrome OLEDs over I2C or SPI. A 128×64 framebuffer uses 1 KB of SRAM.

Pinned version
2.5.17
Last matching compile evidence
2026-10-25
Toolchain
avr-gcc-wasm@0.2.0
Primary headers
Adafruit_SSD1306.h, splash.h

Dependencies and practical limits

Monochrome OLEDs over I2C or SPI. A 128×64 framebuffer uses 1 KB of SRAM.

SSD1306 depends on GFX, Wire and SPI, plus transitive dependencies shown below.

A 128×64 one-bit framebuffer needs 1024 bytes allocated by the driver. Static SRAM measurements may not include a dynamically allocated framebuffer.

Pinned direct dependencies: Adafruit GFX · Wire · SPI

For a missing header, first compare the include to the example below. For an undeclared identifier, inspect the first diagnostic and selected board rather than changing every library version.

Board compile matrix

These are recorded compile/link results for the current build and exact source hash. UNTESTED means no matching proof, not an assumed pass. Memory values belong to the listed example and exclude runtime stack/heap or dynamic buffers.

Board/profileResultFlash bytesStatic SRAM bytesLast tested
Arduino Uno R3 — ATmega328PPASS138683992026-10-25
Arduino Nano V3 — ATmega328P (new bootloader)PASS138683992026-10-25
Arduino Nano V3 — ATmega328P (old bootloader)PASS138683992026-10-25
ATmega328PB — 16 MHzPASS140543992026-10-25
Arduino Mega 2560 — ATmega2560PASS146143992026-10-25
Arduino Leonardo — ATmega32U4 · native USBPASS172425382026-10-25
Arduino Micro — ATmega32U4 · native USBPASS172445382026-10-25
Arduino Pro Mini — 5 V · 16 MHzPASS138683992026-10-25
Arduino Pro Mini — 3.3 V · 8 MHzPASS138703992026-10-25

Build: e0f6d304cce4ae0a0989a9b1300cbc1a21a595e5e3e7f57ed0ab3468ecf7940b. Library source hash: 69323d2c6051cea4d7b5ca1a0dbb10ed9f3817f0c689cfac97e2f31e964246c1. Compilation does not certify physical peripherals, timing or USB upload.

OLED Hello World example

This is the actual pinned example available in Circuitera. Pin choices and wiring in a general example use Uno unless otherwise stated; review the selected board reference for other targets.

#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display(128, 64, &Wire, -1);
void setup() {
  // Uno: SDA=A4, SCL=A5. Verify your display's I2C address.
  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { for (;;) {} }
  display.clearDisplay(); display.setTextSize(1); display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 0); display.println(F("Hello, maker!"));
  display.drawRect(0, 20, 100, 30, SSD1306_WHITE); display.display();
}
void loop() {}
Open OLED Hello World in Circuitera →

Projects using Adafruit SSD1306

Upstream source and documentation ↗

Pinned source archive (2.5.17) ↗

Read the test methodology →

Keep exploring.