ILI9341 TFT 2.8-inch

A 2.8-inch color TFT display driven by the ILI9341 controller over 4-wire SPI, with 320x240 resolution, an onboard microSD slot, and an optional resistive touch panel.

ILI9341 TFT 2.8-inch: Color SPI display

What is the ILI9341 TFT 2.8-inch?

The ILI9341 TFT 2.8-inch (the LCDWiki MSP2807 breakout) is a 2.8-inch color TFT LCD built around the ILI9341 display controller. It has a native resolution of 240x320 pixels and renders 65K colors in 16-bit RGB565 mode, with the controller also supporting 262K color. Communication is over a 4-wire SPI bus, so it can drive a full-color graphical interface using only a handful of I/O lines.

The module runs from a single 5V supply (VCC accepts 3.3-5V) and draws roughly 0.31W. It carries an onboard 3.3V regulator and logic level shifting, so both the supply and the SPI signals may be 5V, which lets it connect directly to an Arduino Uno or Mega without external level converters. Alongside the display lines (CS, RESET, DC/RS, SDI/MOSI, SCK, and an LED backlight enable), the board adds a microSD card slot for storing images or fonts.

The MSP2807 variant includes a resistive touch panel driven by a separate touch controller on its own SPI bus, broken out as T_CLK, T_CS, T_DIN, T_DO, and T_IRQ. A non-touch sibling ships as the MSP2806. The active display area measures 43.2 x 57.6 mm on a 50 x 86 mm PCB, with a viewing angle greater than 60 degrees and rated operation from -20 to 70 degrees C.

ILI9341 TFT 2.8-inch pinout

PinFunctionType
VCC VCC (3.3-5V)PowerPower in
GND GNDPowerPower in
CS CSSPI CSDigital input
RESET RESETDigital active-low resetDigital input
DC DC / RSSPI data/command selectDigital input
MOSI SDI / MOSISPI MOSIDigital input
SCK SCKSPI SCKDigital input
LED LED (backlight)Digital backlight enable, tie high if no PWM dimmingDigital input
MISO SDO / MISOSPI MISODigital output
T_CLK T_CLKSPI touch SCKDigital input
T_CS T_CSSPI touch CSDigital input
T_DIN T_DINSPI touch MOSIDigital input
T_DO T_DOSPI touch MISODigital output
T_IRQ T_IRQDigital touch interrupt, active-low on touchDigital output

Specifications

Operating voltage
5 V (max 5.5 V)
Interface
SPI
Dimensions
50 × 14.61 × 86 mm

Verified from the Tinkered component library · LCDWiki / generic ILI9341 breakout (MSP2807).

Circuit requirements

  • The interface is 4-wire SPI only; there is no I2C or parallel option on this breakout. Wire CS, SCK, and SDI/MOSI to the host SPI bus, plus DC/RS and RESET to spare digital pins.
  • Power it from 5V: the onboard 3.3V regulator and level shifter make VCC and all logic inputs tolerant of 3.3-5V, so no external level converter is required for a 5V Arduino.
  • DC/RS selects command versus data (low = command, high = data) and RESET is active-low. Most ILI9341 graphics libraries expect explicit CS, DC, and RST pin assignments.
  • The LED pin is an active-high backlight enable. Tie it to 3.3V or 5V for a permanently lit screen, or drive it from a PWM pin for brightness dimming; if it floats, the panel stays dark.
  • SDO/MISO is only needed when reading back from the controller and can be left unconnected for write-only display use.
  • The resistive touch panel uses a dedicated controller with its own chip select (T_CS). It can share the display MOSI/MISO/SCK lines but needs its own CS, and T_IRQ pulses low when the screen is touched.
  • On an Arduino Uno the vendor demo uses hardware SPI (SCK on D13, MOSI on D11, MISO on D12) with CS, DC/RS, and RESET on other pins; use the hardware SPI pins for usable frame rates.

Board compatibility

The ILI9341 TFT 2.8-inch connects to any of the microcontrollers supported in Tinkered. Mind the 5 V logic level on 3.3 V boards.

Common ILI9341 TFT 2.8-inch mistakes

Assuming it speaks I2C

This 2.8-inch ILI9341 board is SPI only, so there is no I2C address to scan. Wire it to the SPI pins (SCK, MOSI) plus CS, DC/RS, and RESET, and select an ILI9341 SPI driver in your graphics library.

Leaving the LED backlight pin unconnected

The LED pin is an active-high backlight enable. If it floats, the panel stays dark even when the controller is initialized correctly, which is easily mistaken for a dead display. Tie it high (3.3V or 5V) or drive it from a PWM pin for dimming.

Confusing or dropping the DC/RS pin

DC/RS (data/command select) is a required control line, separate from CS and RESET. Swapping it with RESET or leaving it off yields a blank or garbled screen. Make sure your library's DC and RST assignments match the actual wiring.

Treating every 2.8-inch ILI9341 board as 5V-safe

The MSP2807 red PCB includes a 3.3V regulator and level shifter, so it accepts 5V power and logic. Many cheaper bare 2.4-inch and 2.8-inch ILI9341 modules do not and can be damaged by 5V signals, so confirm your board matches this one before driving it from a 5V Arduino.

Ignoring the separate touch chip select

The resistive touch panel is a second SPI device with its own T_CS line. Sharing MOSI, MISO, and SCK is fine, but forgetting T_CS (or reusing the display's CS) makes touch reads collide with the display. The touch layer also needs calibration before coordinates line up with the screen.

ILI9341 TFT 2.8-inch datasheet

Official ILI9341 TFT 2.8-inch datasheetLCDWiki / generic ILI9341 breakout (MSP2807)

Popular ILI9341 TFT 2.8-inch projects

Touchscreen control panel (HMI)

Use the resistive touch layer to build on-screen buttons, sliders, and menus that control relays, motors, or device settings without physical switches.

Weather station or sensor dashboard

Show color readouts and live graphs of temperature, humidity, and other sensor data on a compact, always-on display.

Handheld retro game console

The 320x240 resolution is a classic size for simple games and emulators, with fast enough SPI redraws for sprite-based UIs.

Digital photo frame or image viewer

Load and display bitmap images straight from the onboard microSD card slot, cycling through a gallery.

Data logger and mini oscilloscope display

Plot real-time waveforms or logged values on screen, using the SD slot to store captures for later review.

Build with the ILI9341 TFT 2.8-inch.

Drop the ILI9341 TFT 2.8-inch into a circuit, write firmware, and simulate it in your browser, then deploy to real hardware. All in one editable Tinkered project.