Hermes M5Stick Firmware turns an M5StickC Plus 2 into a physical desk companion for Hermes Agent. The device joins your Wi-Fi network, polls the Hermes API gateway (port 8642) over HTTP, and shows active sessions, token counts, and connection status on its screen alongside an animated pet character.
It is a fork of Anthropic's claude-desktop-buddy, rewritten to talk to the Hermes HTTP API instead of the original Claude Bluetooth API. On top of the upstream dashboard it adds a voice pipeline: double-pressing button A records up to four seconds of audio from the built-in microphone, sends it to Groq speech-to-text (whisper-large-v3-turbo), forwards the transcript to Hermes chat, and shows the response on the display.
The firmware is a PlatformIO project. A first-boot wizard over USB serial collects the Wi-Fi SSID, password, Hermes IP, and API key; a prebuilt merged firmware image can also be flashed from a WebSerial browser without compiling. Running it requires a Hermes Agent with its API server enabled and a Groq API key.
Features
- Status dashboard: active sessions, token usage, and connection state polled from /v1/runs/current and /api/sessions
- Voice input: microphone capture, Groq STT transcription, and a /v1/chat/completions round-trip to Hermes
- Session browser: scroll through active Hermes sessions and stop a running one
- Pet characters: 18 ASCII pets (robot, capybara, cat, duck, and more) plus custom animated GIF characters loaded through SPIFFS
- Animated states: sleep, idle, busy, celebrate, dizzy, and heart, driven by mood and activity
- Mood and energy system: mood decays with inactivity, energy drains over time, and the pet levels up every 50K tokens
- Physical controls: button, double-press, and hold gestures, shake to trigger the dizzy state, face-down for a low-power nap mode
- Clock: NTP-synced time with RTC and auto-orienting portrait or landscape display
- Settings menu: brightness, sound, LED, Wi-Fi and Hermes info, and clock rotation
