Zbotic Logo Zbotic Logo
  • Home
  • Shop
  • Sale
  • 3D Print Service
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

  • Shop
  • About Us
  • Contact Us
  • Reseller
  • Blogs
020 69134444
1800 209 0998
[email protected]
Help Desk
Facebook Twitter Instagram Linkedin YouTube
Zbotic Logo Zbotic Logo
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

All departments
  • 3D Print Service
  • 3D Printer
  • Batteries & Chargers
  • Development Boards
  • Drone Parts
  • EBike parts
  • Sensor Modules
  • Electronic Components
  • Electronic Modules
  • IoT and Wireless
  • Mechanical Parts and Workbench Tools
  • Motors & Drivers & Pumps & Actuators
  • DIY and Robot Kits
  • Show more
  • Home
  • Shop
  • Sale
  • 3D Print Service
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
Return to previous page
Home Display Modules & Screens

SSD1351 OLED Color Display: 128×128 RGB Module Arduino Guide

SSD1351 OLED Color Display: 128×128 RGB Module Arduino Guide

March 11, 2026 /Posted byJayesh Jain / 0

The SSD1351 OLED 128×128 RGB Arduino module is one of the most visually striking displays you can add to a maker project. Unlike the common monochrome SSD1306 OLED, the SSD1351 drives a full 128×128 pixel colour OLED panel — producing 65,536 colours with stunning contrast and zero backlight bleed. This guide covers everything an Indian maker needs to get the SSD1351 up and running with Arduino or ESP32, from pin connections to drawing colourful graphics.

Table of Contents

  1. SSD1351 Module Overview
  2. SSD1351 vs SSD1306: Key Differences
  3. Wiring the SSD1351 to Arduino / ESP32
  4. Library Setup and Configuration
  5. Drawing Text, Shapes and Bitmaps
  6. Project Ideas for Indian Makers
  7. Tips and Troubleshooting
  8. Frequently Asked Questions

SSD1351 Module Overview

The SSD1351 is a 132×132 OLED driver IC manufactured by Solomon Systech, typically paired with a 128×128 pixel colour OLED panel. The most common breakout module uses a 1.5″ OLED panel and communicates via 4-wire SPI. Some modules also support 3-wire SPI and an 8-bit parallel interface, but SPI is the easiest to use with Arduino.

Key specifications of the typical SSD1351 module:

  • Resolution: 128×128 pixels
  • Colour depth: 16-bit (65,536 colours) in normal mode, 18-bit on some configurations
  • Interface: 4-wire SPI (MOSI, SCK, CS, DC) + RESET
  • Operating voltage: 3.3V logic (some modules have 5V-tolerant inputs)
  • Power supply: 3.3V for VCC (module regulates internally from 5V on most breakouts)
  • Panel size: Typically 1.27″ or 1.5″ diagonal
  • Viewing angle: Near 180° — excellent from any angle

Because OLED pixels emit their own light, the SSD1351 achieves true blacks that are simply impossible with LCD technology. Colours are vivid and punchy, making this module ideal for small graphical UIs, retro game displays, and status dashboards.

SSD1351 vs SSD1306: Key Differences

Feature SSD1351 (Colour) SSD1306 (Monochrome)
Resolution 128×128 128×64
Colour 16-bit RGB (65K colours) 1-bit (white/blue/yellow)
Interface SPI (4-wire) I2C or SPI
Pins needed 5 GPIO pins 2 GPIO pins (I2C)
RAM required 32KB frame buffer (ESP32) 1KB frame buffer
Price (India) ₹600–₹1,200 ₹100–₹200
Best MCU ESP32 / Arduino Mega / Due Any Arduino

The RAM requirement is the most important consideration. A 128×128 full-colour frame buffer requires 128×128×2 bytes = 32,768 bytes (32KB). An Arduino Uno has only 2KB of SRAM — completely insufficient. An Arduino Mega has 8KB — still too small for a full frame buffer. The SSD1351 works best with ESP32 (520KB SRAM), Arduino Due (96KB), or Raspberry Pi Pico (264KB).

