2.4 Inch Touch TFT LCD Display Module 320x240 ST7789
Image Gallery








Overview
The DIYables 2.4 Inch Touch TFT LCD Display Module combines a vivid 320×240 color screen with resistive touch functionality driven by the ST7789 controller over SPI. It features an onboard SD card slot on the back panel for storing images, fonts, and data, and includes a touch stylus in the package. The module is directly compatible with Arduino, ESP32, and ESP8266 platforms.
Because the display logic operates at 3.3V, boards running at 5V (Uno, Nano, Mega, Uno R4) require a level converter on the MCU-driven signal lines (MOSI, SCK, CS, DC, RST). The MISO return line does not need conversion.
Quick Overview
| Property | Value |
|---|---|
| Display Size | 2.4 inches diagonal |
| Resolution | 320 × 240 pixels |
| Display Type | TFT LCD |
| Driver IC | ST7789 |
| Interface | SPI |
| Touch | Resistive (included stylus) |
| Color Depth | 16-bit RGB (65K colors) |
| SD Card Slot | Yes (onboard) |
| Operating Voltage | 3.3V / 5V DC |
Key Features
Full RGB Color Output
The 65K-color 16-bit RGB panel renders graphics, images, and data visualizations with vivid clarity.
SPI Interface
4-wire SPI communication keeps wiring minimal and performance stable across supported platforms.
Resistive Touch with Stylus
Onboard resistive touch panel with included stylus enables interactive menu and input applications.
Onboard SD Card Slot
The rear SD card socket allows storage and retrieval of images, bitmap fonts, and logged data directly from the module.
Technical Specifications
| Parameter | Value |
|---|---|
| Display Size | 2.4 inch diagonal |
| Resolution | 320 × 240 pixels |
| Driver IC | ST7789 |
| Interface | 4-wire SPI |
| Touch Technology | Resistive |
| Color Depth | 65K colors (16-bit) |
| Operating Voltage | 3.3V – 5V DC |
| Logic Level | 3.3V (level shifter needed for 5V boards) |
| SD Card | Yes |
| Backlight | White LED |
Pinout
| Pin | Description |
|---|---|
| VCC | Power supply (3.3V or 5V) |
| GND | Ground |
| CS | SPI chip select |
| RESET | Display reset |
| DC | Data / Command select |
| MOSI | SPI data (MCU → display) |
| SCK | SPI clock |
| LED | Backlight control |
| MISO | SPI data (display → MCU, SD card) |
| T_CS | Touch chip select |
| T_IRQ | Touch interrupt |
Power
The module accepts 3.3V or 5V on VCC. The ST7789 driver and touch controller both use 3.3V logic. On 5V boards, use a bidirectional level shifter on MOSI, SCK, CS, DC, and RST. MISO does not require level shifting.
Getting Started
Compatible Boards
Arduino Uno R3, Nano, Mega 2560, Uno R4 WiFi/Minima, Giga R1 WiFi, MKR WiFi 1010, Nano 33 IoT, Nano ESP32, ESP32 DevKit/WROOM, ESP8266 NodeMCU/D1 Mini.
Applications
GUI menus, data dashboards, image viewers, touch control panels, interactive projects.
Libraries
Applications
- Color data dashboards
- Image viewers with SD card storage
- Touch-controlled menus and interfaces
- Weather station displays
- Gaming and animation projects
- IoT device HMI panels
Equivalent Boards
| Module | Key Difference |
|---|---|
| DIYables 2.4" TFT SPI ST7789 (No Touch) | Same driver and resolution, no touch, no SD card |
| 3.5" TFT 320x480 Touch Shield | Larger screen, shield form factor, 8-bit parallel |
| 1.28" Round TFT GC9A01 | Circular IPS panel, SPI, no touch |
| OLED 128x64 | Monochrome, self-emitting, much smaller, lower power |
Beginner Tutorials
Notes
- The MISO line does not require a level shifter even on 5V boards.
- Calibrate the resistive touch before use for accurate coordinate mapping.
- The SD card shares the SPI bus; use separate CS pins for the display and SD card.
- Logic operates at 3.3V — connecting 5V signals directly may damage the module.
Community
Revision History
| Version | Date | Notes |
|---|---|---|
| v1.0 | 2026-06 | Initial entry |
