STM32 and ILI9488, ILI9341 TFT LCD touch displays

Published at : 23 Dec 2025

This functions library, for STM32 under HAL, handles SPI touch displays driven by ILI9341 (320x240 displays) and ILI9488 (480x320), having XPT2046 touch sensor driver.
Library provides fast data transfer to display and touch sensor poll. That will let an efficient integration to TouchGFX GUI framework.


00:00 intro: summary
00:36 intro: ILI9341 and ILI9488 display properties
02:26 ILI9341 and ILI9488 command set
03:45 Color format available and frame size on ILI9341, ILI9488 and ST7735
06:57 performance test of the three (four) displays over three different STM32 uC
08:03 ILI9488 v1.0 board vs. ILI9488 v2.0
08:32 detecting the highest SPI data transfer available on an STM32G431
09:37 performance over different Cortex M4 STM32s
10:26 XPT2046 and TSC2046 properties
12:20 test function #1: reading values returned by XPT2046
13:28 test function #2: calibrating values read
14:20 test function #3: reading, converting and drawing back to the display
14:57 GPIO interrupt callback on G0
16:07 library availability, details and "HowTos" on GitHub


Documentation:
This software GitHub page: https://github.com/maudeve-it/ILI9XXX-XPT2046-STM32

My playlist about SPI TFT-LCD displays handling: https://www.youtube.com/playlist?list=PL6Fwy7aR3zSlKictoAxk_uFD6EZGeic_f

ILI9341 datasheet: https://cdn-shop.adafruit.com/datasheets/ILI9341.pdf
ILI9488 datasheet: http://www.lcdwiki.com/res/MSP3520/ILI9488%20Data%20Sheet.pdf
A fast SPI display driver for ST7735: https://youtu.be/oWx1-WmTwag
TSC2046 datasheet: https://www.ti.com/lit/gpn/tsc2046
Touch screen calibration: https://www.ti.com/lit/pdf/slyt277

and finally:
Steve Jobs about stylus with touch displays: https://youtu.be/MnrJzXM7a6o?t=394