Wiring the SSD1351 to Arduino / ESP32

Wiring to ESP32 (Recommended)

SSD1351 Pin ESP32 GPIO Notes
VCC 3.3V Check module; some accept 5V
GND GND Common ground
CLK / SCK GPIO 18 SPI clock
MOSI / SDA GPIO 23 SPI data
CS GPIO 5 Chip select
DC / RS GPIO 2 Data/Command
RST / RESET GPIO 4 Hardware reset

Note: Some SSD1351 modules also have a BS1 or BS0 pin to select the interface mode. If present, connect BS1 to GND to select SPI mode.

Wiring to Arduino Mega

On Arduino Mega, use the hardware SPI pins: MOSI = pin 51, SCK = pin 52. CS, DC, and RST can be any digital pin. Since the Mega has only 8KB of RAM, use the Adafruit SSD1351 library in its low-memory mode (avoiding the full frame buffer) — this limits drawing speed but allows basic use.

Library Setup and Configuration

The best library for the SSD1351 is the Adafruit SSD1351 library combined with Adafruit GFX. Install both from the Arduino IDE Library Manager (Search: “SSD1351” and “Adafruit GFX”).

Basic initialisation code for ESP32:

#include <Adafruit_GFX.h>
#include <Adafruit_SSD1351.h>
#include <SPI.h>

#define SCREEN_WIDTH  128
#define SCREEN_HEIGHT 128
#define CS_PIN   5
#define DC_PIN   2
#define RST_PIN  4

Adafruit_SSD1351 tft = Adafruit_SSD1351(SCREEN_WIDTH, SCREEN_HEIGHT,
                        &SPI, CS_PIN, DC_PIN, RST_PIN);

void setup() {
  tft.begin();
  tft.fillScreen(0x0000); // Black
  tft.setTextColor(0xFFFF); // White text
  tft.setTextSize(2);
  tft.setCursor(10, 50);
  tft.println("Hello Zbotic!");
}

The TFT_eSPI library also supports SSD1351 and is significantly faster due to DMA transfers. For any project where display refresh speed matters (animations, games), TFT_eSPI is the better choice. Configure the User_Setup.h file with #define SSD1351_DRIVER and the appropriate pin definitions.

Drawing Text, Shapes and Bitmaps

The Adafruit GFX library provides a consistent API across all supported displays. Key functions for the SSD1351:

Colours

Colours are 16-bit RGB565 format. Common colour constants:

#define BLACK   0x0000
#define WHITE   0xFFFF
#define RED     0xF800
#define GREEN   0x07E0
#define BLUE    0x001F
#define YELLOW  0xFFE0
#define ORANGE  0xFC00
#define CYAN    0x07FF
#define MAGENTA 0xF81F

To convert any RGB colour to RGB565: colour = ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3);

Shapes and Text

tft.fillRect(x, y, w, h, colour);      // Filled rectangle
tft.drawCircle(x, y, radius, colour);  // Circle outline
tft.fillCircle(x, y, radius, colour);  // Filled circle
tft.drawLine(x0, y0, x1, y1, colour);  // Line
tft.drawBitmap(x, y, bitmap, w, h, fg, bg); // 1-bit bitmap
tft.setFont(&FreeSans9pt7b);           // Custom GFX font

Displaying a Bitmap Image

For full-colour bitmaps, convert your PNG to a C array using the online tool at lvgl.io/tools/imageconverter (select CF_RGB565 format). The resulting array can be stored in PROGMEM (Flash) and drawn with a custom pixel-push loop:

for (int y = 0; y < IMG_H; y++) {
  for (int x = 0; x < IMG_W; x++) {
    uint16_t colour = pgm_read_word(&myImage[y * IMG_W + x]);
    tft.drawPixel(x + offsetX, y + offsetY, colour);
  }
}
DHT20 SIP Packaged Temperature and Humidity Sensor

