LUMA
A tiny desktop friend, powered by an ESP32 and a custom firmware.
A tiny desk robot I built that actually has a personality. Runs on an ESP32, shows animated eyes on a 1.8" TFT screen, and reacts to how you touch it. It also pulls live weather, keeps time, and has a calendar, all sitting on your desk just vibing.
live preview of the eye engine
Me poking Luma to trigger the personality eye engine blinks, idle micro movements, and mood shifts running on tiny LVGL animation packs.
Tap the back, switch the app.
A second capacitive sensor lives on the back of Luma. A quick tap cycles the dashboard clock, weather, calendar, home without ever touching the face. It keeps Luma feeling like a creature, not a touchscreen.
Personality eyes engine
Hand-drawn LVGL eye animations with blinks, idle micro-movements, and reactive moods that bring Luma to life.
Back-tap second sensor
A capacitive sensor on the back of Luma cycles between clock, weather, calendar and home with a single tap.
Real-time clock + alarms
DS3231 RTC keeps time across reboots. Alarms wake Luma with a custom face animation, not a beep.
Live weather widget
Pulls current conditions from OpenWeather over WiFi and matches Luma's expression to the forecast.
Calendar dashboard
Syncs upcoming events via a tiny REST bridge so the next thing on your day is always one glance away.
Modular app loop
Apps register into a single render scheduler so adding a new face or widget is a 30-line drop-in.
LUMA is live.
Firmware, schematics, 3D enclosure files, and animation packs are all available at meetluma.live, your one stop for docs, build guides, and everything else. Source is open under MIT on GitHub.