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.
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 |
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) |
VCC
pin to a 3.3V or 5V power source and the GND
pin to ground.SCL
, SDA
, RES
, DC
, and CS
to the corresponding pins on your microcontroller.DC
pin to differentiate between command and data transmission. Set DC
low for commands and high for data.RES
pin to reset the display before initialization.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
}
Adafruit_GFX
and Adafruit_SSD1351
libraries from the Arduino Library Manager before running the code.Display Not Turning On:
RES
pin and ensure it is toggled during initialization.No Output on the Display:
Flickering or Distorted Display:
Incorrect Colors or Artifacts:
DC
pin is correctly toggled between data and command modes.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.