Story
About this project
CHRONO is a Wi-Fi connected dual-timezone dashboard for the Elecrow CrowPanel 7-inch ESP32-S3 HMI (800x480 RGB touch display). It shows Indian Standard Time and UK local time side by side on bright seven-segment digits, with the date, a day-progress bar and live Wi-Fi/NTP status LEDs - all rendered with LVGL 8 and drawn in a clean instrument-panel style.
The firmware is a complete, self-contained PlatformIO project: display and GT911 touch drivers, a robust network state machine with Wi-Fi backoff and three fallback NTP servers, an AP configuration portal, and a seven-segment UI that needs no custom fonts. No SquareLine export, no missing assets - clone it, open it, build it.
Features
- Dual timezone clock: IST (UTC+5:30) and UK with exact BST/GMT transitions (POSIX TZ rule, not approximations)
- 12-hour format with AM/PM markers (24-hour toggle via touch)
- True seven-segment digits - every digit is 7 toggleable segments, no bitmap font
- Day-progress bar with percentage, day name and date
- Live status header: Wi-Fi and NTP indicator LEDs, 12H/24H indicator
- Wi-Fi reconnect with exponential backoff (2s to 60s) and automatic recovery
- NTP with 3 fallback servers (Google, Cloudflare, pool.ntp.org) and 6-hourly re-sync
- AP configuration portal (CrowPanel-Config) when no credentials are stored
- Touch controls: brightness +/-, accent color cycler, 12H/24H toggle, tap panel for time details
- PWM backlight control
How it works
The ESP32-S3 drives the 800x480 RGB panel through LovyanGFX's RGB bus at 15 MHz PCLK, with LVGL 8.3 rendering into a partial framebuffer. The GT911 touch controller is reset through the PCA9557 IO expander (V3.0 board timing); a locally patched TAMC_GT911 library skips its own GPIO reset so the boot log stays clean. UK time uses the system timezone GMT0BST,M3.5.0/1,M10.5.0/2, so daylight saving is always exact; IST is computed as UTC+5:30.
The network layer is a small state machine (port from the 2.8-inch CHRONO): it reconnects with exponential backoff forever, requests time from three NTP servers, re-syncs every 6 hours, and keeps the last good time if Wi-Fi drops.
Build it in 10 minutes
- Install VS Code and the PlatformIO IDE extension
- Open the
platformio/folder of this project - Copy
include/secrets.example.htoinclude/secrets.hand add your Wi-Fi credentials (or leave empty and use the on-screen AP portal) - Connect the CrowPanel by USB and press Upload
- Open the serial monitor at 115200 baud to watch Wi-Fi + NTP sync
Source code
Complete project (firmware, README with step-by-step VS Code guide): Digital Clock for CrowPanel 7-inch - GitHub
Full repository: github.com/papercodeIN/Elecrow | 2.8-inch CHRONO reference project: Digital Clock for CrowPanel 2.8-inch
Bill of materials
- Elecrow CrowPanel ESP32-S3 HMI Display, 7-inch (800x480, GT911 touch) - linked in the Bill of Goods below
- USB data cable
- 2.4 GHz Wi-Fi network
Customize it
Accent colors, digit size and the whole palette are single defines in ui_Screen1.c; the theme button cycles the clock through teal, cyan, amber and magenta. NTP servers, retry timings and the timezone rule are constants at the top of main.ino.
Licensed CC BY-SA - build on it, share back.




