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!
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.
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.
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.
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.
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
Power Supply: Connect the VCC pin to a 3.3V or 5V power source and the GND pin to ground.
SPI Interface: Connect the SCL, SDA, RES, DC, and CS pins to the corresponding SPI pins on your microcontroller.
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
Display Not Turning On
Cause: Incorrect wiring or power supply.
Solution: Double-check all connections and ensure the module is powered correctly.
Flickering or Artifacts on the Display
Cause: SPI clock speed too high.
Solution: Reduce the SPI clock speed in your microcontroller settings.
No Response from the Display
Cause: Incorrect initialization or library issues.
Solution: Verify that the correct library is installed and initialized properly.
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!