Small color TFT displays are among the most popular display types in Arduino and ESP32 projects. They are inexpensive, widely available and capable of showing full-color graphics, menus and simple user interfaces.
This article explains how TFT LCD displays work, compares the common ST7735 and ST7789 controllers, and shows when to use each type.
What Is a TFT LCD Display?
TFT stands for Thin-Film Transistor. A TFT LCD is a type of liquid crystal display where each pixel is actively controlled by a transistor.
Unlike OLED displays, TFT LCDs require a backlight to be visible.
Each pixel controls light from the backlight
Full RGB color support
Higher resolution than character LCDs
Typically uses SPI or parallel interface
Small TFT displays are commonly used in embedded systems for dashboards, menus and graphical feedback.
ST7735 Displays
The ST7735 is one of the most widely used controllers for small TFT displays.
Typical features:
Common resolution: 128x160 pixels
SPI interface
Compact modules (often around 1.8 inch)
Good library support in Arduino ecosystem
Low cost
ST7735 displays are often used in beginner projects because they are easy to connect and well supported by libraries such as Adafruit GFX.
Advantages of ST7735
Very common and well documented
Works with many existing examples
Good balance between cost and performance
Limitations of ST7735
Lower resolution compared with newer displays
Smaller screen size
ST7789 Displays
The ST7789 is a more modern TFT controller and has become very popular for slightly larger and higher-resolution displays.
Typical features:
Common resolutions: 240x240, 240x320
SPI interface
Available in square and rectangular formats
Often used in 1.3 inch to 2.4 inch displays
ST7789 displays provide significantly more pixels than ST7735 displays, which allows for better graphics and more detailed user interfaces.
Advantages of ST7789
Higher resolution
Better for graphical interfaces
Widely available in modern modules
Limitations of ST7789
Requires more memory for frame buffers
Slightly higher cost than basic ST7735 modules
ST7735 vs ST7789 Comparison
Feature
ST7735
ST7789
Typical resolution
128x160
240x240 or 240x320
Interface
SPI
SPI
Typical size
~1.8 inch
1.3 to 2.4 inch
Graphics detail
Basic
Higher detail
Library support
Excellent
Excellent
Typical use
Simple UI, small projects
More advanced UI, dashboards
Wiring and Interface
Most ST7735 and ST7789 modules use SPI.
Typical connections:
MOSI (data)
SCLK (clock)
CS (chip select)
DC (data/command)
RESET (optional)
SPI allows relatively fast updates, which is important for drawing graphics and refreshing the screen.
Performance Considerations
TFT displays require more data than text displays. Every pixel must be updated through the interface.
Important factors:
SPI speed affects refresh rate
Higher resolution needs more data transfer
Full-screen updates are slower than partial updates
Microcontroller performance matters
On slower microcontrollers, updating a full 240x320 screen can take noticeable time.
Power Consumption
The main power consumption in TFT displays comes from the backlight.
Backlight current is often higher than logic current
Brightness directly affects power consumption
Some modules allow PWM dimming of the backlight
For battery-powered projects, reducing backlight brightness can significantly increase runtime.
Typical Use Cases
Menu-driven user interfaces
Sensor dashboards
Simple games
Visual feedback systems
Portable devices with graphical output
ST7735 is suitable for smaller, simpler projects. ST7789 is better when more detail and screen space are needed.
Important Practical Notes
Most modules use 3.3V logic
Some boards include level shifting, but do not assume it
Always check the exact display resolution
Different modules may use different pin labels
Use optimized libraries for better performance
Conclusion
ST7735 and ST7789 TFT displays are both excellent choices for small color screens in embedded projects. The ST7735 is ideal for simple and low-cost applications, while the ST7789 provides higher resolution and better visual quality for more advanced interfaces.
For most new designs, ST7789 is often the better long-term choice, while ST7735 remains a practical option for basic projects and cost-sensitive designs.