Animated desk companion for the ESP32-S3 round display — smiling face, analog clock, pomodoro timer, and plant soil moisture monitoring.
This is firmware for a tiny round display (the Spotpear ESP32-S3 1.28" LCD) that turns it into a multi-function desk companion. The main display is an animated smiling face with overlaid analog clock hands. It blinks, has rosy cheeks, and chirps like R2-D2 when it hears you talk.
The face changes expression and colour throughout the day — sunrise orange, daytime yellow, sunset coral, dusk purple, night blue. At night, the face closes its eyes, dims the backlight, and only wakes briefly if it hears a noise. It's genuinely charming.
Touch the screen to cycle through modes: the face/clock, a date display, and a pomodoro timer that shows a pie-slice countdown (configurable 5-60 minutes with alarm beeps). There's also a plant monitoring mode that polls a GraphQL backend for soil moisture data and shows a wilting plant when things get too dry.
WiFi setup uses a captive portal — on first boot, it creates a hotspot that you connect to from your phone, enter your WiFi credentials, and you're done. It auto-detects timezone from your IP address. The whole thing is built on ESP-IDF with LVGL 9.2 for the UI, driving a GC9A01 round LCD, ES8311 audio codec, and CST816D touch controller.