

The TFT ST7789V 2.8' is a 2.8-inch thin-film transistor (TFT) display module that incorporates the ST7789V driver. This display is renowned for its high resolution, vibrant color depth, and compact size, making it ideal for a wide range of embedded applications. It is commonly used in projects requiring graphical interfaces, such as IoT devices, handheld instruments, and consumer electronics.








| Parameter | Specification |
|---|---|
| Display Type | TFT (Thin-Film Transistor) |
| Driver IC | ST7789V |
| Screen Size | 2.8 inches |
| Resolution | 240 x 320 pixels |
| Color Depth | 262K (18-bit) colors |
| Interface | SPI (Serial Peripheral Interface) |
| Operating Voltage | 3.3V |
| Backlight Voltage | 3.0V to 3.6V |
| Backlight Current | ~20mA |
| Viewing Angle | 160° |
| Operating Temperature | -20°C to 70°C |
| Dimensions | 50mm x 69mm x 2.8mm |
| Pin No. | Pin Name | Description |
|---|---|---|
| 1 | GND | Ground pin for power and signal reference. |
| 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 (High for data, Low for command). |
| 7 | CS | Chip Select pin (Active Low). |
| 8 | BLK | Backlight control pin (PWM or ON/OFF). |
VCC pin to a 3.3V power source and the GND pin to ground.SCL (clock) and SDA (data) pins to the corresponding SPI pins on your microcontroller.RES pin to reset the display during initialization.DC pin determines whether the data being sent is a command or display data.CS pin should be pulled low to enable communication with the display.BLK pin to a PWM-capable pin on your microcontroller for brightness control or directly to 3.3V for constant backlight.Below is an example of how to interface the TFT ST7789V 2.8' with an Arduino UNO using the Adafruit ST7789 library.
#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
// Initialize the display object
Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
void setup() {
// Initialize serial communication for debugging
Serial.begin(9600);
Serial.println("TFT ST7789V Test");
// Initialize the display
tft.init(240, 320); // Initialize with 240x320 resolution
tft.setRotation(1); // Set display orientation (1 = landscape)
// Fill the screen with a color
tft.fillScreen(ST77XX_BLACK);
tft.setTextColor(ST77XX_WHITE);
tft.setTextSize(2);
// Display a message
tft.setCursor(10, 10);
tft.println("Hello, TFT!");
}
void loop() {
// Add your code here for dynamic updates
}
TFT_CS, TFT_RST, and TFT_DC pins are correctly connected to the Arduino.Display Not Turning On:
VCC and GND).BLK) to ensure it is powered or controlled via PWM.No Display Output:
SCL and SDA) are correctly wired.CS, DC, and RES pins are properly connected and configured in the code.Flickering or Artifacts:
Incorrect Colors or Orientation:
setRotation() function to adjust the display orientation.Q: Can I use this display 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 display.
Q: What is the maximum SPI clock speed supported?
A: The ST7789V typically supports SPI clock speeds up to 15 MHz, but this may vary depending on your setup.
Q: How do I control the backlight brightness?
A: Connect the BLK pin to a PWM-capable pin on your microcontroller and use analogWrite() to adjust brightness.
Q: Can I use this display in outdoor environments?
A: The display is not sunlight-readable and is best suited for indoor or shaded environments.