DHT20 SIP Packaged Temperature and Humidity Sensor

Display colourful temperature and humidity readings on your SSD1351 OLED. DHT20’s I2C interface leaves all your SPI pins free for the display.

View on Zbotic

Project Ideas for Indian Makers

The SSD1351’s colour OLED display opens up a wide range of creative projects. Here are some ideas particularly relevant to Indian makers:

1. Mini Colour Weather Station

Use an ESP32 + SSD1351 + BME280 sensor to build a desk weather station. Display temperature in colour-coded text (blue for cold, red for hot), humidity as a progress bar, and a weather icon fetched from OpenWeatherMap API. Indian summers make this both practical and visually interesting.

2. Cryptocurrency Price Ticker

Fetch BTC, ETH, or INR prices from a free API (CoinGecko has a no-key-required endpoint). Display price changes in green (up) or red (down) with sparkline charts. The 128×128 colour OLED gives this ticker a premium feel.

3. Retro Pixel Art Game

The 128×128 resolution is almost identical to the original Game Boy Color screen. Implement a simple game like Snake, Breakout, or Flappy Bird. The ESP32 is fast enough for smooth gameplay at 30 FPS on the SSD1351 via TFT_eSPI.

4. Smart Home Status Panel

Connect to Home Assistant or MQTT and display room temperatures, power consumption, or security camera status with colour-coded indicators. Mount it on your wall in a 3D-printed frame for a professional look.

5. Digital Compass and Altimeter

Combine with an MPU6050 IMU and BMP280 barometric sensor to build a trekker’s instrument for Himalayan or Western Ghats hikes. Display compass bearing, altitude, and temperature on the crisp colour OLED.

GY-BME280-3.3 Precision Altimeter Atmospheric Pressure Sensor Module

GY-BME280-3.3 Precision Altimeter Atmospheric Pressure Sensor Module

Three sensors in one: temperature, humidity, and barometric pressure. A perfect companion for the SSD1351 OLED in a colourful weather or trekking instrument build.

View on Zbotic

BMP280 Barometric Pressure and Altitude Sensor

BMP280 Barometric Pressure and Altitude Sensor I2C/SPI Module

Measure altitude and pressure to display on your SSD1351. Great for a trekking altimeter project or a desktop weather station with pressure trend graphs.

View on Zbotic

Tips and Troubleshooting

  • Display stays black: Check that VCC is correctly connected. Many SSD1351 modules require a specific sequence: power up, then RESET high, then send init commands. The Adafruit library handles this automatically in begin().
  • Colours look wrong: The SSD1351 can operate in RGB or BGR colour order depending on the panel. If your red appears blue, add tft.setColorOrder(INIT_SWAP_COLOR_ORDER); after begin().
  • Slow refresh rate: Increase SPI clock speed. The SSD1351 supports up to 20 MHz. With TFT_eSPI, set #define SPI_FREQUENCY 20000000 in User_Setup.h.
  • Garbled display: Usually a wiring issue — double-check CS, DC, and RST pins. Also confirm the SPI mode is SPI_MODE0 or SPI_MODE3 (Adafruit defaults are correct).
  • Screen burn-in prevention: Implement a screensaver that shifts the display content by 1–2 pixels every minute, or dims/blanks the screen after inactivity.

Frequently Asked Questions

Is the SSD1351 compatible with 5V Arduino boards?

The SSD1351 IC operates at 3.3V logic. Most breakout modules include level shifters or 3.3V regulators, making them safe to power from 5V Arduino boards. However, always verify your specific module’s datasheet. If unsure, use a 3.3V logic-level converter on the SPI lines.

Can I run the SSD1351 on Arduino Uno?

Technically possible, but practically very limited. The Uno’s 2KB SRAM cannot hold a full frame buffer. You can draw pixels and shapes one at a time, but forget smooth animations. Use Arduino Mega or, ideally, an ESP32 for proper SSD1351 projects.

