LilyGO T-Display-S3 · Smart Display
A wall-mounted smart display running on the LilyGO T-Display-S3. Shows live market data fetched over WiFi and provides a full Pomodoro timer with session tracking. Renders smooth UI on the built-in color TFT via LovyanGFX. Two hardware buttons control brightness and the timer.
Connects to WiFi and fetches current market data on boot and at regular intervals. ArduinoJson parses the response and feeds the display module with clean, typed values.
Full Pomodoro implementation with 25-minute work sessions and 5-minute breaks. Tracks completed sessions, supports pause/resume, and shows a circular progress ring on the display.
BOOT button cycles through display brightness levels. USER button controls the Pomodoro state machine: start → pause → resume → reset. Long-press exits the Pomodoro view and returns to market data.
Synchronizes real-world time on startup via NTPClient. The current time is displayed alongside market data and is used to timestamp Pomodoro session records.
Leverages LovyanGFX sprites and direct DMA transfers to the T-Display-S3's built-in TFT for smooth, tear-free rendering. Custom fonts and antialiased text are handled natively.
Split across display, data, and network modules. Adding a new data source or display screen means touching only the relevant translation unit — the main loop stays clean.
| Component | Notes |
|---|---|
| LilyGO T-Display-S3 | ESP32-S3 with built-in 1.9" color TFT, two user buttons (BOOT + USER), USB-C; all-in-one — no extra components needed |
| USB-C cable | For flashing and power; the board can also run from a LiPo battery via the onboard connector |
| WiFi access point | Required for market data and NTP; credentials go in config.h |
No soldering, no external modules. The T-Display-S3 is a self-contained development board — flash it and it's ready to use.
PlatformIO downloads all dependencies automatically: LovyanGFX 1.1.16, ArduinoJson 7.x, and NTPClient 3.2. The board target is lilygo-t-display-s3 — no manual board package installation needed.