TFT LCD
A small thin-film-transistor (TFT) LCD module with an integrated controller (commonly ILI9341, ST7789, GC9A01, or ILI9488). The controller drives the active matrix and the LED backlight; the host MCU writes RGB565 pixel data over SPI or a parallel bus, and the panel renders full colour at moderate frame rates.
Thin-film transistors control pixel voltages in an active-matrix LCD, and the liquid crystals modulate light from the backlight. A controller manages panel timing; some modules include display memory that the host updates over a serial or parallel interface. A 240 × 320 image stored in RGB565 uses 240 × 320 × 2 = 153,600 bytes. Refresh timing and internal memory format depend on the controller.
In plain terms
A miniature laptop screen with its own controller chip; feed it RGB pixels over a fast bus and it lights every dot through a backlight.
Why designers use it
- Full-colour graphics on hobby and prosumer products (3D printers, RC transmitters, lab gear).
- Touch UIs on small embedded devices (resistive or capacitive touch panel laminated on top).
- Photo and video preview on cameras and IoT panels.
Best for
- Embedded UI
- Touch panels
- Graphical menus
Key specifications
- Resolution: 128 × 128 — 480 × 320
- Colour depth: 16-bit (RGB565) typ.
- Interface: SPI / 8-bit / 16-bit parallel
- Voltage: 3.3 V
- Backlight: White LED, ~15–60 mA
When not to use it
- Where deep blacks and infinite contrast matter — OLED beats LCD by orders of magnitude.
- In always-on outdoor sunlight without a transflective layer — TFTs wash out.
- Where wide viewing angle matters and only a TN panel fits the budget — go IPS.
Common mistakes
- Skipping the backlight thermal path — the LED bar runs hot and dims over months.
- Mismatching the controller's color depth (RGB565 vs RGB888) and getting muddy gradients.
- Forgetting that the display's clock and data lines need controlled-impedance routing above ~30 MHz pixel clocks.
Where you will find it
- Most consumer 3D printers (e.g. Prusa, Bambu Lab) use a 4-inch ILI9488-class TFT with capacitive touch as the primary user interface — SPI from the printer controller drives the panel and a touch IC reports finger position over I²C.
- Open-source radio gear (uSDX, FT8 transceivers) uses a 2.4-inch ILI9341 to render waterfall plots and band-scope visualisations from an STM32.
- An ESP32-S3 dev board with a 1.28-inch GC9A01 round LCD shows watch-face demos that put a colour TFT on every Maker bench for under $10.
A short history
Active-matrix TFT-LCD panels were first commercialised in the late 1980s by Sharp and Toshiba for laptop screens, but the small-format embedded TFT (1–4 inch with integrated controller) only became cheap enough for hobby use after Chinese panel makers (BOE, Tianma) and controller suppliers (Ilitek, Sitronix, Galaxycore) flooded the supply chain in the 2010s. The Adafruit ILI9341 driver library (2013) and TFT_eSPI (2017) made it possible to drop a full-colour TFT into any STM32 or ESP32 project with a single import.
Good to know
- One 240 × 320 RGB565 frame uses 153,600 bytes, or 150 KiB. Two full buffers need 307,200 bytes before other software memory is counted.
- A microcontroller's advertised flash size is not necessarily usable RAM for display buffers.