Hummingbird Tamagotchi
A pocket virtual pet built around the high-speed life of a hummingbird, on a round colour display with motion controls.
Hardware chosen, wiring guide written, game designed, and the simulation implemented and covered by 39 tests that run on a laptop. Nothing has been soldered and no board has been powered on yet — the display driver is written against documentation and is still unproven against a real panel.
Build guides
Specifications
- Display
- 240×240 round IPS, GC9A01A
- MCU
- RP2350 — dual Cortex-M33 or RISC-V, 150MHz
- Sensors
- QMI8658 6-axis IMU (accelerometer + gyroscope)
- Power
- 3.7V 500mAh LiPo, onboard charge management
- Art
- 120×120 canvas, upscaled 2× — 4bpp indexed
- Target battery life
- ~11–12 days, versus ~7 hours unmanaged
What it is
A virtual pet in the Tamagotchi mould, themed around a hummingbird — a bird whose whole identity is speed, iridescence and an extraordinary metabolism. It lives on a circular colour screen, and it responds to the device being physically tilted and rocked, not just to buttons.
The pet lives about fifteen days. How it is fed as a chick decides what it becomes as an adult: mostly nectar produces a chubby, slow-metabolism bird, mostly insects a sleek acrobat, a balanced diet the standard form. Reach day fifteen healthy and happy and it migrates, leaving behind an egg that inherits a small advantage over its parent.
Two problems worth reading about
The bird cannot be killed by a flat battery. Most virtual pets die when their owner gets busy, which is a design failure dressed up as a feature. This one has two distinct “off” states. Holding the back button sleeps the screen but keeps the clock running, so the bird genuinely gets hungry in a pocket. Cutting the physical switch does something different: it stops time completely.
That second state came out of a hardware constraint rather than a wish. The RP2350 has no real-time clock, so when power is cut the device does not merely lose accuracy — it loses any sense that time passed at all. Rather than fight it, the design leans in. Real hummingbirds enter nocturnal torpor, dropping their metabolism by roughly 95% to survive the night without feeding. The switch is a torpor switch. Nothing decays, and the bird wakes exactly as it was left. A dead battery is electrically indistinguishable from that, which means it can never kill your pet.
The screen is too sharp for pixel art. At 0.135mm pixel pitch, art drawn at the panel’s native 240×240 stops reading as pixel art — the pixels are simply invisible at arm’s length, and you get a small smooth illustration instead. The fix is to make the pixels deliberately larger than the panel’s: everything is drawn on a 120×120 canvas and upscaled twofold with no interpolation.
That choice turned out to pay for itself three times over. The frame buffer drops from 115KB to 29KB, compositing touches a quarter as many pixels — which directly attacks the project’s biggest risk, battery life — and there is a quarter as much art to draw by hand.
Where it stands
The hardware is chosen and the wiring is documented. The game is fully designed and its simulation is written as a pure, hardware-free module, which means fifteen days of pet life fast-forwards in under a millisecond on a laptop and the balance was tuned without flashing anything. The sprite pipeline exists and is tested end to end.
What has not happened: nothing is soldered, no board has been powered on, and the display driver has been written against documentation rather than against a real panel. The guides say so plainly, in the places where it matters.