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

How to Use ST7789V_WAVESHARE_LCD_320x240: Examples, Pinouts, and Specs

Image of ST7789V_WAVESHARE_LCD_320x240
Cirkit Designer LogoDesign with ST7789V_WAVESHARE_LCD_320x240 in Cirkit Designer

Introduction

The ST7789V_WAVESHARE_LCD_320x240 is a 320x240 pixel color LCD display module manufactured by Waveshare. It is based on the ST7789V driver IC, which is widely used in embedded systems for rendering high-quality graphics and text. This display module is compact, energy-efficient, and supports multiple communication interfaces, making it ideal for a variety of applications.

Explore Projects Built with ST7789V_WAVESHARE_LCD_320x240

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 ST7789V_WAVESHARE_LCD_320x240 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
ESP32-C6 and ST7735S Display: Wi-Fi Controlled TFT Display Module
Image of ESP32-C6sm-ST7735: A project utilizing ST7789V_WAVESHARE_LCD_320x240 in a practical application
This circuit features an ESP32-C6 microcontroller interfaced with a China ST7735S 160x128 TFT display. The ESP32-C6 controls the display via SPI communication, providing power, ground, and control signals to render graphics and text on the screen.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Powered 1.3 inch TFT Display Module for Visual Data Output
Image of ESP32+ST7789: A project utilizing ST7789V_WAVESHARE_LCD_320x240 in a practical application
This circuit connects an ESP32 microcontroller to a 1.3 inch TFT display module (ST7789). The ESP32 provides power and control signals to the display, enabling it to show graphical data.
Cirkit Designer LogoOpen Project in Cirkit Designer
STM32F103C8T6-Based Spectral Sensor with ST7735S Display and Pushbutton Control
Image of ColorSensor: A project utilizing ST7789V_WAVESHARE_LCD_320x240 in a practical application
This circuit features an STM32F103C8T6 microcontroller interfaced with a China ST7735S 160x128 display and two spectral sensors (Adafruit AS7262 and AS7261). It also includes two pushbuttons for user input, with the microcontroller managing the display and sensor data processing.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with ST7789V_WAVESHARE_LCD_320x240

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 ST7789V_WAVESHARE_LCD_320x240 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 ESP32-C6sm-ST7735: A project utilizing ST7789V_WAVESHARE_LCD_320x240 in a practical application
ESP32-C6 and ST7735S Display: Wi-Fi Controlled TFT Display Module
This circuit features an ESP32-C6 microcontroller interfaced with a China ST7735S 160x128 TFT display. The ESP32-C6 controls the display via SPI communication, providing power, ground, and control signals to render graphics and text on the screen.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ESP32+ST7789: A project utilizing ST7789V_WAVESHARE_LCD_320x240 in a practical application
ESP32-Powered 1.3 inch TFT Display Module for Visual Data Output
This circuit connects an ESP32 microcontroller to a 1.3 inch TFT display module (ST7789). The ESP32 provides power and control signals to the display, enabling it to show graphical data.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ColorSensor: A project utilizing ST7789V_WAVESHARE_LCD_320x240 in a practical application
STM32F103C8T6-Based Spectral Sensor with ST7735S Display and Pushbutton Control
This circuit features an STM32F103C8T6 microcontroller interfaced with a China ST7735S 160x128 display and two spectral sensors (Adafruit AS7262 and AS7261). It also includes two pushbuttons for user input, with the microcontroller managing the display and sensor data processing.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Portable devices and handheld systems
  • IoT dashboards and smart home displays
  • Industrial control panels
  • Educational and hobbyist projects
  • Wearable devices and smartwatches
  • Arduino, Raspberry Pi, and other microcontroller-based projects

Technical Specifications

Below are the key technical details of the ST7789V_WAVESHARE_LCD_320x240 module:

Parameter Specification
Display Resolution 320 x 240 pixels
Display Type TFT LCD
Driver IC ST7789V
Interface SPI (4-wire)
Operating Voltage 3.3V
Backlight Voltage 3.0V - 3.3V
Power Consumption Low power consumption
Viewing Angle Wide viewing angle
Display Colors 65K (16-bit RGB)
Module Dimensions 52mm x 40mm
Active Area 48.6mm x 36.4mm
Operating Temperature -20°C to 70°C

Pin Configuration and Descriptions

The module uses a 7-pin interface for communication and control. Below is the pinout:

Pin Name Description
1 GND Ground connection
2 VCC Power supply (3.3V)
3 SCL Serial Clock Line (SPI clock input)
4 SDA Serial Data Line (SPI data input)
5 RES Reset pin (active low)
6 DC Data/Command control pin (High for data, Low for command)
7 BL Backlight control (connect to 3.3V for always-on or use PWM for brightness control)

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 and SDA pins to the SPI clock and data lines of your microcontroller, respectively.
  3. Control Pins:
    • Connect the RES pin to a GPIO pin on your microcontroller for resetting the display.
    • Connect the DC pin to another GPIO pin to toggle between data and command modes.
  4. Backlight: Connect the BL pin to 3.3V for constant backlight or to a PWM-capable GPIO pin for brightness control.
  5. Initialization: Use the appropriate initialization sequence for the ST7789V driver IC to configure the display.

Important Considerations and Best Practices

  • Ensure the power supply voltage does not exceed 3.3V to avoid damaging the module.
  • Use level shifters if your microcontroller operates at 5V logic levels.
  • Keep SPI clock frequency within the module's supported range for reliable communication.
  • Use decoupling capacitors near the power pins to reduce noise and improve stability.
  • Handle the module carefully to avoid damaging the fragile LCD screen.

Example Code for Arduino UNO

Below is an example of how to interface the ST7789V_WAVESHARE_LCD_320x240 with an Arduino UNO using the Adafruit GFX and Adafruit ST7789 libraries:

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

// Define pin connections
#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("ST7789V LCD Test");

  // Initialize the display
  tft.init(240, 320);  // Initialize with width=240, height=320
  tft.setRotation(1);  // Set display orientation (1 = landscape)

  // Fill the screen with a color
  tft.fillScreen(ST77XX_BLACK);

  // Draw some text
  tft.setTextColor(ST77XX_WHITE);
  tft.setTextSize(2);
  tft.setCursor(10, 10);
  tft.println("Hello, ST7789V!");
}

void loop() {
  // Add your main code here
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. No Display Output:

    • Verify all connections, especially power and SPI lines.
    • Ensure the RES pin is properly connected and the reset sequence is executed.
    • Check the initialization code for compatibility with the ST7789V driver.
  2. Flickering or Unstable Display:

    • Reduce the SPI clock speed to improve communication stability.
    • Use shorter wires to minimize signal interference.
  3. Backlight Not Turning On:

    • Ensure the BL pin is connected to 3.3V or a PWM signal.
    • Check for loose connections or damaged backlight circuitry.
  4. Incorrect Colors or Graphics:

    • Verify the color format (e.g., 16-bit RGB) used in the code matches the display's configuration.
    • Ensure the DC pin is toggled correctly between data and command modes.

FAQs

Q: Can I use this module 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 module.

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 specific setup.

Q: Can I control the backlight brightness?
A: Yes, you can use a PWM signal on the BL pin to adjust the brightness.

Q: Is this module compatible with Raspberry Pi?
A: Yes, the module can be used with Raspberry Pi via SPI, and libraries like luma.lcd or ST7789-python can be used for control.