waveshare 1.54inch OLED Display Module (SSD1309)

Waveshare 1.54-inch OLED Display Module User Manual

Model: 1.54inch OLED Display Module (SSD1309)

1. Product Overview

The Waveshare 1.54-inch OLED Display Module is a compact, high-contrast display solution featuring a 128 × 64 pixel resolution. It integrates the SSD1309 driver chip and supports both 4-wire SPI and I2C communication interfaces, offering broad compatibility with various microcontrollers and development boards such as Raspberry Pi, Arduino, STM32, ESP32, and Jetson Nano. This module is designed for embedded applications requiring a clear, efficient visual output.

Waveshare 1.54-inch OLED Display Module showing its features and specifications

Image 1.1: Overview of the 1.54-inch OLED Display Module highlighting its features and specifications.

2. Key Features

  • Display Type: 1.54-inch OLED with 128 × 64 pixel resolution.
  • Driver Chip: Embedded SSD1309 for efficient display control.
  • Communication Interfaces: Supports both 4-wire SPI and I2C for flexible integration.
  • Voltage Compatibility: Onboard voltage translator ensures compatibility with 3.3V and 5V MCUs.
  • Broad Compatibility: Designed for use with Raspberry Pi, Arduino, STM32, ESP32, Jetson Nano, and similar platforms.
  • Display Color: Blue display color.
Waveshare 1.54-inch OLED Display Module with blue display

Image 2.1: The 1.54-inch OLED Display Module with its blue display.

3. Specifications

Parameter Value
Operating Voltage 3.3V / 5V
Display Panel OLED
Communication Interface 4-wire SPI / I2C
Driver SSD1309
Resolution 128 × 64 pixels
Pixel Size 0.25 × 0.25 mm
Display Size 35.05 × 17.52 mm
Module Size 43.00 × 37.50 mm
Package Dimensions 1.69 x 1.45 x 0.19 inches
Item Weight 0.32 ounces

4. Pinout Description

The module features a 7-pin header for power and communication. Understanding each pin's function is crucial for proper integration.

Pin Description
VCC Power Input (3.3V / 5V)
GND Power Ground
DIN Data Input (MOSI for SPI, SDA for I2C)
CLK Clock Signal Input (SCK for SPI, SCL for I2C)
CS Chip Select, low active (SPI only)
DC Data/Command selection (High for data, Low for command)
RST Reset, low active
Control Interface of the 1.54-inch OLED Display Module showing pin labels

Image 4.1: Pinout diagram for the OLED Display Module.

5. Setup and Connection

5.1 General Connection Guidelines

  • Ensure your microcontroller operates at 3.3V or 5V, compatible with the module's voltage translator.
  • Connect VCC to the power supply (3.3V or 5V) and GND to the ground of your microcontroller.
  • Choose either SPI or I2C communication mode based on your project requirements and microcontroller capabilities.
  • Refer to the specific wiring diagrams for your chosen development board.

5.2 Connecting with Raspberry Pi (SPI Interface)

To connect the OLED module to a Raspberry Pi using the SPI interface, follow the pin connections below. Ensure your Raspberry Pi's SPI interface is enabled.

  • VCC → Raspberry Pi 3.3V/5V
  • GND → Raspberry Pi GND
  • DIN → Raspberry Pi MOSI (GPIO 10 / Pin 19)
  • CLK → Raspberry Pi SCLK (GPIO 11 / Pin 23)
  • CS → Raspberry Pi CE0 (GPIO 8 / Pin 24)
  • DC → Raspberry Pi GPIO 25 (Pin 22)
  • RST → Raspberry Pi GPIO 27 (Pin 13)
Wiring diagram for connecting the OLED module to a Raspberry Pi via SPI

Image 5.1: SPI connection diagram for Raspberry Pi.

5.3 Connecting with Arduino Board (SPI Interface)

For Arduino boards, connect the OLED module using the SPI interface as follows:

  • VCC → Arduino 5V
  • GND → Arduino GND
  • DIN → Arduino MOSI (Pin 11 for Uno/Nano, Pin 51 for Mega)
  • CLK → Arduino SCK (Pin 13 for Uno/Nano, Pin 52 for Mega)
  • CS → Arduino Digital Pin (e.g., Pin 10)
  • DC → Arduino Digital Pin (e.g., Pin 9)
  • RST → Arduino Digital Pin (e.g., Pin 8)
Wiring diagram for connecting the OLED module to an Arduino board via SPI

Image 5.2: SPI connection diagram for Arduino.

6. Operating Instructions

After successful physical connection, the module requires software configuration to display content. Waveshare provides example code and libraries for various platforms.

