

The 0.97-inch OLED Display is a compact, low-power display module that utilizes organic light-emitting diodes (OLEDs) to produce bright, high-contrast images. This display is ideal for applications requiring clear visuals in a small form factor. It communicates via the I2C interface, making it easy to integrate with microcontrollers such as Arduino, Raspberry Pi, and other development boards.








The following table outlines the key technical details of the 0.97-inch OLED Display:
| Parameter | Specification |
|---|---|
| Display Type | OLED |
| Screen Size | 0.97 inches |
| Resolution | 128 x 64 pixels |
| Interface | I2C |
| Operating Voltage | 3.3V - 5V |
| Operating Current | ~20mA |
| Viewing Angle | >160° |
| Contrast Ratio | 2000:1 |
| Operating Temperature | -40°C to +85°C |
| Dimensions | 27mm x 27mm x 4mm |
The OLED Display module typically has a 4-pin interface for I2C communication. The pinout is as follows:
| Pin Name | Description | Notes |
|---|---|---|
| VCC | Power Supply (3.3V - 5V) | Connect to the microcontroller's power pin. |
| GND | Ground | Connect to the ground of the circuit. |
| SCL | Serial Clock Line | Connect to the I2C clock pin (e.g., A5 on Arduino UNO). |
| SDA | Serial Data Line | Connect to the I2C data pin (e.g., A4 on Arduino UNO). |
Connect the Pins:
VCC pin to the 3.3V or 5V power supply of your microcontroller.GND pin to the ground of your circuit.SCL pin to the I2C clock pin of your microcontroller (e.g., A5 on Arduino UNO).SDA pin to the I2C data pin of your microcontroller (e.g., A4 on Arduino UNO).Install Required Libraries:
Adafruit_GFX and Adafruit_SSD1306 libraries from the Arduino Library Manager.Write and Upload Code:
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// Define the OLED display width and height
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
// Create an instance of the SSD1306 display object
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
// Initialize serial communication for debugging
Serial.begin(9600);
// Initialize the OLED display
if (!display.begin(SSD1306_I2C_ADDRESS, 0x3C)) {
// If initialization fails, print an error message
Serial.println(F("SSD1306 allocation failed"));
for (;;); // Halt the program
}
// Clear the display buffer
display.clearDisplay();
// Set text size and color
display.setTextSize(1); // Small text size
display.setTextColor(SSD1306_WHITE);
// Display a message
display.setCursor(0, 0); // Set cursor to top-left corner
display.println(F("Hello, OLED!"));
display.display(); // Render the text on the screen
}
void loop() {
// No actions in the loop for this example
}
0x3C.SCL and SDA lines if your microcontroller does not have internal pull-ups.The display does not turn on:
VCC and GND) and ensure the correct voltage is supplied.SCL and SDA) and ensure they are properly connected to the microcontroller.Nothing is displayed on the screen:
0x3C).Adafruit_GFX and Adafruit_SSD1306) are installed and up to date.Flickering or unstable display:
Text or graphics appear distorted:
128x64) is set in your code.display.clearDisplay()) before rendering new content.Q: Can I use this display with a 3.3V microcontroller?
A: Yes, the OLED display supports both 3.3V and 5V logic levels, making it compatible with a wide range of microcontrollers.
Q: How do I change the I2C address of the display?
A: Some OLED modules allow changing the I2C address by soldering jumpers on the back of the module. Refer to the module's datasheet for details.
Q: Can I display images on this OLED screen?
A: Yes, you can display images by converting them into a bitmap format and using the drawBitmap() function provided by the Adafruit_GFX library.
Q: What is the lifespan of the OLED display?
A: The typical lifespan of an OLED display is around 10,000 to 50,000 hours, depending on usage and brightness settings.