2.4 inch LCD Display TFT Touch Screen Shield 240×320 18-bit SPFD5408 Display Controller Arduino UNO R3/Mega2560
2.4″ TFT LCD Touch Screen Shield
240×320 Resolution, 18-bit Color, SPFD5408 Controller – Compatible with Arduino UNO R3/Mega2560
Introduction
The 2.4-inch TFT LCD Shield features a 240×320 resolution resistive touch screen with 18-bit color (262K colors) and uses the SPFD5408 display controller. It plugs directly into Arduino UNO/Mega boards, providing a simple way to add graphical interfaces to projects.

Key Features
High Resolution
240×320 pixel resolution
Rich Colors
18-bit color (262,144 colors)
Touch Input
Resistive touch screen
Plug-and-Play
Direct UNO/Mega compatibility
Technical Specifications
Display Type | TFT LCD with Resistive Touch |
---|---|
Resolution | 240×320 pixels |
Controller | SPFD5408 (ILI9341 compatible) |
Color Depth | 18-bit (262K colors) |
Viewing Angle | 140° |
Interface | 8-bit parallel + SPI (touch) |
Operating Voltage | 3.3V-5V |
Dimensions | 55×75mm (UNO shield size) |
Pin Configuration

Arduino Pin | TFT Function | Touch Function |
---|---|---|
D2 | LCD D7 | – |
D3 | LCD D6 | – |
D4 | LCD D5 | – |
D5 | LCD D4 | – |
D6 | LCD D3 | – |
D7 | LCD D2 | – |
D8 | LCD D1 | – |
D9 | LCD D0 | – |
D10 | LCD CS | – |
D11 | LCD MOSI | T_CLK |
D12 | LCD MISO | T_OUT |
D13 | LCD SCK | T_CS |
A0 | LCD RS/DC | – |
A1 | LCD WR | – |
A2 | LCD RD | – |
A3 | LCD RESET | – |
Note: Some shields may have slightly different pin mappings – check your specific model
Library Installation
- Open Arduino IDE
- Go to Sketch > Include Library > Manage Libraries
- Search for “Adafruit ILI9341” and install
- Search for “Adafruit GFX” and install
- For touch: search “Adafruit TouchScreen“
Basic Display Test
#include <Adafruit_GFX.h> #include <Adafruit_ILI9341.h> #define TFT_CS 10 #define TFT_DC A0 #define TFT_RST A3 Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST); void setup() { tft.begin(); tft.fillScreen(ILI9341_BLACK); tft.setRotation(3); // Adjust for your orientation tft.setTextColor(ILI9341_WHITE); tft.setTextSize(2); tft.println("Hello World!"); tft.drawRect(50, 50, 100, 50, ILI9341_RED); tft.fillCircle(150, 120, 30, ILI9341_BLUE); } void loop() {}
Touch Screen Example
#include <TouchScreen.h> #define YP A2 // Must be an analog pin #define XM A1 // Must be an analog pin #define YM 8 // Can be a digital pin #define XP 9 // Can be a digital pin TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); void setup() { Serial.begin(9600); } void loop() { TSPoint p = ts.getPoint(); if (p.z > ts.pressureThreshhold) { Serial.print("X = "); Serial.print(p.x); Serial.print("\tY = "); Serial.print(p.y); Serial.print("\tPressure = "); Serial.println(p.z); } delay(100); }
Display Optimization Tips
Reduce Memory Usage
tft.setAddrWindow(x, y, w, h); tft.pushColor(color, count);
Use partial screen updates instead of full redraws
Faster Drawing
tft.startWrite(); // Multiple draw operations tft.endWrite();
Batch draw commands between start/endWrite
Custom Fonts
#include <Fonts/FreeSansBold12pt7b.h> tft.setFont(&FreeSansBold12pt7b);
Use built-in fonts or create your own
Troubleshooting
Blank/White Screen
- Verify all pins are properly connected
- Check TFT_RST pin is properly initialized
- Try different rotation values (0-3)
Touch Not Working
- Confirm touch library is installed
- Check pin mappings match your shield
- Calibrate touch coordinates
Slow Performance
- Use optimized drawing methods
- Reduce color depth if possible
- Consider using Mega2560 for more RAM
Related Posts
IC 74173 – 4-Bit D-Type Register with 3-State Outputs
IC 74173 - 4-Bit D-Type Register with 3-State Outputs
TTL Quad D Flip-Flop with Asynchronous Clear and Output Enable
...
DIY Metal Detector Kit
DIY Metal Detector Kit
DC 3V-5V Non-Contact Sensor Module with 60mm Detection Range
Introduction
The DIY Metal Detec...
CNC V3 Shield with 4 A4988 Drivers
CNC V3 Shield with 4 A4988 Drivers
Complete Arduino-compatible CNC controller for 3D printers and milling machines
...
CN3791 12V MPPT Solar Charger Module
CN3791 12V MPPT Solar Charger Module
Maximum Power Point Tracking Solar Charge Controller for Lead-Acid/Lithium Batteries
...
CJMCU-TRRS 3.5mm Jack AV Stereo Module
CJMCU-TRRS 3.5mm Jack AV Stereo Module
Compact breakout board for audio/video signal interfacing with TRRS connectors
...
TTP223 Capacitive Touch Sensor Module (Red)
TTP223 Capacitive Touch Sensor Module (Red)
Single-Key Touch Detection with Digital Output for Arduino and DIY Projects
...
Capacitive Soil Moisture Sensor
Capacitive Soil Moisture Sensor
Corrosion-Resistant Humidity Detection for Plants and Agricultural Applications
Intro...
VHM-314 Bluetooth Audio Receiver Board Module
VHM-314 Bluetooth Audio Receiver Board Module
High-fidelity stereo audio receiver with Bluetooth 5.0 and 3.5mm audio output
...
BD243 DIY Mini Tesla Coil Prototyping Kit
BD243 DIY Mini Tesla Coil Prototyping Kit
High-Voltage Wireless Power Demonstration - Build Your Own Spark Gap Tesla Coil
...
BF120-3AA Precision Strain Gauges (120Ω)
BF120-3AA Precision Strain Gauges (120Ω)
High-precision foil strain gauges for load cell applications with 120Ω resistance
...
Recent Comments