Real-time 3D on a microcontroller is one of those things that sounds like it shouldn’t work. No GPU, no floating-point luxury, a framebuffer measured in kilobytes — and yet.
AiboJam recreates Tiny AIBO, Sony’s desktop version of the Aibo robot dog from around 2000, on the $40 Adafruit Fruit Jam. As the project puts it, an old Sony desktop Aibo has “escaped into a $40 computer the size of a credit card.”
To be clear, and the project is clear about it: this is not a Sony collaboration and is not endorsed by Sony. It recreates the idea using its own geometry, motions, sounds and skins.
The hardware
- RP2350B at 150 MHz
- 8 MB PSRAM
- 16 MB flash
The architecture is the interesting part
This is the detail worth stealing:
- CircuitPython handles the menus, buttons and pet behaviour
- A native C module draws the robot dog in live 3D
That split is exactly right, and it’s a pattern more microcontroller projects should copy. Pet behaviour — state machines, timers, mood, deciding which of 49 motion clips to play — is logic that changes constantly while you’re developing and doesn’t need to be fast. Writing it in CircuitPython means you iterate in seconds.
The 3D renderer is the opposite: a tight inner loop over vertices and pixels that must hit frame rate and will basically never change once it works. That belongs in C.
Anyone who has agonised over “should this project be CircuitPython or C” is asking the wrong question. It’s both, with the boundary drawn at where iteration speed stops mattering and throughput starts.
What it actually contains
- 49 motion clips
- 17 sounds
- Five skins
- A virtual pink ball the dog follows
The ball is simulated, not camera vision — the project is explicit about this, and notes a webcam version as a possible future. The demonstration recording runs 11:41 and shows the on-screen tour.
That honesty is worth noting. “Robot dog tracks a ball” invites the assumption of computer vision; the project says plainly that it’s tracking a simulated object in its own framebuffer. Distinguishing what a demo actually does from what it looks like it does is rarer than it should be.
Why it belongs in a creative-hardware context
Two reasons beyond the charm.
It’s a working reference for 3D on an RP2350. If you want polygonal graphics on a cheap board — for a prop, a sculpture with a screen, a handheld piece, an instrument display — this is a real implementation running at interactive rates on hardware you can buy today, with the PSRAM figure that makes it possible.
It’s a virtual pet, which is an under-used form. A screen-based creature with moods and behaviours, on a $40 board you can embed in an object, is a genuinely good armature for interactive work — closer to a Tamagotchi than a kiosk, and the thing gallery visitors will actually engage with for more than eight seconds.