Whisperer on the Wrist ๐ค๐ฌ
Your private AI companion that lives on your wrist.
No cloud? No problem. A complete local AI assistant with emotional intelligence, now available for M5StickC Plus2 and M5 Core devices.

โจ Why WoW?
- ๐ Truly Private โ Your conversations never leave your devices.
- ๐ญ Emotionally Aware โ AI with feelings displayed through expressive animations.
- โก Instant Response โ No latency, works without public AI services.
- ๐ฑ Multi-Device Support โ Compatible with M5StickC Plus2 and M5 Core.
- ๐ฎ Hackable & Open โ Fully open-source, customizable, and extensible.
๐งญ Our Development Journey
Finding the right foundation took exploration. We tested several pre-built OS/firmware options for the M5StickC (Bruce OS, M5Launcher, CatHack, NEMO, CircuitPython) but found their ecosystems restrictive for deep customization. Our breakthrough came with PlatformIO, which provided the perfect balance of powerful library management and low-level control needed to bring the "emotionally aware" vision to life.
Milestone Achieved: We now have stable, compiled firmware for both M5StickC Plus2 and M5 Core that displays dynamic, sensor-reactive eye animationsโthe core of our assistant's personality. The hardware foundation is ready.
๐ Current Phase & Quick Start
We are now building the AI Bridge. The goal is to connect the animated M5 device to a local LLM (via Ollama) over WiFi.
๐ฑ Supported Devices
- M5StickC Plus2 โ Compact, wearable form factor with built-in microphone
- M5 Core โ Larger display and more GPIO for expanded functionality
Prerequisites
- M5 Device (StickC Plus2 or Core) with the latest custom firmware.
- A computer on the same local WiFi network.
- Ollama installed and running on your computer with at least one model (e.g.,
llama3.2,mistral).
Setup
-
Prepare Your M5 Device:
- Set up PlatformIO in VSCode.
- Clone this repository.
- Select the appropriate environment in PlatformIO:
m5stickc-plus2for M5StickC Plus2m5stack-corefor M5 Core
- Connect your device and run
pio run --target upload.
-
Prepare Your AI Server:
- Install Ollama on your computer.
- Pull a model:
ollama pull llama3.2 - Ensure Ollama's API is running (default:
http://IP:11434, configure withEnvironment="OLLAMA_HOST=0.0.0.0:11434").
-
Configure the Connection:
- In the project's
src/secrets.hfile (create fromsecrets.example.h), enter your WiFi SSID, password, and your computer's local IP address.
- In the project's
-
Experience Local AI: The firmware now supports basic text interaction with your local LLM!
๐งฉ Project Architecture
[M5 Device] <--WiFi--> [Local Computer / Home Server]
| |
(Display & Sensors) (Ollama + LLM)
| |
[Emotional UI] [AI Processing & Response]
| |
[Voice Input*] <-------> [Text/JSON API Communication]
**Voice input is currently in development for M5StickC Plus2.
๐ง For Developers
The project is structured for clarity and growth:
/firmwareโ PlatformIO project with separate environments for each device/firmware/srcโ Shared core logic with device-specific adaptations/docsโ Setup guides, hardware references, and API documentation/prototypesโ Experimental code and previous iterations
Building for Different Devices
- Open the PlatformIO project in VSCode
- Select the target device from the environment selector:
m5stickc-plus2โ For M5StickC Plus2m5stack-coreโ For M5 Core
- Build and upload as usual
Key Implementation Differences
- M5StickC Plus2: Uses M5Unified library, smaller display (135x240), built-in microphone for future voice features
- M5 Core: Uses M5Stack library, larger display (320x240), more GPIO pins for expansion
๐ Roadmap
- โ Phase 1: Foundation โ Stable development environment for M5StickC Plus2
- โ Phase 2: Emotional Core โ Animated personality display on both devices
- โ Phase 3: Multi-Device Support โ M5 Core compatibility added
- โ Phase 4: AI Bridge โ WiFi connectivity and text-based Ollama interface
- ๐ต Phase 5: Voice Interface โ Voice-to-text for M5StickC Plus2 (IN PROGRESS)
- โช Phase 6: Advanced Features โ Sensor integration, expanded emotions, plugin system
- โช Phase 7: Polishing โ Refined UI/UX, power optimization, documentation
๐ Acknowledgments
- M5Stack for the versatile hardware ecosystem
- The PlatformIO team for an indispensable development environment
- The Ollama team for making local LLMs accessible
- The open-source community whose libraries and guides made this project possible
Whisperer on the Wrist is an open-source passion project. It's a testament to the idea that private, personal, and expressive AI should be within everyone's reachโwhether on your wrist or on your desk.