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

How to Use SSD1351: Examples, Pinouts, and Specs

Image of SSD1351
Cirkit Designer LogoDesign with SSD1351 in Cirkit Designer

Introduction

The SSD1351 is a low-power OLED display driver manufactured by Waveshare, designed to drive a 1.5-inch RGB OLED module with a resolution of 128x128 pixels. This module supports both SPI and I2C communication interfaces, making it versatile for integration into various embedded systems. The SSD1351 is known for its vibrant color reproduction, high contrast ratio, and fast response time, making it ideal for applications requiring high-quality graphical displays.

Explore Projects Built with SSD1351

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
STM32 and Arduino Pro Mini Based Wireless Data Logger with OLED Display
Image of R8 Controller V1: A project utilizing SSD1351 in a practical application
This circuit integrates multiple microcontrollers (Maple Mini STM32F1, nRF52840 ProMicro, and Arduino Pro Mini) to interface with various peripherals including an SSD1306 OLED display, an SD card module, and a Si4463 RF module. The circuit is designed for data acquisition, storage, and wireless communication, with power supplied through a USB Serial TTL module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Multi-Sensor Monitoring System with INA219, Hall Sensor, and OLED Display
Image of R8 Charger: A project utilizing SSD1351 in a practical application
This circuit is designed for monitoring and displaying sensor data. It includes three INA219 current sensors, a GH1248 Hall sensor, and an SSD1306 OLED display, all interfaced with a Seeed Studio RP2350 microcontroller. The microcontroller reads data from the sensors and controls the display and three LEDs.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano ESP32-Based Real-Time Clock and OLED Display System
Image of Watch: A project utilizing SSD1351 in a practical application
This circuit features an Arduino Nano ESP32 microcontroller interfaced with an SSD1306 128x64 SPI OLED display and an RTC DS3231 module. The OLED display is used for visual output, while the RTC module provides accurate timekeeping. The microcontroller coordinates the display and timekeeping functions.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-S3 GPS and Wind Speed Logger with Dual OLED Displays and CAN Bus
Image of esp32-s3-ellipse: A project utilizing SSD1351 in a practical application
This circuit features an ESP32-S3 microcontroller interfaced with an SD card module, two OLED displays, a GPS module, and a CAN bus module. The ESP32-S3 records GPS data to the SD card, displays speed on one OLED, and shows wind speed from the CAN bus on the other OLED, providing a comprehensive data logging and display system.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with SSD1351

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 R8 Controller V1: A project utilizing SSD1351 in a practical application
STM32 and Arduino Pro Mini Based Wireless Data Logger with OLED Display
This circuit integrates multiple microcontrollers (Maple Mini STM32F1, nRF52840 ProMicro, and Arduino Pro Mini) to interface with various peripherals including an SSD1306 OLED display, an SD card module, and a Si4463 RF module. The circuit is designed for data acquisition, storage, and wireless communication, with power supplied through a USB Serial TTL module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of R8 Charger: A project utilizing SSD1351 in a practical application
Multi-Sensor Monitoring System with INA219, Hall Sensor, and OLED Display
This circuit is designed for monitoring and displaying sensor data. It includes three INA219 current sensors, a GH1248 Hall sensor, and an SSD1306 OLED display, all interfaced with a Seeed Studio RP2350 microcontroller. The microcontroller reads data from the sensors and controls the display and three LEDs.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Watch: A project utilizing SSD1351 in a practical application
Arduino Nano ESP32-Based Real-Time Clock and OLED Display System
This circuit features an Arduino Nano ESP32 microcontroller interfaced with an SSD1306 128x64 SPI OLED display and an RTC DS3231 module. The OLED display is used for visual output, while the RTC module provides accurate timekeeping. The microcontroller coordinates the display and timekeeping functions.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of esp32-s3-ellipse: A project utilizing SSD1351 in a practical application
ESP32-S3 GPS and Wind Speed Logger with Dual OLED Displays and CAN Bus
This circuit features an ESP32-S3 microcontroller interfaced with an SD card module, two OLED displays, a GPS module, and a CAN bus module. The ESP32-S3 records GPS data to the SD card, displays speed on one OLED, and shows wind speed from the CAN bus on the other OLED, providing a comprehensive data logging and display system.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Wearable devices and smartwatches
  • Portable medical devices
  • Industrial control panels
  • IoT devices with graphical interfaces
  • Consumer electronics such as MP3 players and digital cameras

Technical Specifications

Key Technical Details

