Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use OLED 128x64 I2C Monochrome Display VDD-GND: Examples, Pinouts, and Specs

Image of OLED 128x64 I2C Monochrome Display VDD-GND
Cirkit Designer LogoDesign with OLED 128x64 I2C Monochrome Display VDD-GND in Cirkit Designer

Introduction

The OLED 128x64 I2C Monochrome Display is a compact and versatile display module that uses organic light-emitting diodes (OLED) to produce high-contrast monochrome images. With a resolution of 128x64 pixels, it is ideal for displaying text, graphics, and simple animations. The module communicates via the I2C protocol, which simplifies interfacing with microcontrollers such as Arduino, Raspberry Pi, and other development boards.

This display is widely used in applications such as:

  • Wearable devices
  • IoT projects
  • Portable electronics
  • Data loggers
  • User interfaces for embedded systems

Explore Projects Built with OLED 128x64 I2C Monochrome Display VDD-GND

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
T-Beam with I2C OLED Display Interface
Image of MQTT_Node: A project utilizing OLED 128x64 I2C Monochrome Display VDD-GND in a practical application
This circuit connects a T-Beam microcontroller board with an OLED 128x64 I2C Monochrome Display. The T-Beam's I2C pins (SDA and SCL) are wired to the corresponding SDA and SCK pins on the OLED display, allowing for communication between the microcontroller and the display. Power and ground connections are also established, with the display's VDD connected to the T-Beam's 3V3 output, and GND to GND, to complete the power circuit for the display.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano Controlled OLED Display Interface
Image of Chandru: A project utilizing OLED 128x64 I2C Monochrome Display VDD-GND in a practical application
This circuit connects an Arduino Nano to an OLED 128x64 I2C Monochrome Display. The Arduino provides power to the OLED display and communicates with it via the I2C protocol, using its A4 and A5 pins as SDA and SCK lines, respectively. The embedded code initializes the display and draws a single pixel on it, which suggests that the circuit is designed for visual output, possibly for a user interface or data visualization.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO Based Pong Game with OLED Display and Pushbutton Controls
Image of Sim test OLED Display: A project utilizing OLED 128x64 I2C Monochrome Display VDD-GND in a practical application
This circuit features an Arduino UNO microcontroller connected to an OLED 128x64 I2C Monochrome Display for visual output and two pushbuttons for user input. The Arduino runs a Pong game, with the display showing the game and the pushbuttons used to control the paddle movement. The display is interfaced via I2C (SCL and SDA), and the pushbuttons are connected to digital pins D2 and D3 for input detection.
Cirkit Designer LogoOpen Project in Cirkit Designer
IoT Board with 0.96" OLED Display for Real-Time Data Visualization
Image of dgd: A project utilizing OLED 128x64 I2C Monochrome Display VDD-GND in a practical application
This circuit connects a 0.96" OLED display to an IoT board. The OLED display is powered by the 3.3V and GND pins of the IoT board, and communicates with the board via I2C using the SDA and SCL pins.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with OLED 128x64 I2C Monochrome Display VDD-GND

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of MQTT_Node: A project utilizing OLED 128x64 I2C Monochrome Display VDD-GND in a practical application
T-Beam with I2C OLED Display Interface
This circuit connects a T-Beam microcontroller board with an OLED 128x64 I2C Monochrome Display. The T-Beam's I2C pins (SDA and SCL) are wired to the corresponding SDA and SCK pins on the OLED display, allowing for communication between the microcontroller and the display. Power and ground connections are also established, with the display's VDD connected to the T-Beam's 3V3 output, and GND to GND, to complete the power circuit for the display.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Chandru: A project utilizing OLED 128x64 I2C Monochrome Display VDD-GND in a practical application
Arduino Nano Controlled OLED Display Interface
This circuit connects an Arduino Nano to an OLED 128x64 I2C Monochrome Display. The Arduino provides power to the OLED display and communicates with it via the I2C protocol, using its A4 and A5 pins as SDA and SCK lines, respectively. The embedded code initializes the display and draws a single pixel on it, which suggests that the circuit is designed for visual output, possibly for a user interface or data visualization.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Sim test OLED Display: A project utilizing OLED 128x64 I2C Monochrome Display VDD-GND in a practical application
Arduino UNO Based Pong Game with OLED Display and Pushbutton Controls
This circuit features an Arduino UNO microcontroller connected to an OLED 128x64 I2C Monochrome Display for visual output and two pushbuttons for user input. The Arduino runs a Pong game, with the display showing the game and the pushbuttons used to control the paddle movement. The display is interfaced via I2C (SCL and SDA), and the pushbuttons are connected to digital pins D2 and D3 for input detection.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of dgd: A project utilizing OLED 128x64 I2C Monochrome Display VDD-GND in a practical application
IoT Board with 0.96" OLED Display for Real-Time Data Visualization
This circuit connects a 0.96" OLED display to an IoT board. The OLED display is powered by the 3.3V and GND pins of the IoT board, and communicates with the board via I2C using the SDA and SCL pins.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

