ILI9341 vs ST7789 vs ILI9488: SPI TFT Driver ICs Compared

Quick answer: ILI9341, ST7789 and ILI9488 are TFT driver ICs with built-in frame memory, so a microcontroller can draw on them over SPI without its own display controller. ILI9341 and ST7789 both address up to 240 × 320 pixels; ST7789 is also the usual choice for small square and round 240 × 240 panels. ILI9488 drives 320 × 480 panels, but over 4-wire SPI it accepts 18-bit pixels only, so a full screen is three times larger than a 240 × 320 screen in 16-bit color.

The three share the standard drawing commands, so drawing code is similar, but their power and gamma setup differs. A module is not interchangeable just because the driver name matches; the initialization sequence must match the actual panel.

S350MLQZ 3.5-inch 320x240 TFT LCD module with SPI + RGB interface (SuccessLCD catalogue photo)
Catalogue example: S350MLQZ, a 3.5-inch 320×240 TFT LCD with SPI + RGB interface. Photo: SuccessLCD.

Side-By-Side Comparison

ILI9341-typeST7789-typeILI9488-type
MakerIlitekSitronixIlitek
Maximum resolution240 × 320240 × 320320 × 480
Common panels2.2- to 3.2-inch 240 × 3201.3- to 2-inch 240 × 240, 240 × 280, 170 × 320 and 135 × 240; 2- to 2.8-inch 240 × 3203.5-inch 320 × 480
Pixel formats over 4-wire SPI16-bit RGB565 or 18-bit RGB66612-, 16- or 18-bit18-bit (3 bytes per pixel) or 3-bit; no 16-bit
Other host interfaces8- to 18-bit parallel, RGB8- to 18-bit parallel, RGB, 2-data-lane SPIParallel MCU, RGB
Full screen over SPI153,600 bytes153,600 bytes at 240 × 320; 115,200 at 240 × 240460,800 bytes
Full screen at a 40 MHz SPI clock (data only)about 31 msabout 31 ms; about 23 ms at 240 × 240about 92 ms

The 40 MHz figure is for comparison only. The ILI9341 datasheet specifies a minimum serial write cycle of 100 ns, which is 10 MHz; at that clock a full ILI9341 screen takes about 123 ms. Many designs run faster than the datasheet figure, which should be validated on the actual module, cable and temperature range. Check the serial timing in the datasheet of the exact variant, such as ST7789V, ST7789VW or ST7789V3.

Full-screen SPI transfer time for ILI9341, ST7789 and ILI9488 panelsBar chart: 240 by 240 ST7789 panel at 40 MHz about 23 ms; 240 by 320 ILI9341 or ST7789 at 40 MHz about 31 ms; 320 by 480 ILI9488 with 18-bit pixels at 40 MHz about 92 ms; 240 by 320 ILI9341 at the 10 MHz datasheet clock about 123 ms.Full-screen transfer time over SPI (pixel data only)0 ms20 ms40 ms60 ms80 ms100 ms120 msST7789-type 240 × 240, 16-bit, 40 MHz23 msILI9341 / ST7789 240 × 320, 16-bit, 40 MHz31 msILI9488-type 320 × 480, 18-bit, 40 MHz92 msILI9341 240 × 320, 16-bit, 10 MHz (datasheet)123 msCalculated from bytes per frame and clock; real transfers add command and gap overhead.
Figure: full-screen transfer time for common SPI TFT panels, calculated from frame size and SPI clock.

What Limits Refresh Speed

  • Bytes per pixel: 16-bit color sends 2 bytes per pixel; ILI9488 over SPI sends 3.
  • SPI clock and wiring: long jumper wires and connectors limit the clock long before the controller does.
  • Partial updates: set a window with the column and row address commands and send only the changed area. A 60 × 30 pixel value field is 3,600 bytes in 16-bit color.
  • DMA: let the microcontroller’s DMA feed the SPI so the processor can prepare the next area.
  • Tearing: the controllers provide a tearing-effect (TE) output; starting a full-screen write on TE avoids visible tearing.

When full-screen animation is needed, an 8- or 16-bit parallel bus, or a panel driven over RGB, is faster than SPI. The trade-offs are explained in I2C vs SPI vs UART vs parallel LCD interfaces.

Shared Commands And Initialization Differences

All three use the standard display command set for drawing:

CommandHexUse
Software reset0x01Resets the controller registers
Sleep out0x11Wakes the controller; wait before the next command
Display inversion off / on0x20 / 0x21Many IPS panels need inversion on for correct colors
Display on0x29Turns the panel output on
Column / row address set0x2A / 0x2BDefines the drawing window
Memory write0x2CStarts pixel data for the window
Memory access control (MADCTL)0x36Rotation, mirroring and RGB or BGR order
Pixel format (COLMOD)0x3A0x55 for 16-bit, 0x66 for 18-bit

The power, VCOM, gamma and panel timing registers are specific to each controller and each panel. That part of the initialization sequence should come from the module supplier, not from a library written for a different panel.

Common Problems When Bringing Up A Small TFT

SymptomLikely causeFix
Red and blue swappedRGB/BGR bit in MADCTLToggle the BGR bit
Colors look like a negativeInversion setting does not suit the panelSwitch between 0x20 and 0x21
Image shifted, or a noisy strip at one edgePanel smaller than the frame memory, such as 240 × 240 on a 240 × 320 controllerAdd the column or row offset for the chosen rotation
Wrong orientation or mirroredMADCTL rotation bitsSet rotation and mirroring together, then adjust offsets
ILI9488 shows wrong colors over SPISending 16-bit pixelsSet 18-bit format and send 3 bytes per pixel
White screen with backlight onNo reset or incomplete initialization, wrong interface mode pinsCheck reset timing, IM pins and the init sequence; see TFT white screen after power-on

Which Driver For Which Product

  • Wearables, round dials and small status screens: ST7789-type panels at 240 × 240 or similar. See round TFT LCD displays.
  • 2.4- to 3.2-inch menus with SPI: ILI9341-type or ST7789-type 240 × 320 panels; use an 8-bit parallel version if the screen changes a lot.
  • 3.5-inch 320 × 480: ILI9488-type over SPI works for mostly static screens; for animation, use parallel or RGB, or consider a 320 × 240 panel.
  • Long production life: the driver IC can change between panel revisions. Ask for change notification and keep the initialization sequence under version control; see the discontinued LCD replacement guide.

Small TFT References In The SuccessLCD Catalogue

ReferenceSize and resolutionPublished interface
S130MH2ZG-031.3-inch round, 240 × 240SPI / RGB / MCU
S177MEHS-041.77-inch portrait, 128 × 160SPI
S240MCQS-18P2.4-inch, 240 × 320, resistive touch8-bit MCU
S350MLQZ3.5-inch, 320 × 240SPI + RGB

The driver IC and initialization code for each reference are confirmed from its module specification. On modules listed as “SPI + RGB”, SPI usually configures the driver and RGB carries the pixel data; check the specification. For more sizes, see the small TFT LCD display comparison and LCD controller and driver ICs.

ILI9341 vs ST7789 vs ILI9488 FAQs

What is the difference between ILI9341 and ST7789?

Both are TFT driver ICs with built-in frame memory for up to 240 × 320 pixels, with SPI, parallel and RGB interfaces. ILI9341 is typical of 2.2- to 3.2-inch 240 × 320 panels; ST7789 is also common on small 240 × 240, 240 × 280 and round panels. Their power and gamma setup commands differ.

Can I use ILI9341 code for an ST7789 display?

The drawing commands are the same standard commands, so drawing code carries over, but the initialization sequence, inversion setting and memory offsets must match the ST7789 panel. Use the module supplier’s initialization code.

Why is my ILI9488 display slow over SPI?

Over 4-wire SPI the ILI9488 accepts 18-bit pixels only, sent as 3 bytes, so a 320 × 480 screen is 460,800 bytes, about 92 ms at a 40 MHz clock. Update only changed areas, or use a parallel or RGB interface.

What SPI clock can an ILI9341 run at?

The datasheet specifies a 100 ns minimum write cycle, which is 10 MHz. Many designs run faster for writes; validate any higher clock on the actual module, cable and temperature range. Reads are slower.

Why are the colors on my TFT inverted or swapped?

Inverted colors usually mean the display inversion setting (0x20 or 0x21) does not suit the panel; swapped red and blue mean the RGB/BGR bit in the memory access control register is wrong.

Choosing a small TFT for an SPI host? Send the size, resolution, host processor, interface, update rate and viewing needs. Send your requirements for an engineering review, or browse TFT LCD modules. For a different outline or FPC, see custom TFT display engineering.

Scroll to Top
Get a QuoteWhatsApp