Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use TFT LCD display: Examples, Pinouts, and Specs

Image of TFT LCD display
Cirkit Designer LogoDesign with TFT LCD display in Cirkit Designer

Introduction

The TFT LCD Display (Manufacturer: GMT 020-02-8P, Part ID: ST7789) is a high-performance Thin-Film Transistor Liquid Crystal Display designed for vibrant color rendering and high-resolution output. This display leverages thin-film transistor technology to deliver superior image quality, faster response times, and enhanced viewing angles. It is widely used in applications such as smartphones, tablets, handheld devices, and embedded systems.

Explore Projects Built with TFT LCD display

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
RTL8720DN-Based Interactive Button-Controlled TFT Display
Image of coba-coba: A project utilizing TFT LCD display in a practical application
This circuit features an RTL8720DN microcontroller interfaced with a China ST7735S 160x128 TFT LCD display and four pushbuttons. The microcontroller reads the states of the pushbuttons and displays their statuses on the TFT LCD, providing a visual feedback system for button presses.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Mega 2560 Controlled TFT Touchscreen Interface
Image of Tablero Moto: A project utilizing TFT LCD display in a practical application
This circuit connects an Arduino Mega 2560 microcontroller to a 3.5-inch 480x320 TFT LCD display. The Arduino provides power, ground, and digital signals to control the display, including data lines for pixel information and control lines for reset, write, and command/data selection. The embedded code initializes the display and configures the Arduino's pins for communication, likely to create a user interface or visual output for a project.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano-Based TFT LCD Display Interface
Image of ST7735: A project utilizing TFT LCD display in a practical application
This circuit interfaces an Arduino Nano with a TFT LCD Display ST7735S. The Arduino Nano controls the display by sending data and commands through its digital pins, providing power and ground connections to the display. The setup is designed for displaying information on the TFT screen, with the Arduino handling the logic and data processing.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-S3 and ILI9488 TFT LCD Display for Interactive Graphics
Image of IOT_V1: A project utilizing TFT LCD display in a practical application
This circuit features an ESP32-S3 microcontroller connected to an ILI9488 TFT LCD display. The ESP32-S3 initializes and controls the display, demonstrating basic graphics and text rendering using the TFT_eSPI library.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with TFT LCD display

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 coba-coba: A project utilizing TFT LCD display in a practical application
RTL8720DN-Based Interactive Button-Controlled TFT Display
This circuit features an RTL8720DN microcontroller interfaced with a China ST7735S 160x128 TFT LCD display and four pushbuttons. The microcontroller reads the states of the pushbuttons and displays their statuses on the TFT LCD, providing a visual feedback system for button presses.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Tablero Moto: A project utilizing TFT LCD display in a practical application
Arduino Mega 2560 Controlled TFT Touchscreen Interface
This circuit connects an Arduino Mega 2560 microcontroller to a 3.5-inch 480x320 TFT LCD display. The Arduino provides power, ground, and digital signals to control the display, including data lines for pixel information and control lines for reset, write, and command/data selection. The embedded code initializes the display and configures the Arduino's pins for communication, likely to create a user interface or visual output for a project.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ST7735: A project utilizing TFT LCD display in a practical application
Arduino Nano-Based TFT LCD Display Interface
This circuit interfaces an Arduino Nano with a TFT LCD Display ST7735S. The Arduino Nano controls the display by sending data and commands through its digital pins, providing power and ground connections to the display. The setup is designed for displaying information on the TFT screen, with the Arduino handling the logic and data processing.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of IOT_V1: A project utilizing TFT LCD display in a practical application
ESP32-S3 and ILI9488 TFT LCD Display for Interactive Graphics
This circuit features an ESP32-S3 microcontroller connected to an ILI9488 TFT LCD display. The ESP32-S3 initializes and controls the display, demonstrating basic graphics and text rendering using the TFT_eSPI library.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Portable devices like smartphones and smartwatches
  • Embedded systems and microcontroller projects
  • Industrial control panels
  • Consumer electronics such as digital cameras and media players
  • DIY electronics and prototyping with platforms like Arduino and Raspberry Pi

Technical Specifications

Key Specifications

Parameter Value
Display Type TFT LCD
Manufacturer GMT 020-02-8P
Controller IC ST7789
Resolution 240 x 240 pixels
Display Size 1.3 inches (diagonal)
Interface SPI (Serial Peripheral Interface)
Operating Voltage 3.3V
Backlight Voltage 3.0V to 3.3V
Current Consumption ~20mA (typical)
Viewing Angle 160°
Operating Temperature -20°C to 70°C
Storage Temperature -30°C to 80°C

