// the find
Bodmer/TFT_eSPI
Arduino and PlatformIO IDE compatible TFT library optimised for the Raspberry Pi Pico (RP2040), STM32, ESP8266 and ESP32 that supports different driver chips
TFT_eSPI is a hardware-optimized TFT display library for ESP32, ESP8266, RP2040, and STM32 microcontrollers. It extends Adafruit GFX with processor-specific SPI and parallel bus drivers, DMA support, a sprite/framebuffer system, and anti-aliased font rendering. If you're driving a color TFT from an ESP32 or Pico, this is the de facto standard library.
DMA support on ESP32 and RP2040 is real and measurably faster — the RP2040 PIO implementation offloads the SPI state machine entirely from the CPU, which shows up on oscilloscope and in frame times. The sprite system is well-designed: you can composite off-screen and push to the display atomically, which eliminates most flicker without needing a full framebuffer. Anti-aliased arc and circle drawing uses a fixed-point sqrt optimized for processors without FPUs — that's the kind of hardware-aware detail that separates libraries written by people who actually measured things. The 200+ User_Setup files covering specific boards (TTGO T-Display, LilyGo variants, Seeed XIAO) mean most popular hobbyist hardware just works without guessing pin assignments.
Configuration is done by editing a header file inside the library folder, which gets clobbered on every library update — the workaround (external setup files with a relative include path) is documented but fragile and the kind of thing that catches people who upgrade without reading. Anti-aliased fonts require pre-generating .vlw files in the Processing IDE, which is a clunky external toolchain step that trips up new users; there's no runtime TTF loading. DMA support has uneven coverage: it works on ESP32 SPI, RP2040 everything, and STM32 SPI, but parallel interface DMA is RP2040-only, and several ILI9481/9486/9488 variants explicitly don't support it even over SPI. The library is essentially a single maintainer project; the issue tracker is active but the bus factor is 1.