Lvgl widget ti render clocks

A native LVGL 9 widget for ESPHome: drop it under lvgl: widgets: like any other widget, give it a size and a time source, and it draws and animates itself — no interval: + lambda glue. Five styles, all vector-drawn on its own canvas.

ClockClock 24 — 24 tiny analogue clocks whose hands sweep to form the digits.
ClockClock 24 style

Split-flap — real font glyphs with a two-phase flip.
Split-flap style

7-segment — with the unlit “ghost 8” and an AM/PM column in 12h mode.
7-segment style

Analogue — independently configurable tick rings and per-hand style/colour.
Analogue style

7-segment display array — big digits made of small 7-segment displays, after this project.
7-segment display array style

The GIFs are the real component: it compiles against desktop LVGL and runs headless, so they are pixel-identical to what the ESP32 draws.

Runs on any ESP32 and any display ESPHome’s LVGL supports. Ready-made configs for an ESP32-S3 devkit and a XIAO ESP32-S3 with 1.8″/1.69″/4.0″ SPI panels are included.

Source and docs: github.com/tuct/esphome-lvgl-clock

4 Likes