Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

How to Use IPS 1.14" 135x240 ST7789 SPI: Examples, Pinouts, and Specs

Image of IPS 1.14" 135x240 ST7789 SPIDesign with IPS 1.14" 135x240 ST7789 SPI in Cirkit Designer

Introduction

The IPS 1.14" 135x240 ST7789 SPI is a compact, high-quality display module designed for use in a variety of electronic projects. Featuring a 1.14-inch In-Plane Switching (IPS) screen, it offers a resolution of 135x240 pixels, delivering sharp visuals, vibrant colors, and wide viewing angles. The module is powered by the ST7789 driver and communicates via the Serial Peripheral Interface (SPI), making it suitable for microcontroller-based applications.

Explore Projects Built with IPS 1.14" 135x240 ST7789 SPI

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 Arduino Nano Controlled TFT Display with Multiple Pushbuttons: A project utilizing IPS 1.14" 135x240 ST7789 SPI in a practical application
Arduino Nano Controlled TFT Display with Multiple Pushbuttons

This circuit features an Arduino Nano microcontroller connected to a ST7735 128x128 1.44 TFT I2C Color display and multiple pushbuttons. The display is interfaced with the Arduino via digital pins for control signals and SPI pins for data transfer. The pushbuttons are connected to various digital and analog input pins on the Arduino, likely intended for user input to control the display or other functions within the code.

Open Project in Cirkit Designer

Common Applications and Use Cases

Technical Specifications

Below are the key technical details of the IPS 1.14" 135x240 ST7789 SPI display module:

Parameter Value
Display Type IPS (In-Plane Switching)
Resolution 135x240 pixels
Driver IC ST7789
Interface SPI (4-wire)
Operating Voltage 3.3V
Logic Level Voltage 3.3V (5V-tolerant with level shifter)
Backlight Voltage 3.0V to 3.3V
Backlight Current ~20mA
Viewing Angle Wide (up to 178°)
Dimensions 1.14 inches (diagonal)
Operating Temperature -20°C to 70°C

Pin Configuration and Descriptions

The module typically has 7 pins for interfacing. Below is the pinout:

Pin Name Description
1 GND Ground connection
2 VCC Power supply (3.3V)
3 SCL SPI Clock (SCK)
4 SDA SPI Data (MOSI)
5 RES Reset pin (active low)
6 DC Data/Command control pin (High = Data, Low = Command)
7 CS Chip Select (active low)

Usage Instructions

How to Use the Component in a Circuit

  1. Power Supply: Connect the VCC pin to a 3.3V power source and the GND pin to ground.
  2. SPI Communication: Connect the SCL (SPI Clock) and SDA (SPI Data) pins to the corresponding SPI pins on your microcontroller.
  3. Control Pins:
    • Connect the RES pin to a GPIO pin for resetting the display.
    • Use the DC pin to toggle between data and command modes.
    • Connect the CS pin to a GPIO pin to enable or disable the display module.
  4. Backlight: The backlight is powered through the VCC pin. Ensure the power supply can handle the additional current (~20mA).

Important Considerations and Best Practices

Example Code for Arduino UNO

Below is an example of how to use the IPS 1.14" 135x240 ST7789 SPI display with an Arduino UNO. This example uses the popular Adafruit_GFX and Adafruit_ST7789 libraries.

#include <Adafruit_GFX.h>      // Core graphics library
#include <Adafruit_ST7789.h>   // ST7789 driver library
#include <SPI.h>               // SPI library

// Define pins for the display
#define TFT_CS    10  // Chip Select pin
#define TFT_RST   9   // Reset pin
#define TFT_DC    8   // Data/Command pin

// Create an instance of the display
Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);

void setup() {
  // Initialize serial communication for debugging
  Serial.begin(9600);
  Serial.println("ST7789 Display Test");

  // Initialize the display
  tft.init(135, 240);  // Initialize with width=135 and height=240
  tft.setRotation(1);  // Set display rotation (0-3)

  // Fill the screen with a color
  tft.fillScreen(ST77XX_BLACK);
  tft.setTextColor(ST77XX_WHITE);
  tft.setTextSize(2);
  tft.setCursor(10, 10);
  tft.println("Hello, ST7789!");
}

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

Notes:

Troubleshooting and FAQs

Common Issues and Solutions

  1. Display Not Turning On:

    • Verify the power supply connections (VCC and GND).
    • Ensure the backlight is powered (check current draw).
  2. No Output or Garbled Display:

    • Check SPI connections (SCL, SDA, CS, DC, RES).
    • Ensure the SPI clock speed is not too high for your setup.
    • Verify the initialization code matches the display's resolution and driver.
  3. Flickering or Unstable Display:

    • Use shorter wires for SPI connections to reduce noise.
    • Add decoupling capacitors near the power pins.
  4. Display Stays Blank After Reset:

    • Ensure the RES pin is properly toggled during initialization.
    • Check the logic level of the DC and CS pins.

FAQs

Q: Can I use this display with a 5V microcontroller?
A: Yes, but you must use a level shifter to convert the 5V logic signals to 3.3V.

Q: What is the maximum SPI clock speed supported?
A: The ST7789 driver supports SPI clock speeds up to 15 MHz, but start with lower speeds for stability.

Q: Can I use this display in outdoor applications?
A: While the IPS screen offers good visibility, it is not sunlight-readable. Consider using a reflective display for outdoor use.

Q: How do I rotate the display?
A: Use the setRotation() function in your code. Valid values are 0, 1, 2, and 3.

By following this documentation, you can successfully integrate the IPS 1.14" 135x240 ST7789 SPI display into your projects!