Blog

Guide to 0.96″ OLED Display Module (128×64) for Arduino

0.96″ OLED Display Module (128×64) Complete Guide

High-Contrast Display Solution for Arduino and ESP Projects

Introduction

The 0.96″ OLED display module is a popular, low-power display solution featuring a 128×64 pixel resolution with crisp white, blue, or yellow pixels on a black background. These displays use SSD1306 or SH1106 drivers and communicate via I2C or SPI interfaces.

Key Features

Power Efficiency

Consumes only 0.04W during operation

👁️ High Contrast

16:1 contrast ratio for excellent readability

📱 Compact Size

27.3mm × 27.8mm module dimensions

💾 Built-in Memory

GDDRAM for display data storage

Technical Specifications

Display Type OLED (Organic LED)
Resolution 128 × 64 pixels
Driver IC SSD1306 or SH1106
Interface I2C (default) or SPI
Operating Voltage 3.3V – 5V
Viewing Angle >160°

Pin Configuration

Pin Description Arduino Connection
GND Ground GND
VCC Power (3.3V-5V) 3.3V or 5V
SCL I2C Clock A5 (Uno) or SCL
SDA I2C Data A4 (Uno) or SDA
Note: Some modules have additional pins for SPI interface (D/C, RST, CS)

Wiring with Arduino

I2C Connection

Finding I2C Address

Run this code to detect your OLED’s I2C address:

 

Arduino Library Setup

  1. Install the Adafruit SSD1306 library from Library Manager 
  2. Install the Adafruit GFX library 
  3. Include these in your sketch:

 

Basic Display Example

 

Advanced Features

Custom Graphics

Text Formatting

Bitmap Images

Animation

Troubleshooting

Blank Display

  • Check I2C address (try both 0x3C and 0x3D)
  • Verify all connections are secure
  • Ensure contrast is set (display.ssd1306_command(SSD1306_SETCONTRAST))

Garbled Display

  • Check for proper voltage (3.3V-5V)
  • Add pull-up resistors (4.7kΩ) on SDA/SCL if needed
  • Reduce I2C clock speed if using long wires

Library Issues

  • Install latest Adafruit libraries
  • Modify library if using SH1106 driver
  • Check for conflicting libraries