Skip to content
Home > Components > Displays > ILI9341 2.8" TFT LCD

ILI9341 2.8" TFT LCD

A fast, bright 320x240 full-color TFT display featuring an SPI interface.

Component Preview

ILI9341 TFT LCDILI9341 TFT

This module provides a beautiful 2.8" LCD with an ILI9341 driver. Because it uses the SPI bus, it requires very few pins to draw complex, full-color graphics.

DisplaysSPIColor

Overview

The ILI9341 is extremely fast and well-supported by libraries like Adafruit_GFX and TFT_eSPI. Note that this specific component model does not include a resistive touch overlay.

Pin Reference

PinTypeDescription
VCCpowerPower supply (3.3V or 5V depending on board regulator).
GNDpowerCommon ground.
CSdigitalTFT Chip Select. Active LOW.
RESETdigitalHardware Reset. Connect to an Arduino pin or 3.3V.
DCdigitalData/Command. Tells the screen if the incoming bytes are data or commands.
MOSIdigitalSPI Data In.
SCKdigitalSPI Clock.
LEDpowerBacklight power. Usually connected to 3.3V.
MISOdigitalSPI Data Out. Needed to read from the display.

Configurable Attributes

This component has no standard configurable attributes.

Working Principle

The display expects a continuous stream of RGB pixel data over the SPI bus.

Wiring Diagram (Arduino Uno)

Wiring Diagram

Example Arduino Code

This code requires the Adafruit_ILI9341 and Adafruit_GFX libraries.

cpp
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>

#define TFT_CS 10
#define TFT_DC 9

Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);

void setup() {
  tft.begin();
  tft.setRotation(1);
  tft.fillScreen(ILI9341_BLACK);
  
  tft.setCursor(20, 100);
  tft.setTextColor(ILI9341_WHITE);
  tft.setTextSize(3);
  tft.println("OpenHW Studio");
  
  tft.setCursor(20, 140);
  tft.setTextSize(2);
  tft.println("TFT Ready");
  
  delay(2000);
  tft.fillScreen(ILI9341_BLACK);
}

void loop() {
  tft.setCursor(35, 140);
  tft.setTextSize(2);
  tft.setTextColor(ILI9341_WHITE, ILI9341_BLACK);
  tft.print("Time: ");
  tft.print(millis() / 1000);
  tft.print("s  ");
  delay(500);
}

Simulation Notes

  • The simulator updates the display directly from the emulated SPI traffic.

Released under the MIT License.