Overview

The ILI9341 is an a-Si TFT-LCD driver IC manufactured by ILITEK (ILI Technology). It drives 240x320 pixel (QVGA) resolution full-color displays with up to 262,144 colors (18-bit) or 65,536 colors (16-bit RGB565).

It is universally used on 2.2-inch, 2.4-inch, 2.8-inch, and 3.2-inch color display breakout modules and Arduino Uno/Mega display shields (often bundled with an XPT2046 resistive touch controller and SD card socket).

Quick reference

Module VCC3.3 V to 5.0 V DC (onboard LDO)
Chip VCI / VDDIO2.3 V to 3.3 V DC
Resolution240×320240 \times 320 pixels (QVGA)
Color Depth16-bit RGB565 (65,536 colors) or 18-bit RGB666 (262,144 colors)
GRAM Buffer240×320×18 bits240 \times 320 \times 18\text{ bits} (172,800 bytes172,800\text{ bytes} frame buffer)
Communication interfaces4-wire SPI (up to 10 MHz write clock), 8-bit / 16-bit parallel
Backlight Current~80 mA at 3.3V (4-LED backlight array)

Pinout

Standard 14-Pin Red SPI TFT Breakout Header (with Touch & SD Card)

PinNameTypeDescription
1VCCPowerSupply voltage (+3.3 V to +5.0 V DC)
2GNDPowerGround (0 V)
3CSDigital InputLCD SPI Chip Select (Active-LOW)
4RESETDigital InputLCD Active-LOW Reset line
5DC / RSDigital InputLCD Data/Command control (LOW = Command, HIGH = Data)
6SDI / MOSIDigital InputLCD SPI Master Output Slave Input
7SCKDigital InputLCD SPI Serial Clock input
8LED / BLPower / PWMBacklight Control (+3.3 V DC or PWM input)
9SDO / MISODigital OutputLCD SPI Master Input Slave Output
10T_CLKDigital InputTouch Controller SPI Clock
11T_CSDigital InputTouch Controller SPI Chip Select
12T_DINDigital InputTouch Controller SPI Data Input (MOSI)
13T_DODigital OutputTouch Controller SPI Data Output (MISO)
14T_IRQDigital OutputTouch Controller Interrupt Output (Active-LOW)

Specifications

ParameterSymbolMinTypMaxUnitConditions
Supply Voltage (Module)VCCV_{CC}3.35.05.5VDC
Supply Voltage (Chip VCI)VCIV_{CI}2.52.83.3VDC
Logic High InputVIHV_{IH}0.7VIO0.7 V_{IO}VIOV_{IO}VSPI control lines
Logic Low InputVILV_{IL}00.3VIO0.3 V_{IO}VSPI control lines
Driver Operating CurrentICCI_{CC}1520mADisplay active
Backlight CurrentILEDI_{LED}80100mAVLED=3.3 VV_{LED} = 3.3\text{ V}
SPI Write Clock CycletSCWCt_{SCWC}100nsUp to 10 MHz write clock

Key Command Table

Address HexCommand NameDescription
0x01SWRESETSoftware Reset command
0x11SLPOUTSleep Out (Exit sleep mode, enable DC-DC converter)
0x28 / 0x29DISPOFF / DISPONDisplay OFF / Display ON
0x2ACASETColumn Address Set (XstartX_{start} to XendX_{end}, 0 to 239)
0x2BPASETPage Address Set (YstartY_{start} to YendY_{end}, 0 to 319)
0x2CRAMWRMemory Write (Stream RGB565 16-bit pixel data)
0x36MADCTLMemory Access Control (Orientation: Portrait, Landscape, Flip)
0x3ACOLMODPixel Format Set (0x55 = 16-bit RGB565)

Wiring

ILI9341 Module PinMicrocontroller (Arduino / ESP32)
VCC5V (or 3.3V)
GNDGND
CSSPI SS (e.g. D10 on Uno / GPIO5 on ESP32)
RESETGPIO Pin (e.g. D8 on Uno / GPIO4 on ESP32)
DCGPIO Pin (e.g. D9 on Uno / GPIO2 on ESP32)
SDI / MOSISPI MOSI (D11 on Uno / GPIO23 on ESP32)
SCKSPI SCK (D13 on Uno / GPIO18 on ESP32)
LED3.3V (or PWM GPIO Pin)
Warning

3.3V Logic Level Warning: The ILI9341 chip inputs are strictly 3.3V TTL logic level. Connecting 5V SPI signals directly from an Arduino Uno to CS, RESET, DC, MOSI, and SCK will damage the controller. Use a CD4050 buffer or 1 kΩ/2 kΩ1\text{ k}\Omega / 2\text{ k}\Omega resistor dividers.

Common mistakes

  • Leaving Backlight (LED) pin disconnected: Disconnected LED backlight pin results in a completely black, unlit screen. Connect LED to 3.3V.
  • Slow software SPI / Bit-banging: Sending 240×320×2 bytes=153,600 bytes240 \times 320 \times 2\text{ bytes} = 153,600\text{ bytes} per full screen frame over slow software SPI results in noticeable screen tearing and low FPS. Use hardware SPI DMA peripherals (such as TFT_eSPI on ESP32).
  • Confusing LCD SPI and Touch SPI: The LCD display (ILI9341) and the touch controller (XPT2046) share the MOSI, MISO, and SCK lines but require separate Chip Select (CS and T_CS) pins.

Notes

  • Highly optimized libraries include TFT_eSPI (ESP32 / RP2040), Adafruit_ILI9341, and ESPHome ili9341 platform component.

Assets & downloads