All projects

LilyGO T-Display-S3 · Smart Display

Pulsar

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.

C++ ESP32-S3 LilyGO T-Display-S3 LovyanGFX ArduinoJson NTPClient WiFi PlatformIO
specifications
chipESP32-S3
boardLilyGO T-Display-S3
frameworkArduino
buildPlatformIO
displaycolor TFT (built-in)
gfx_libLovyanGFX 1.1.16
wifimarket data + NTP
timer25 min / 5 min
buttonsBOOT + USER

What Pulsar does

Live Market Data

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.

Pomodoro Timer

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.

Two-Button UI

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.

NTP Time Sync

Synchronizes real-world time on startup via NTPClient. The current time is displayed alongside market data and is used to timestamp Pomodoro session records.

LovyanGFX Rendering

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.

Modular Architecture

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.

Bill of materials

ComponentNotes
LilyGO T-Display-S3ESP32-S3 with built-in 1.9" color TFT, two user buttons (BOOT + USER), USB-C; all-in-one — no extra components needed
USB-C cableFor flashing and power; the board can also run from a LiPo battery via the onboard connector
WiFi access pointRequired 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.

Get it running

# clone
git clone https://github.com/mabushi-lab/Pulsar
cd Pulsar
 
# set your WiFi credentials in src/config.h
 
# build and flash (board: lilygo-t-display-s3)
pio run -t upload
 
# monitor at 115200 baud
pio device monitor

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.