Tutorial to Interface OLED 0.91inch 128x32 With Arduino UNO




Introduction: Tutorial to Interface OLED 0.91inch 128x32 With Arduino UNO

This tutorial is going to teach you some basics on using OLED 0.91inch LCD128x32 with Arduino UNO

Step 1: Introduction


OLED 0.91 inch is a monochrome graphic display module with a built-in 0.91 inch, 128X32 high-resolution display. OLED 0.91inch is able to work despite the absence of backlight. In a dark environment, contrast of OLED display is higher than LCD display. This device is I^2C or SPI compatible. Due to its capability in displaying, it is often used in various application for instances, smart watch, MP3, function cellphone, portable health device and many others.


1. OLED display, no need backlight, self-illumination,

2. The display performance is better than the traditional LCD display, also lower consumption.

3. Driver IC: SSD1306

4. Size: 0.91 inch OLED

5. Resolution: 128 x 32

6. IIC interface

7. Display Color: white

8. Description:

GND: Power Ground

VCC: Power + (DC 3.3 ~5v)

SCL: Clock Line

SDA: Data Line

Step 2: Pin Definition

Step 3: Hardware Installation

Step 4: Sample Source Code

To get the result, please download the sample source code attached below.

*Kindly download the U8g2 library which is written for many types of LCD display.

Step 5: Include U8g2 Library

Click skecth and then click include library. Next, click add .Zip library and select the U8g2.zip file.

Step 6: Upload Source Code

Open the source code. Make sure com of arduino UNO and com port is same and please select the board is Arduino UNO.

Click upload.

Step 7: Result

8 People Made This Project!


  • Trash to Treasure Contest

    Trash to Treasure Contest
  • Make It Modular: Student Design Challenge

    Make It Modular: Student Design Challenge
  • Woodworking Contest

    Woodworking Contest



16 days ago on Introduction

Thank you so much for this, I'm using an RP2040 Pico and all examples I found use Micro-Python (I just don't get that). All I had to do was change the address of the display and it worked.
On the Pico the default SDA/SCL are GPIO 4 and 5
Thanks again.


1 year ago

Excellent, thank you!


2 years ago

Does this module require external pullup resistors or they are already built in?
I want to use it with other MCU, not Arduino.


3 years ago on Step 1

what made u pick that constructor vs say

U8G2_SSD1306_128X32_UNIVISION_1_SW_I2C(rotation, clock, data [, reset])

I have same-looking display, but my PINs r marked SCK/SDA.
My display (as yours as well) doesn't have reset pin @ all.
How did u know the buffer size to choose the constructor? A lucky guess?
What about Univision vs Winstar constructors?