How does SSD1351 compare to a 1.8″ ST7735 TFT LCD?

The SSD1351 OLED wins on contrast, colour accuracy, and viewing angle. The ST7735 LCD is cheaper, doesn’t suffer from burn-in, and has a slightly larger screen. For most maker projects, the OLED’s visuals justify the extra cost if you can handle the RAM requirement.

Where can I buy the SSD1351 module in India?

The SSD1351 is available on major Indian electronics stores. Zbotic.in stocks a range of display modules including colour OLEDs and TFT LCDs. Check the Display Modules category for the latest stock.

How long do OLED panels last?

OLED panels typically have a rated lifespan of 10,000–100,000 hours to half-brightness, depending on operating conditions. At normal brightness for a desk gadget that’s on for 8 hours a day, that equates to 3–35 years. Burn-in from static content is a more immediate concern than total lifespan for most maker projects.

Ready to build something colourful? Pair your SSD1351 OLED with a DHT20, BME280, or BMP280 sensor from Zbotic.in for a stunning colour weather station. All modules ship fast across India with tracked delivery.

Shop Display Modules on Zbotic

Tags: Arduino, Color Display, oled display, RGB Display, SSD1351
Share Post
  • Facebook
  • Linkedin
  • Whatsapp
Noise Figure in RF Amplifiers:...
blog noise figure in rf amplifiers low noise design principles 597321
blog lipo battery connector types xt60 vs t plug vs jst compared 597333
LiPo Battery Connector Types: ...

Related posts

Svg%3E
Read more

Multi-Display Sync: Run Same Content on Multiple Screens

April 1, 2026 0
Table of Contents When You Need Multiple Synchronised Displays Communication Protocols for Display Sync I2C Multi-Display Architecture SPI Daisy-Chain Approach... Continue reading
Svg%3E
Read more

Display Brightness Control: Ambient Light Auto-Adjust

April 1, 2026 0
Table of Contents Why Auto-Brightness Matters Light Sensors: LDR, BH1750, TSL2561 PWM Brightness Control Basics Implementing Auto-Brightness for OLED Auto-Brightness... Continue reading
Svg%3E
Read more

LCD Menu System: Multi-Level Navigation with Encoder

April 1, 2026 0
Table of Contents Why Build a Menu System Hardware: LCD + Rotary Encoder Menu Architecture Design Implementing the Menu Engine... Continue reading
Svg%3E
Read more

LED Running Text: Single Line Scrolling Marquee

April 1, 2026 0
Table of Contents Applications for Scrolling Marquee Displays Hardware Options: Dot Matrix vs LED Panel Building with MAX7219 Cascaded Modules... Continue reading
Svg%3E
Read more

Prayer Time Display: Mosque and Temple Timer India

April 1, 2026 0
Table of Contents The Need for Automated Prayer Time Displays Calculating Prayer Times Programmatically Display Options for Places of Worship... Continue reading

Add comment Cancel reply

Your email address will not be published. Required fields are marked

Facebook Twitter Instagram Pinterest Linkedin Youtube

Get the latest deals and more.

Download on Google Play Download on the App Store

Call us: 020 69134444 / 1800 209 0998

Monday - Saturday 09:30 AM - 06:00 PM
For Technical Supports Email: [email protected]
For Sales / Enquiries Email: [email protected]

  • My Account

    • Cart

    • Wishlist

    • Checkout

    • My Orders

    • Track Order

    • My Account

  • Information

    • FAQs

    • Blogs

    • Career

    • About Us

    • Contact Us

    • Payment Options

  • Policies

    • Privacy Policy

    • Terms & Conditions

    • GST Input Tax Credit

    • Shipping Return Policy

    • E-Waste Collection Points

    • Our Sitemap

© Zbotic.in is registered trademark of Moxie Supply Pvt Ltd – All Rights Reserved
Login
Use Phone Number
Use Email Address
Not a member yet? Register Now
Reset Password
Use Phone Number
Use Email Address
Register
Already a member? Login Now