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

How to Use Adafruit OLED Monochrome 0.91in I2C with STEMMA QT: Examples, Pinouts, and Specs

Image of Adafruit OLED Monochrome 0.91in I2C with STEMMA QT
Cirkit Designer LogoDesign with Adafruit OLED Monochrome 0.91in I2C with STEMMA QT in Cirkit Designer

Introduction

The Adafruit OLED Monochrome 0.91in I2C display is a compact and versatile display module suitable for adding a small, high-contrast visual interface to your electronics projects. With a resolution of 128x32 pixels, it provides sufficient space for simple graphics, text, and symbols. This display uses the I2C communication protocol, making it easy to interface with microcontrollers and development boards like the Arduino UNO. The inclusion of STEMMA QT connectors allows for quick and solderless connections, making it ideal for prototyping and educational purposes.

Explore Projects Built with Adafruit OLED Monochrome 0.91in I2C with STEMMA QT

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino 101 OLED Display Animation Project
Image of wokwi animater test: A project utilizing Adafruit OLED Monochrome 0.91in I2C with STEMMA QT in a practical application
This circuit consists of an Arduino 101 microcontroller connected to a 0.96" OLED display via I2C communication. The Arduino runs a program that initializes the OLED and continuously displays an animated sequence of frames on the screen.
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 Adafruit OLED Monochrome 0.91in I2C with STEMMA QT 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
Arduino Nano and OLED Display for Real-Time Data Visualization
Image of OLED Display: A project utilizing Adafruit OLED Monochrome 0.91in I2C with STEMMA QT in a practical application
This circuit consists of an Arduino Nano microcontroller connected to a 0.96" OLED display. The Arduino Nano provides power to the OLED display and communicates with it using the I2C protocol via the A4 (SDA) and A5 (SCK) pins.
Cirkit Designer LogoOpen Project in Cirkit Designer
T-Beam with I2C OLED Display Interface
Image of MQTT_Node: A project utilizing Adafruit OLED Monochrome 0.91in I2C with STEMMA QT 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

Explore Projects Built with Adafruit OLED Monochrome 0.91in I2C with STEMMA QT

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 wokwi animater test: A project utilizing Adafruit OLED Monochrome 0.91in I2C with STEMMA QT in a practical application
Arduino 101 OLED Display Animation Project
This circuit consists of an Arduino 101 microcontroller connected to a 0.96" OLED display via I2C communication. The Arduino runs a program that initializes the OLED and continuously displays an animated sequence of frames on the screen.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of dgd: A project utilizing Adafruit OLED Monochrome 0.91in I2C with STEMMA QT 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
Image of OLED Display: A project utilizing Adafruit OLED Monochrome 0.91in I2C with STEMMA QT in a practical application
Arduino Nano and OLED Display for Real-Time Data Visualization
This circuit consists of an Arduino Nano microcontroller connected to a 0.96" OLED display. The Arduino Nano provides power to the OLED display and communicates with it using the I2C protocol via the A4 (SDA) and A5 (SCK) pins.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of MQTT_Node: A project utilizing Adafruit OLED Monochrome 0.91in I2C with STEMMA QT 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

Common Applications and Use Cases

  • Wearable devices
  • Portable instruments
  • User interfaces for small-scale projects
  • Data monitoring displays

Technical Specifications

Key Technical Details

  • Display Type: Monochrome OLED
  • Resolution: 128x32 pixels
  • Communication: I2C (Inter-Integrated Circuit)
  • Operating Voltage: 3.3V to 5V
  • Current Draw: Typically 20mA (max 40mA)
  • Operating Temperature: -40°C to 70°C

Pin Configuration and Descriptions

Pin Number Name Description
1 GND Ground connection
2 VCC Power supply (3.3V - 5V)
3 SCL I2C clock line
4 SDA I2C data line
5 RST Reset pin (optional use)

Usage Instructions

Interfacing with an Arduino UNO

  1. Connecting the Display:

    • Connect the GND pin to the ground on the Arduino.
    • Connect the VCC pin to either 3.3V or 5V on the Arduino.
    • Connect the SCL pin to the A5 pin (I2C clock) on the Arduino.
    • Connect the SDA pin to the A4 pin (I2C data) on the Arduino.
    • The RST pin can be connected to a digital pin if software reset is required.
  2. Library Installation:

    • Install the Adafruit SSD1306 library and Adafruit GFX library through the Arduino Library Manager.
  3. Programming the Display:

    • Include the necessary libraries and initialize the display with the correct address (usually 0x3C or 0x3D).
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

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

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {
  // Initialize with the I2C addr 0x3C (for the 128x32)
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // Don't proceed, loop forever
  }
  // Clear the buffer
  display.clearDisplay();
  // Draw a single pixel in white
  display.drawPixel(10, 10, SSD1306_WHITE);
  // Display the drawing
  display.display();
}

void loop() {
  // Code to update the display continuously
}

Important Considerations and Best Practices

  • Always check the I2C address of the display; it can vary between modules.
  • Use level shifters if interfacing with a 5V microcontroller to protect the 3.3V logic of the display.
  • Avoid displaying static images for extended periods to prevent OLED burn-in.
  • Utilize the display's built-in scrolling functions to create dynamic content.

Troubleshooting and FAQs

Common Issues

  • Display not powering on: Check connections and ensure the power supply is within the specified voltage range.
  • Garbled or no display: Verify the correct I2C address is used in the code. Check for loose connections or solder joints.
  • Dim display: Ensure that the display's current draw does not exceed the power supply's capabilities.

Solutions and Tips for Troubleshooting

  • Use the i2cdetect tool or similar to confirm the I2C address of the display.
  • Incorporate a small delay in the loop to allow the display time to update.
  • If using the reset pin, ensure it is being driven high after being pulled low to reset the display.

FAQs

Q: Can I use this display with a 5V Arduino? A: Yes, but ensure that the I2C lines are level-shifted to protect the display's 3.3V logic.

Q: How do I prevent OLED burn-in? A: Use the display's built-in scrolling functions and avoid displaying static content for long periods.

Q: What libraries do I need for this display? A: You will need the Adafruit SSD1306 and Adafruit GFX libraries.

Q: Can I use this display with other microcontrollers? A: Yes, as long as they support I2C communication and you can provide the correct logic levels.

For further assistance, consult the Adafruit forums or the detailed product guide available on the Adafruit website.