Interfaceby Maler X · GitHub · LVGLFUMI, a Tamagotchi-style AI desk companion
An open-source desk pet on an ESP32-S3 with an LVGL animated face, touch interaction, virtual pet stats and push-to-talk voice chat routed through a provider-agnostic backend.
Build sheet
- Controller
- ESP32-S3
- UI
- LVGL animated character
- Backend
- Node.js, any LLM provider
- Firmware
- Arduino IDE
Can I build this?Beginner · AI 4/5 · $30–50
- Difficulty
- Beginner
- AI-buildability
- 4/5
- Time
- A weekend
- Cost
- $30–50
The firmware and Node.js backend are open-source software that AI tools can adapt, and the hardware is a single off-the-shelf touch AMOLED board with no soldering, though you still have to flash it and set up API keys.
Based on "FUMI, a Tamagotchi-style AI desk companion" on Afterware: https://afterware.xyz/p/fumi-a-tamagotchi-style-ai-desk-companion
Write Arduino firmware for an ESP32-S3 touch display running LVGL. Draw a simple animated pet face with expressions for normal, happy and sleepy. Track hunger, energy and happiness that decay over time and rise on touch. Send a JSON message to a backend URL over HTTPS when the user presses a button, and show the returned reply text on screen.
Estimates based on the original write-up. How AI-buildability is scored. Building with an AI assistant? Connect it to Afterware (free MCP server).
Story
FUMI is a desk companion built around an ESP32-S3 running LVGL. The firmware drives an animated character with expressions, responds to touch, and tracks virtual pet stats such as hunger, energy, happiness, bond and growth. It also includes a small game.
Voice works through push-to-talk. The device uploads a WAV recording to a backend, which runs speech-to-text and sends the transcript to a selected text model. The firmware never holds a model API key; the backend keeps the key and forwards requests.
The backend is provider-agnostic and is documented for OpenAI, Anthropic Claude, xAI Grok, OpenRouter, Ollama and OpenAI-compatible APIs. The repo also includes a browser demo for testing the backend without the hardware.
Resources · 2
Interfaceby Maler X · GitHub · LVGL
Interfaceby Mozgi512 · GitHub · LVGL