Key Technical Details

Parameter Value
Display Type OLED Monochrome
Resolution 128x64 pixels
Communication Protocol I2C
Operating Voltage (VDD) 3.3V to 5V
Current Consumption ~20mA (typical)
Dimensions ~27mm x 27mm x 4mm
Viewing Angle >160°
Operating Temperature -40°C to +85°C

Pin Configuration and Descriptions

Pin Name Pin Number Description
VDD 1 Power supply input (3.3V to 5V)
GND 2 Ground connection
SCL 3 I2C clock line (connect to microcontroller SCL)
SDA 4 I2C data line (connect to microcontroller SDA)

Usage Instructions

How to Use the Component in a Circuit

  1. Power the Display: Connect the VDD pin to a 3.3V or 5V power source and the GND pin to the ground of your circuit.
  2. Connect I2C Lines:
    • Connect the SCL pin to the I2C clock line of your microcontroller.
    • Connect the SDA pin to the I2C data line of your microcontroller.
  3. Pull-Up Resistors: Ensure that the I2C lines (SCL and SDA) have pull-up resistors (typically 4.7kΩ to 10kΩ). Some modules include built-in pull-up resistors.
  4. Install Required Libraries: If using an Arduino, install the Adafruit_GFX and Adafruit_SSD1306 libraries via the Arduino Library Manager.
  5. Write Code: Use the libraries to initialize the display and send data to it.

Example Code for Arduino UNO

#include <Wire.h>                 // Include the Wire library for I2C communication
#include <Adafruit_GFX.h>         // Include the Adafruit GFX library for graphics
#include <Adafruit_SSD1306.h>     // Include the Adafruit SSD1306 library for the OLED

#define SCREEN_WIDTH 128          // OLED display width, in pixels
#define SCREEN_HEIGHT 64          // OLED display height, in pixels

// Create an SSD1306 display object connected to I2C (default address 0x3C)
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)) {
    Serial.println(F("SSD1306 allocation failed"));
    for (;;); // Loop forever if initialization fails
  }

  // Clear the display buffer
  display.clearDisplay();

  // Display a welcome message
  display.setTextSize(1);         // Set text size to 1 (smallest)
  display.setTextColor(SSD1306_WHITE); // Set text color to white
  display.setCursor(0, 0);        // Set cursor to top-left corner
  display.println(F("Hello, OLED!")); // Print text to the display
  display.display();              // Update the display with the text
  delay(2000);                    // Wait for 2 seconds
}

void loop() {
  // Example: Draw a rectangle and update the display
  display.clearDisplay();         // Clear the display buffer
  display.drawRect(10, 10, 50, 30, SSD1306_WHITE); // Draw a rectangle
  display.display();              // Update the display with the rectangle
  delay(1000);                    // Wait for 1 second
}

Important Considerations and Best Practices

  • I2C Address: The default I2C address for most OLED modules is 0x3C. Verify this in the module's datasheet or documentation.
  • Power Supply: Ensure the power supply voltage matches the module's requirements (3.3V or 5V).
  • Contrast and Brightness: Prolong the lifespan of the OLED by avoiding maximum brightness for extended periods.
  • Library Compatibility: Use the latest versions of the Adafruit_GFX and Adafruit_SSD1306 libraries for optimal performance.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Display Not Turning On:

    • Verify the power connections (VDD and GND).
    • Check the I2C address and ensure it matches the one in your code.
    • Ensure pull-up resistors are present on the I2C lines.
  2. Flickering or Unstable Display:

    • Check for loose connections on the I2C lines.
    • Ensure the power supply is stable and within the specified voltage range.
  3. Text or Graphics Not Displaying Properly:

    • Verify that the correct resolution (128x64) is set in the code.
    • Ensure the Adafruit_SSD1306 library is properly initialized.
  4. I2C Communication Errors:

    • Confirm that the SCL and SDA lines are connected to the correct pins on the microcontroller.
    • Check for conflicting devices on the I2C bus.

FAQs

Q: Can I use this display with a 3.3V microcontroller?
A: Yes, the display is compatible with both 3.3V and 5V systems.

Q: How do I change the I2C address of the display?
A: Some modules allow changing the I2C address by soldering jumpers on the back of the PCB. Refer to the module's datasheet for details.

Q: Is it possible to display images on this OLED?
A: Yes, you can display monochrome bitmap images by converting them to the appropriate format using tools like the Adafruit ImageConverter.

Q: Can I use this display with a Raspberry Pi?
A: Absolutely! The display is compatible with Raspberry Pi and can be controlled using Python libraries like Adafruit-SSD1306.

By following this documentation, you can effectively integrate the OLED 128x64 I2C Monochrome Display into your projects.