OLED Animation Maker OLED Maker

Arduino OLED Display Tutorial — I2C SSD1306 128×64

Flat technical illustration of an Arduino Uno board wired to a 0.96 inch blue OLED display via colorful jumper cables

This Arduino OLED display tutorial is the starting point most makers search for before building clocks, sensor dashboards, or OLED animations. You will learn how to interface an OLED with Arduino over I2C, install the Adafruit SSD1306 library, show text and graphics, then move on to animated bitmaps — the same topics covered in popular guides on Random Nerd Tutorials and maker blogs, with a faster path to ssd1306 animation code at the end.

What is a 0.96 inch SSD1306 OLED?

The common 0.96 oled arduino module is 128×64 pixels, monochrome, driven by the SSD1306 chip. It uses only four wires (I2C): VCC, GND, SDA, SCL — far fewer than parallel displays. Variants include 128×32 and yellow/blue dual-color panels; code is similar with a height change.

Step 1: I2C wiring (Arduino Uno / Nano)

  • VCC → 5V (many modules accept 3.3V–5V)
  • GND → GND
  • SDA → A4 (Uno/Nano) or GPIO 21 (ESP32)
  • SCL → A5 (Uno/Nano) or GPIO 22 (ESP32)

I2C address is usually 0x3C; try 0x3D if the display stays blank. Use an I2C scanner sketch if unsure.

Step 2: Install libraries

In Arduino IDE → Library Manager, install:

  • Adafruit GFX Library — text, lines, circles
  • Adafruit SSD1306 — driver for the display

Alternative: U8g2 — excellent for u8g2 oled animation and compressed fonts.

Step 3: Hello World — text on OLED

Close-up product photography of a monochrome 0.96 inch SSD1306 OLED screen rendering the text Hello World

Run the Adafruit SSD1306 example ssd1306_128x64_i2c. You should see text on the 128x64 oled arduino screen. Customize with setTextSize(), setCursor(), and println() for labels and sensor values.

Step 4: Shapes and OLED display graphics

With GFX you can draw:

  • Lines, rectangles, circles, triangles
  • Filled shapes for UI elements and progress bars
  • Custom icons via drawBitmap() and PROGMEM arrays

This is the foundation for dashboards, menus, and oled display graphics projects.

Step 5: Scrolling text (popular project)

Scrolling text on OLED Arduino is a top beginner project: move a string across the screen by shifting the cursor each frame in loop(). Adafruit’s library includes scrolling examples — adjust speed with delay() or millis() for non-blocking code.

Step 6: Custom images and animations

To show a logo or custom image on oled arduino:

  1. Convert PNG to a byte array (image to byte array guide)
  2. Call drawBitmap() in setup() or loop()

For multi-frame arduino oled animation, see our dedicated guides:

Faster path: OLED animation maker (no manual arrays)

Instead of hand-coding each frame, use the free OLED animation maker for Arduino — same workflow as create animations for Arduino tools like Wokwi Animator: choose templates, import GIF, preview, get the code. Exports Adafruit SSD1306, U8g2, or MicroPython.

Skip manual coding — use the free tool

100+ templates · GIF import · WebSerial preview · SSD1306 & SH1106

Open oledanimationmaker.com →

FAQ

Which pins for I2C OLED on Arduino Uno?

SDA → A4, SCL → A5, plus power and ground.

SSD1306 vs SH1106 — which do I have?

See our SH1106 vs SSD1306 guide. Wrong driver = shifted image.

Topics: arduino oled display tutorial · interface oled with arduino · i2c oled arduino · 0.96 inch oled · adafruit ssd1306 tutorial · oled display graphics · scrolling text oled · arduino oled animation

Related tutorials