Virtual pet games aren't new. Tamagotchi hit shelves in the late 1990s. But the current landscape leans heavily on cloud services, analytics, and in-app purchases. A lot of modern apps want to track behavior and serve ads. For parents and educators, that's a problem. Privacy-focused, offline options are few. Hardware-based projects that keep everything local are rarer still.

That's the gap Pixel-Pets fills. It's a virtual pet ecosystem built for the M5Stack, keeping all interaction on-device. No internet required. No data leaving the hardware.

Enter Pixel-Pets

The project is marceld23/Pixel-Pets, currently sitting at 20 GitHub stars. It's a local, open-source virtual pet system written entirely in C++ and authored using Claude. The maker was 10 years old at the time. That context shapes the project: it's designed to be educational, approachable, and focused on play without surveillance.

The ecosystem includes several components. There's Muffin, an LLM-based pet variant. There are also Visu and Goo-Goo variants. A companion device called Pip connects to the main system. The whole thing runs on M5Stack hardware, which provides the screen, buttons, and processing power.

The emphasis is on privacy, education, and offline play. If you want a virtual pet that doesn't phone home, this is one of the few options that actually delivers.

Under the hood

The codebase is C++. That's notable given the maker's age and the AI authoring tool used. The project targets the M5Stack ecosystem, which typically runs on ESP32-based boards. Development likely uses the Arduino framework or PlatformIO, though the README doesn't specify the exact build system.

Dependencies are minimal by design. M5Stack hardware handles display and input. The LLM component (Muffin) runs locally, so there's no external API call. The code is 100% AI-authored, which means the structure reflects prompt-driven development rather than traditional software engineering patterns.

For anyone looking at the repo, expect C++ source files, M5Stack-specific libraries, and likely some Arduino sketch structure. The project doesn't depend on heavy frameworks or cloud SDKs.

Running it

The project doesn't list Docker or npm-style install steps. M5Stack projects typically require the Arduino IDE or PlatformIO. The general approach would be:

  • Clone the repo
  • Open the project in Arduino IDE or PlatformIO
  • Install M5Stack board support
  • Flash to M5Stack hardware

Since there's no docker-compose.yml or package.json, you're working directly with the embedded toolchain. If you have an M5Stack device and the Arduino IDE set up, the source code is all you need. No separate server, no cloud backend.

Honest take

Pixel-Pets is a small project. Twenty stars suggest it's early-stage and niche. The AI-authored code might lack the polish of hand-written firmware. But the constraints are deliberate: everything runs locally, everything is open-source, and the maker is young. For educational purposes, that matters. It's a working example of LLMs on embedded hardware, written by someone who learned the process firsthand.

It's heavier than a simple Tamagotchi clone. The M5Stack hardware costs money and the codebase expects some embedded development knowledge. But if you want a virtual pet that respects privacy and runs offline, this delivers that exact combination.

Check out the project at Pixel-Pets.