6.1 Software Setup

  1. Install Libraries: Download and install the appropriate SSD1309 OLED display library for your chosen development environment (e.g., Adafruit SSD1306 library for Arduino, or specific Waveshare libraries for Raspberry Pi/Python).
  2. Configure Pins: In your code, define the GPIO pins connected to the OLED module's CS, DC, and RST pins according to your wiring.
  3. Initialize Display: Use the library functions to initialize the SSD1309 driver. This typically involves setting the display resolution and communication protocol (SPI or I2C).
  4. Display Content: Utilize the library's drawing functions to display text, graphics, or images on the OLED screen. Remember to call a display update function (e.g., display.display()) to push changes to the screen.

6.2 Communication Mode Selection

The module supports both SPI and I2C. The default mode is typically SPI. If you intend to use I2C, you may need to adjust onboard jumpers or solder pads, if available, and ensure your software is configured for I2C communication (SDA for DIN, SCL for CLK, and CS/DC/RST might be tied to specific states or not used depending on the library).

7. Maintenance

  • Handling: Handle the module by its edges to avoid touching the display surface or electronic components.
  • Cleaning: If necessary, gently clean the display surface with a soft, lint-free cloth. Avoid abrasive materials or harsh chemicals.
  • Storage: Store the module in a dry, anti-static environment, away from direct sunlight and extreme temperatures.
  • Power Supply: Always ensure the power supply voltage is within the specified 3.3V-5V range to prevent damage.

8. Troubleshooting

  • Display Not Lighting Up:
    • Check power connections (VCC, GND) and ensure correct voltage.
    • Verify all communication pins (DIN, CLK, CS, DC, RST) are correctly wired.
    • Confirm that the display initialization code is running without errors.
    • Ensure the correct communication protocol (SPI/I2C) is selected in both hardware and software.
  • Garbled or Incorrect Display:
    • Check for loose connections or incorrect pin assignments in your code.
    • Ensure the correct display resolution (128x64) is set in the software library.
    • Verify that the correct SSD1309 driver is being used by the library.
  • No Communication:
    • Double-check all wiring, especially for DIN, CLK, CS, DC, and RST.
    • Ensure the communication interface (SPI or I2C) is enabled on your microcontroller.
    • Test with known working example code provided by Waveshare or the library developer.

9. Outline Dimensions

The physical dimensions of the module are important for integration into custom enclosures or projects.

Diagram showing the outline dimensions of the 1.54-inch OLED Display Module in millimeters

Image 9.1: Outline dimensions of the module (Unit: mm).

10. Online Resources and Support

For detailed development resources, example code, and further technical documentation, please visit the official Waveshare online tutorial page:

Waveshare 1.54inch OLED Module Online Tutorial

This resource provides examples for Raspberry Pi, Arduino, STM32, ESP32, and Jetson Nano, which are essential for getting started with your module.

Related Documents - 1.54inch OLED Display Module (SSD1309)

Preview Waveshare 2.13inch e-Paper HAT (B) User Manual and Technical Guide
Comprehensive guide for the Waveshare 2.13inch e-Paper HAT (B), covering hardware connections, software setup, programming principles, and troubleshooting for Raspberry Pi, Arduino, Jetson Nano, and STM32.
Preview 0.91inch OLED Module User Manual - Waveshare
User manual for the Waveshare 0.91inch OLED Module (128x32 pixels) with SSD1306 controller. Covers overview, features, pinout, I2C communication, and demo code for STM32, Raspberry Pi (BCM2835, WiringPi, Python), and Arduino.
Preview Waveshare 2.66inch e-Paper Module Manual
Comprehensive user guide for the Waveshare 2.66-inch e-Paper module, detailing its features, specifications, SPI timing, working protocol, precautions, and integration guides for Raspberry Pi, Jetson Nano, STM32, and Arduino platforms, including API descriptions and FAQs.
Preview Waveshare 7.5-inch E-Paper HAT User Manual and Guide
This comprehensive user manual provides detailed information on the Waveshare 7.5-inch E-Paper HAT (V1/V2), an 800x480 resolution display module utilizing Microencapsulated Electrophoretic Display technology. It covers hardware connections, SPI communication, working principles, and integration with Raspberry Pi, Arduino, Jetson Nano, Sunrise X3 Pi, STM32, ESP32, and ESP8266. Essential precautions, resources, and FAQs are included for optimal use.
Preview MLX90640-D110 Thermal Camera Module - Datasheet, Specs, and Guide
Detailed technical specifications, features, and usage guide for the Waveshare MLX90640-D110 32x24 IR Thermal Camera module. Includes I2C interface details, hardware connections for Raspberry Pi, STM32, ESP32, and FAQ.
Preview 0.96-inch OLED User Manual - Waveshare
Comprehensive user manual for the Waveshare 0.96-inch OLED display module (SSD1306). Covers SPI/I2C interfaces, hardware/software setup, and key parameters for embedded projects.