Pixel Pets 1.0.0 — first stable release
First stable release. Three pet variants — Muffin (CoreS3 + Module-LLM), Visu (CoreS3 alone), Goo-Goo (Core2) — plus the optional Pip pocket accessory (StickC PLUS2), all verified end-to-end on real hardware.
Headline features
- 🐻 Three animals — pick Bear / Cat / Dog on first boot, switch any time in Settings.
- 🌍 World-aware pet — real weather, sunrise / sunset and moon phase from your IP-resolved location (open-meteo + ip-api), all cached in NVS. The scene adapts through Morning / Day / Evening / Night.
- 🎤 Offline voice control (Muffin only) — wake word "Muffin", Whisper-Base ASR + Qwen3-0.6B intent classifier on the Module-LLM. No cloud, no audio leaves the device.
- 📷 Front camera + selfies (Muffin / Visu) — proximity wake-up, 5-slot LittleFS gallery, pet-overlay selfies.
- 🤝 ESP-NOW Friends + Pip accessory — pets in radio range pair with a synchronised tap and exchange gifts / hearts / food / toys; the Pip pocket companion fires treats with a wrist-flick.
- 📻 Kid-safe web radio — WDR Die Maus (DE) / Fun Kids UK (EN), pet sways to the beat.
- 🎮 Mini-games + scenes — squat / jump / yoga, butterflies / mushrooms / surf / scorpion / asteroids / cross-the-street, foraging, five toys, scene travel between Bedroom / Meadow / Forest / Beach / City / Desert / Space.
- 👨👩👧 Parent-friendly — configurable session limit (5–120 min), optional `-setup.local` web dashboard, captive-portal Wi-Fi setup, no cloud, no tracking.
- 😄 Eleven moods + gestures — driven by happiness / energy / fullness needs; touch zones, IMU-based petting / shake / stand reactions, somersault on circle drag, sing-and-applause when tilted upright.
Pre-built firmware (no PlatformIO needed)
Five merged binaries are attached to this release. Each is a single file at flash offset `0x0` containing bootloader + partitions + OTA selector + app — flash any of them with M5Burner (Custom Firmware → upload .bin) or with `esptool.py`:
| Pet | Binary | Hardware |
|---|---|---|
| Goo-Goo | `pixel-pets-v1.0.0-goo-goo.bin` (~3.0 MB) | M5Stack Core2 |
| Visu | `pixel-pets-v1.0.0-visu.bin` (~3.1 MB) | M5Stack CoreS3 |
| Muffin | `pixel-pets-v1.0.0-muffin.bin` (~3.1 MB) | M5Stack CoreS3 + Module-LLM¹ |
| Pip | `pixel-pets-v1.0.0-pip.bin` (~1.1 MB) | M5StickC PLUS2 (ESP32-PICO) |
| Pip (S3 rev.) | `pixel-pets-v1.0.0-pip-s3.bin` (~1.1 MB) | M5StickC PLUS2 (S3 revision) |
Flash via esptool:
```bash
Goo-Goo / Pip (ESP32, e.g. COM3):
esptool.py --chip esp32 --port COM3 --baud 921600 write_flash 0x0 pixel-pets-v1.0.0-goo-goo.bin
Visu / Muffin / Pip-S3 (ESP32-S3):
esptool.py --chip esp32s3 --port COM5 --baud 921600 write_flash 0x0 pixel-pets-v1.0.0-muffin.bin
```
¹ Muffin's binary alone is not enough — voice control needs a one-time Linux setup on the Module-LLM (ADB workflow, Whisper, Qwen3, TTS-disable). Follow `docs/setup-muffin.md` Step 2 after flashing the .bin.
For the StickC PLUS2 S3 download-mode dance (BtnA + reset before flashing), see `docs/setup-pip.md`.
License note: Goo-Goo / Visu / Muffin binaries link the GPL-3.0 `schreibfaul1/ESP32-audioI2S` library for web radio decoding, so these distributed binaries inherit GPL-3.0 obligations (full corresponding source is in this repository). The Pip binaries stay MIT-only.
Build it yourself instead
Per-pet setup guides ordered by difficulty (🟢 Goo-Goo → 🟢 Visu → 🟡 Pip → 🔴 Muffin) live under `docs/`. The `README.md` has the Fastest-start table with shop links and the full per-pet matrix.
Story
This is a small father-and-son project. Justus (10) brought the ideas, tested every build, and made the design calls. Marcel (Papa) translated his ideas into briefs the AI could execute and added the technical bits that don't fit on a kid's whiteboard. Every line of firmware was co-authored with Claude (Anthropic) under our direction.
The full story lives in `CREDITS.md`.
Full version history
A detailed per-target breakdown of what shipped is in the README's Version history section.
Support the project
If you built one — or just enjoyed reading — please drop a ⭐. Justus checks the count on Sundays.
Beyond stars: open Issues for feature ideas, send PRs (a new sound, scene, face animation or language string is a great first contribution), or share photos and videos in Discussions. No CLA, no Slack, just GitHub.