Pin Configuration

The TFT LCD display has an 8-pin interface. Below is the pinout description:

Pin No. Pin Name Description
1 GND Ground pin for power supply
2 VCC Power supply pin (3.3V)
3 SCL Serial Clock Line for SPI communication
4 SDA Serial Data Line for SPI communication
5 RES Reset pin to initialize the display
6 DC Data/Command control pin
7 BLK Backlight control pin (connect to 3.3V or PWM)
8 CS Chip Select pin for SPI communication

Usage Instructions

Connecting the Display to an Arduino UNO

To use the TFT LCD display with an Arduino UNO, follow these steps:

  1. Wiring the Display:

    • Connect the GND pin of the display to the GND pin of the Arduino.
    • Connect the VCC pin of the display to the 3.3V pin of the Arduino.
    • Connect the SCL pin to Arduino pin D13 (SPI Clock).
    • Connect the SDA pin to Arduino pin D11 (SPI MOSI).
    • Connect the RES pin to Arduino pin D8.
    • Connect the DC pin to Arduino pin D9.
    • Connect the CS pin to Arduino pin D10.
    • Optionally, connect the BLK pin to 3.3V or a PWM pin for backlight control.
  2. Install Required Libraries:

    • Install the Adafruit_GFX and Adafruit_ST7789 libraries from the Arduino Library Manager.
  3. Example Code: Use the following code to initialize and display basic graphics on the TFT LCD:

    // Include necessary libraries
    #include <Adafruit_GFX.h>       // Graphics library for rendering shapes/text
    #include <Adafruit_ST7789.h>   // Driver for ST7789 TFT LCD
    
    // Define pin connections
    #define TFT_CS    10  // Chip Select pin
    #define TFT_RST   8   // Reset pin
    #define TFT_DC    9   // Data/Command pin
    
    // Initialize the display object
    Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
    
    void setup() {
      // Initialize the display
      tft.init(240, 240);  // Initialize with 240x240 resolution
      tft.setRotation(1);  // Set display orientation (0-3)
    
      // Fill the screen with a color
      tft.fillScreen(ST77XX_BLACK);
    
      // Draw a rectangle
      tft.fillRect(50, 50, 100, 100, ST77XX_RED);
    
      // Display text
      tft.setTextColor(ST77XX_WHITE);
      tft.setTextSize(2);
      tft.setCursor(10, 200);
      tft.print("Hello, TFT!");
    }
    
    void loop() {
      // No actions in the loop
    }
    

Important Considerations

  • Voltage Levels: Ensure the display operates at 3.3V. Using 5V may damage the module.
  • Backlight Control: The backlight pin (BLK) can be connected to a PWM pin for brightness control.
  • SPI Speed: Use a suitable SPI clock speed (e.g., 4 MHz) to ensure stable communication.
  • Reset Pin: Always connect the reset pin (RES) to avoid initialization issues.

Troubleshooting and FAQs

Common Issues

  1. Display Not Turning On:

    • Verify the power connections (GND and VCC).
    • Ensure the backlight pin (BLK) is connected to 3.3V or a PWM pin.
  2. No Output on the Screen:

    • Check the SPI connections (SCL, SDA, CS, DC).
    • Ensure the correct pins are defined in the code.
    • Verify that the Adafruit_GFX and Adafruit_ST7789 libraries are installed.
  3. Flickering or Unstable Display:

    • Reduce the SPI clock speed in the library settings.
    • Ensure proper grounding between the Arduino and the display.
  4. Incorrect Colors or Orientation:

    • Use the setRotation() function to adjust the display orientation.
    • Verify the color format used in the code (RGB565).

FAQs

Q1: Can I use this display with a 5V microcontroller?
A1: Yes, but you must use a level shifter to convert 5V signals to 3.3V to avoid damaging the display.

Q2: How do I control the brightness of the backlight?
A2: Connect the BLK pin to a PWM-capable pin on your microcontroller and use PWM signals to adjust brightness.

Q3: Can I use this display with platforms other than Arduino?
A3: Yes, the display can be used with other platforms like Raspberry Pi or ESP32, provided they support SPI communication.

Q4: What is the maximum SPI clock speed supported?
A4: The ST7789 controller typically supports SPI clock speeds up to 15 MHz, but lower speeds (e.g., 4 MHz) are recommended for stability.

By following this documentation, you can effectively integrate and use the TFT LCD display in your projects.