OPEN SOURCE

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.

2026 Embedded / Open Source WiFi connected

live preview of the eye engine

MCU
ESP32-S3
Display
1.8" TFT
Input
Back-tap
License
MIT
Demo
Walk through

Me poking Luma to trigger the personality eye engine  blinks, idle micro movements, and mood shifts running on tiny LVGL animation packs.

Features / back-tap
BACK-TAP
SECOND SENSOR

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.

Clock
Weather
Calendar
What's inside

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.

First open source drop

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.