Building The Infinite Matrix Of Tamagotchis

Tamagotchi is a digital pet, living in and cared for through a key-chain size piece of hardware. The mid-90’s toy lives in pop culture, but now it lives well beyond. A limitless network of Tamagachi has been created using some amazing tricks to feed, socialize, and monitor the beast now known as the Tamagachi Singularity.

Last weekend at the Hackaday SuperConference we were graced with a talk by [Jeroen Domburg], a.k.a. [Sprite_tm]. [Sprite] is a favorite of ours and over the years his hacker cred includes everything from reverse engineering hard drive controller chips to putting video games in his keyboard.

[Sprite] is also something of an Architect, and like all Architects he only wants what is best for the system he created. In this case, it’s a Matrix of Tamagotchis. [Sprite] created a hive of Tamagotchis that are able to interact with each other in their own separate world. The best part about this Matrix? There’s no allusions to violating the laws of thermodynamics in the exposition.

Like all good hacks, a Tamagotchi Matrix wasn’t created in a vacuum. A few years ago at 29C3, [Natalie Silvanovich] dumped the ROM in the current generation of Tamagotchis. This is an incredible feat of reverse engineering, that allows anyone to use the full capabilities of the 6502-based microcontroller that controls these digital pets

After [Sprite] figured out how to read and run the code in the Tamagotchi, the next obvious step towards a world of egg-shaped pods containing an entire population of Tamagotchis is virtual Tamagotchis. [Sprite] used a hard-coded state machine that takes care of pooping, flushing, training, feeding, and turning the lights off at bedtime.

With a single Tamagotchi described as a state machine, it’s a simple matter to build another. This is where things get interesting and Matrix-ey. Tamagotchis don’t live alone; they have an IR LED and receiver that allows them to interact with each other, eat, play, marry, and have kids. Emulating a single Tamagotchi is one thing, but controlling multiples is another thing entirely; some sort of protocol was needed to breed Tamagotchis and keep them happy and well-fed.

The Tamagotchi State Machine

Enter the Tamaserver, a bit of code running on a server that keeps track of a dozen or so Tamagotchis. On this server, a small population of Tamagotchis live their entire life not realizing they are just part of a gigantic computer. Here, Tamagotchis live, eat, love, and die, all without the messy violations of the laws of thermodynamics proposed in the Matrix trilogy.

So far, the Tamaserver has been home to 13 Tamagotchis for a little more than a month, playing host to seven generations of digital pets, without any intervention from the outside. Things have gotten dicey recently with twelve females and one male, forcing a slight modification to the Tamagotchi Matrix. [Sprite] has only reset the Tamaserver one time, but he’s still become very efficient at it.

The Original Tamagotchi Hardware Reimagined

Running a world of Tamagotchis in a server is a worthwhile pursuit, but since [Sprite] gave this talk at a hardware conference, this required hardware to show off. A Matrix in an old German bomb shelter / server farm simply won’t do. As such, [Sprite] created the Tamanode, a WiFi-enabled viewer for each of the cells in the hive.

[Sprite]’s highly modified WiFi-enabled Tamagotchi[Natalie Silvanovich] did all the work a few years ago for running arbitrary code on the Tamagotchi through the small little egg add-ons that contain an EEPROM. This happens by writing code to the LCD display, then jumping the CPU to an invalid address. When the CPU encounters an invalid address, it jumps to an address space on the screen. It’s an astoundlingly clever hack, but not really useful if you don’t have the hardware to do something cool.

[Sprite] performed a little bit of surgery on his egg by adding an ESP8266 WiFi module and an EEPROM that contained all the code to connect to a WiFi network, access his hive, and scroll through each of its inhabitants. It’s disruptive Tamagotchi computing, the Internet of Digital Pets, and a cloud-powered Tamagotchi as a service.

By all accounts this is an amazing accomplishment. [Sprite] presented the talk on Saturday night, just before the presentation of the 2015 Hackaday Prize. It was the first thing anyone wanted to talk about when you ran into them on Sunday. We expect this recording will have the same effect on the much wider audience of the Internet. He is not a one-hit wonder. We religiously check [Sprite’s] website for that hit of excitement gained with every project he posts.

I started out with the video not knowing what to think, but not expecting to get more than 2 minutes in… and next thing I noticed, it was completed. What an entertaining and informative presentation! Kudos to Jeroen and HaD for putting this on; I wish I could have been there in person.

You mean it’ll get its ass kicked in the virtual world, debug an issue with some of his Tamatrixgotchi system code, and then finally offer itself as tribute to form a lasting peace between humans and Tamagotchi-kind?

I tried the following tip: try to practice pausing your talking if you run out of words, and resume once you know/remember again what to say. Not sure if it helps or how easy it is but it didn’t hurt for me as far as I can tell.

Mainly, don’t worry about the erms/uuhs. If worrying about it gets you nervous, they will probably increase. I didn’t watch your video yet, but everyone seems to like it.

Beyond that it depends on where the pipeline stall in your brain is. Pretending you’re singing, like [Zach A.] mentioned, worked for some. Or try a subtle vocal impersonation. Both tend to make you focus on not just what you’re saying, but cadence.

I missed his talk as I was doing the KiCad workshop. Now I know why everyone was so excited that evening and the next day. I shared the AirBNB place with Sprite (and a couple of other awesome hackers), and the previous day he suddenly had an epiphany that all his Tamagotchi would be sleeping when it was time for him to give the talk. I guess it worked out since he skipped a live demo.
That’s some seriously awesome work.