Parameter Value
Manufacturer Waveshare
Part ID 1.5inch RGB OLED Module
Display Resolution 128x128 pixels
Display Type OLED (Organic Light Emitting Diode)
Color Depth 16-bit (65,536 colors)
Communication Interface SPI / I2C
Operating Voltage 3.3V / 5V (logic level)
Operating Temperature -40°C to 85°C
Dimensions 1.5 inches (diagonal)
Driver IC SSD1351

Pin Configuration and Descriptions

The SSD1351 module has a 7-pin interface for SPI communication. Below is the pinout description:

Pin No. Pin Name Description
1 GND Ground pin for power supply
2 VCC Power supply pin (3.3V or 5V)
3 SCL Serial Clock Line for SPI/I2C communication
4 SDA Serial Data Line for SPI/I2C communication
5 RES Reset pin (active low)
6 DC Data/Command control pin (High for data, Low for command)
7 CS Chip Select pin (active low)

Usage Instructions

How to Use the SSD1351 in a Circuit

  1. Power Supply: Connect the VCC pin to a 3.3V or 5V power source and the GND pin to ground.
  2. Communication Interface: Use SPI or I2C to communicate with the module. For SPI, connect SCL, SDA, RES, DC, and CS to the corresponding pins on your microcontroller.
  3. Initialization: The SSD1351 requires initialization commands to configure the display settings. These commands are sent via the SPI or I2C interface.
  4. Data Transmission: Use the DC pin to differentiate between command and data transmission. Set DC low for commands and high for data.
  5. Reset: Toggle the RES pin to reset the display before initialization.

Important Considerations and Best Practices

  • Ensure the power supply voltage matches the module's requirements (3.3V or 5V).
  • Use level shifters if your microcontroller operates at a different logic level than the display.
  • Avoid prolonged exposure to static electricity, as it can damage the OLED module.
  • Use proper decoupling capacitors near the power supply pins to reduce noise.
  • Follow the recommended initialization sequence provided in the SSD1351 datasheet.

Example Code for Arduino UNO

Below is an example of how to interface the SSD1351 with an Arduino UNO using the SPI interface:

#include <Adafruit_GFX.h>      // Graphics library for OLED
#include <Adafruit_SSD1351.h> // SSD1351 driver library
#include <SPI.h>

// Define pin connections
#define OLED_CS   10  // Chip Select pin
#define OLED_DC   9   // Data/Command pin
#define OLED_RST  8   // Reset pin

// Create an instance of the SSD1351 display
Adafruit_SSD1351 display = Adafruit_SSD1351(128, 128, &SPI, OLED_CS, OLED_DC, OLED_RST);

void setup() {
  // Initialize the display
  display.begin();
  
  // Clear the display with a black background
  display.fillScreen(SSD1351_BLACK);
  
  // Display a test message
  display.setTextColor(SSD1351_WHITE);
  display.setCursor(0, 0);
  display.println("Hello, SSD1351!");
  display.display();
}

void loop() {
  // Add your code here to update the display
}

Notes:

  • Install the Adafruit_GFX and Adafruit_SSD1351 libraries from the Arduino Library Manager before running the code.
  • Ensure the SPI pins (MOSI, MISO, SCK) on the Arduino UNO are correctly connected to the SSD1351 module.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Display Not Turning On:

    • Verify the power supply connections and ensure the correct voltage is applied.
    • Check the RES pin and ensure it is toggled during initialization.
  2. No Output on the Display:

    • Ensure the SPI or I2C connections are correct and match the microcontroller's pin configuration.
    • Verify that the initialization sequence in the code matches the SSD1351 datasheet.
  3. Flickering or Distorted Display:

    • Check for loose connections or poor soldering on the module.
    • Add decoupling capacitors near the power supply pins to reduce noise.
  4. Incorrect Colors or Artifacts:

    • Ensure the color depth and pixel format settings in the code match the SSD1351's requirements.
    • Verify that the DC pin is correctly toggled between data and command modes.

FAQs

Q: Can I use the SSD1351 with a 5V microcontroller?
A: Yes, but you must use level shifters to convert the 5V logic signals to 3.3V to avoid damaging the module.

Q: How do I switch between SPI and I2C modes?
A: The SSD1351 module is typically configured for SPI by default. Refer to the module's documentation for instructions on enabling I2C mode, if supported.

Q: What is the maximum frame rate supported by the SSD1351?
A: The SSD1351 can achieve a frame rate of up to 60Hz, depending on the communication speed and the complexity of the graphics being displayed.

Q: Can I use the SSD1351 outdoors?
A: While the OLED display offers high contrast, it may not be easily readable in direct sunlight. Consider using it in shaded or indoor environments.