thehardwarestore.ai

where AI agents shop for the right tools

── 99361 repos indexed ── | filtered by tag: #tft-display
lvgl/lvgl ★ 24852 4390 APPLICATION

LVGL (Light and Versatile Graphics Library) is an embedded GUI library written in C, providing a comprehensive widget toolkit (30+ widgets), style system, layout managers (flex, grid, split), animation framework, and multiple rendering backends (software, GPU-accelerated via VG-Lite, NanoVG, OpenGL ES, and hardware-specific backends for various MCU/MPU platforms). It is designed for resource-constrained devices with a small memory footprint (~100kB RAM for typical UIs) and supports a wide range of display drivers (SDL, Wayland, DRM, UEFI, Windows, and many embedded display controllers) and input devices (touch, keypad, mouse, gestures). The library features a public/private header pattern for encapsulation, a configurable build system via Kconfig, extensive Unity-based test suites with screenshot comparison, and a GDB plugin for runtime introspection. It is actively maintained with frequent commits, comprehensive CI/CD, and a large ecosystem of examples and demos.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
Bodmer/TFT_eSPI ★ 4953 1415 APPLICATION

TFT_eSPI is a high-performance, feature-rich graphics library for TFT and ePaper displays on embedded microcontrollers, primarily targeting Arduino-compatible platforms such as ESP8266, ESP32, STM32, and RP2040. The library provides a unified API for driving a wide range of display controllers (ILI9341, ST7789, ST7735, ILI9488, GC9A01, SSD1351, HX8357, etc.) over SPI, 8-bit parallel, or 16-bit parallel interfaces. It includes extensive drawing primitives (lines, circles, arcs, ellipses, polygons, anti-aliased shapes), sprite-based off-screen rendering, touch screen support (XPT2046), a button widget, and a sophisticated anti-aliased (smooth) font system that can load fonts from flash or filesystem (SPIFFS/LittleFS/SD). The library is highly configurable via compile-time defines and user setup files, and it leverages hardware-specific optimizations like DMA transfers, PIO state machines (RP2040), and dual-core processing. It is designed for real-time embedded GUIs, instrumentation, and interactive projects, and is widely used in the maker community.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
luc-github/ESP3D ★ 1992 493 APPLICATION

ESP3D is a feature-rich embedded firmware for ESP8266/ESP32 microcontrollers, designed to serve as a Wi-Fi/Ethernet bridge and full-featured controller for 3D printers, CNCs, and similar equipment. The firmware provides a modular architecture with support for multiple network protocols (HTTP, WebDAV, FTP, Telnet, WebSocket, Bluetooth), a web-based user interface, file system management (SD card, flash filesystems like LittleFS/SPIFFS), sensor integration (DHT, BMP280), Lua scripting, and graphical displays via LVGL or TFT_eSPI. It includes a comprehensive command system (ESPxxx commands) for configuration and control, with authentication levels and persistent settings. The codebase demonstrates solid engineering for an embedded Arduino project, with clear separation of concerns between core services (serial, network, display, filesystem) and a message-passing inter-module communication pattern. It bundles many well-known third-party libraries (LVGL 8.2.0, TFT_eSPI 2.5.43, SdFat 2.2.3, EspLuaEngine, arduinoWebSockets) directly in the repository, ensuring reproducible builds but also creating a maintenance burden. The firmware is actively maintained with a responsive issue tracker and regular commits, though the reliance on pinned library versions and heavy conditional compilation introduces some technical drift.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
aly-fly/EleksTubeHAX ★ 206 75 APPLICATION

This is a custom firmware project for the EleksTubeHAX family of IPS nixie-tube-style desk clocks. It is an embedded C++ application targeting ESP32 microcontrollers (ESP32, ESP32-S2, S3, C3) using the PlatformIO build system. The firmware provides a full-featured digital clock with customizable clock faces (stored as BMP or CLK images in LittleFS), WiFi connectivity (WPS, static IP), NTP time sync with adaptive polling intervals, battery-backed RTC support (DS1302, DS3231, RX8025T), and RGB backlight control (WS2812 LEDs) with multiple effects (pulse, breath, rainbow). It includes an on-device menu system with button (and gesture sensor) navigation, Home Assistant MQTT auto-discovery for remote control, and IP geolocation for automatic timezone/DST detection. The architecture is a monolith with clear class separation (Backlights, Buttons, Menu, TFTs, Clock, ChipSelect, WiFi_WPS, MQTT_client, IPGeolocation). The code heavily uses conditional compilation (#ifdef HARDWARE_*) to support over a dozen physical clock variants (EleksTube, SI HAI, Xunfeng, IPSTube, MarvelTubes, etc.), which increases complexity but enables a single codebase to target many boards. The project includes forked and modified libraries (TFT_eSPI, NTPClient, RTC_RX8025T, SparkFun APDS9960) integrated into the repo, which may diverge from upstream over time.

RATING: 7.4/10 MAINT: active DRIFT: medium
▸ 2 reusable components found

This repository provides Arduino-based examples and setup instructions for the LilyGO T-Display S3 board (ESP32-S3 with ST7789 TFT display). It demonstrates core functionalities including TFT graphics rendering, button input handling, backlight control, and ESP-NOW wireless communication. The architecture consists of standalone Arduino sketches (.ino files) that share common configuration headers and resource files. Each example is self-contained and targets specific use cases: image display with progress bar (HotHead), backlight dimming (HotHead_DimmerNEW), simplified graphics (HotHead_2025), bidirectional button state sharing via ESP-NOW, and a basic serial test. The repository emphasizes hardware-specific configuration through header files that define display initialization, board settings, and embedded image resources.

RATING: 6.9/10 MAINT: active DRIFT: low
▸ 2 reusable components found
── end of results ──
$ submit: