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, with the part ID "1.5inch RGB OLED Module." It supports a resolution of 128x128 pixels and offers vibrant colors and high contrast, making it ideal for small display applications. The module communicates via SPI or I2C interfaces, making it compatible with a wide range of microcontrollers and embedded systems.

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: 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: 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
  • Portable electronics
  • Embedded system displays
  • IoT dashboards
  • Graphical user interfaces for small devices

Technical Specifications

The SSD1351 module is designed for high-performance, low-power operation. Below are its key technical details:

Key Specifications

Parameter Value
Manufacturer Waveshare
Part ID 1.5inch RGB OLED Module
Resolution 128x128 pixels
Display Type OLED (Organic Light Emitting Diode)
Interface SPI / I2C
Operating Voltage 3.3V / 5V
Power Consumption Low power
Pixel Color Depth 16-bit (65,536 colors)
Viewing Angle >160°
Operating Temperature -40°C to 70°C
Dimensions 1.5 inches diagonal

Pin Configuration and Descriptions

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

Pin Number Pin Name Description
1 GND Ground pin
2 VCC Power supply (3.3V or 5V)
3 SCL Serial Clock Line (SPI clock input)
4 SDA Serial Data Line (SPI data input)
5 RES Reset pin (active low)
6 DC Data/Command control pin
7 CS Chip Select (active low)

Usage Instructions

The SSD1351 module is straightforward to use in embedded systems. Below are the steps and considerations for integrating it into your project.

Connecting the SSD1351 to a Microcontroller

  1. Power Supply: Connect the VCC pin to a 3.3V or 5V power source and the GND pin to ground.
  2. SPI Interface: Connect the SCL, SDA, RES, DC, and CS pins to the corresponding SPI pins on your microcontroller.
  3. Initialization: Use an appropriate library (e.g., Adafruit SSD1351 library) to initialize the display.

Example: Using SSD1351 with Arduino UNO

Below is an example of how to connect and program the SSD1351 module with an Arduino UNO using the SPI interface.

Wiring Diagram

SSD1351 Pin Arduino UNO Pin
GND GND
VCC 5V
SCL D13 (SCK)
SDA D11 (MOSI)
RES D8
DC D9
CS D10

Arduino Code Example

#include <Adafruit_GFX.h>       // Include Adafruit GFX library for graphics
#include <Adafruit_SSD1351.h>   // Include Adafruit SSD1351 library for the display

// 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 message
  display.setTextColor(SSD1351_WHITE);
  display.setTextSize(1);
  display.setCursor(0, 0);
  display.println("Hello, SSD1351!");
}

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

Important Considerations and Best Practices

  • Voltage Levels: Ensure the module is powered with the correct voltage (3.3V or 5V).
  • SPI Speed: Use an appropriate SPI clock speed to avoid communication errors.
  • Reset Pin: Always connect the RES pin to ensure proper initialization.
  • Library Support: Use a compatible library like Adafruit SSD1351 for easier integration.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Display Not Turning On

    • Cause: Incorrect wiring or power supply.
    • Solution: Double-check all connections and ensure the module is powered correctly.
  2. Flickering or Artifacts on the Display

    • Cause: SPI clock speed too high.
    • Solution: Reduce the SPI clock speed in your microcontroller settings.
  3. No Response from the Display

    • Cause: Incorrect initialization or library issues.
    • Solution: Verify that the correct library is installed and initialized properly.
  4. Partial or Distorted Graphics

    • Cause: Data/Command pin misconfigured.
    • Solution: Ensure the DC pin is connected to the correct microcontroller pin.

FAQs

Q: Can I use the SSD1351 with a 5V microcontroller?
A: Yes, the module supports both 3.3V and 5V logic levels, making it compatible with 5V microcontrollers like Arduino UNO.

Q: Does the SSD1351 support I2C communication?
A: While the SSD1351 driver supports I2C, the Waveshare 1.5inch RGB OLED Module is typically configured for SPI communication.

Q: How do I display images on the SSD1351?
A: Use a graphics library like Adafruit GFX to load and render bitmap images onto the display.

Q: What is the maximum refresh rate of the SSD1351?
A: The refresh rate depends on the SPI clock speed and the microcontroller's processing power. Typically, it is sufficient for smooth animations.

By following this documentation, you can successfully integrate and use the SSD1351 module in your projects!