Side Quest - NFC Pets

:paw_prints: NFC Pets — Virtual Tamagotchi Pets Living on NFC Tags, Controlled by Your Smartphone!

Hey everyone! I’m excited to share a new project idea called NFC Pets — a minimalist Tamagotchi-style virtual pet game where your pet lives on an NFC tag, and you interact with it through your smartphone.


:iphone: Why Smartphones?

Most modern smartphones have NFC readers and writers built-in. Instead of building a custom handheld device, you can use an app to:

  • Read your pet’s data from the NFC tag (or implant)
  • Interact with your pet through a clean, simple UI
  • Update and save your pet’s progress back to the tag

This means your pet is portable, shareable, and always with you, whether it’s on a card, sticker, or even implanted in your hand.


:floppy_disk: What Lives on the NFC Tag?

Because NTAG216 tags have about 888 bytes of usable memory, the tag stores:

  • Your pet’s name, age, health, hunger, and happiness
  • Basic behavior rules or scripts to guide simple pet reactions
  • Unique identifiers for customization or special evolutions

The smartphone app runs the game logic and UI, while the tag stores the current state and some programmable behavior data.


:video_game: How It Works

  1. Tap your phone to the tag
  2. The app reads your pet’s stats and state
  3. The pet appears on-screen with animations and stats
  4. You interact by feeding, playing, cleaning, or healing via touch buttons
  5. The app writes updated state back to the tag

Meet Borky

6 Likes

7. Development Plan

Phase 1:

  • Define pet data format
  • Build NFC read/write functions in an Android test app
  • Create a simple UI displaying static pet data

Phase 2:

  • Implement pet state logic (hunger decay, happiness)
  • Add user interactions to update state
  • Save/load updated state to tag

Phase 3:

  • Add animations and sound
  • Implement scripting or behavior rules
  • Test with real implants and NTAG216 tags

Phase 4:

  • Add extras (sharing, battles, cloud)
  • Polish UI/UX and optimize
  • Fill 90% of the screen with ads.
  • Put on app store for free - Make bank!
4 Likes

Saw an actual Tamagotchi at the store a few days ago and was tempted to buy it. Fun nostalgia. But it would be so much more fun to cultivate a little virtual symbiote inside my implant!

How feasible is it to build for desktop system’s as well, to run via the KBR1 on my debian machine for example? I don’t know what sort of cross platform frameworks include Android or how difficult to use they may be.

1 Like

I have maybe 6 of the original unopened ones from 98 in my attic

3 Likes

I like this idea but not for NTAGs. What about JavaCard? :wink:

1 Like

the description talks about using the memory of the tag, the KBR1 only uses the UID. a debian version would be doable but you’ll want an ACR122U/1252U

1 Like

No idea. I was so high last night when i posted this… now i have to work out how to do it all…

Hopefully i can detect card format/type and use the corisponding memory. Only 200bits are needed for the pet. So we can use the m1s and the ntags which are commen in the xseries.

4 Likes

if i can make a suggestion

i would tie this to just one chipset of ntag21x (213,215,216), if you are including things like mifare classic you would need to handle authentication on sectors and polling blocks and would prevent the ability to extend this app into iOS down the line.

If you were to include mifare classic, i would suggest doing it as a MAD (Mifare Application Directory) app, NDEF messaging on mifare classic uses the same app structure and doing it this way would allow the tags to also have NDEF messages and not be locked to just this tag-pet which only requires a small amount of memory, bit of a waste of 1k bytes when you only need 200bits, it would also save a lot of code time and bloat as there is predefined spec for requesting the content of a MAD app.

If you want, i have some pre existing “brain” structures for storing character attributes across a bitmap that i worked on when playing with amiibos.

2 Likes

Yeah, that occured to me after I’d already logged out for the night.

Tangent, but the idea of making something like a Flipper Zero that doesn’t just look like a toy, but actually is a toy… reminds me of the first thing I ever spent my allowance on. It was this handheld pokemon knock-off game, but you’d encounter the monsters by scanning bar codes. My mom was like, are you sure you want to spend all your hard earned nickles an dimes on that? And I was like, yeah, of course, I can play with all the barcodes (and also I need to spend my allowance before my brother steals it again.) That would work with just the IDs. But, yeah, your idea is much more accessible running on a device people already have.

2 Likes

A " barcode battler" i had one of those. Orginaly i was gona make a device from an oled an esp32 a beeper and some buttons mounted to a pn532. But i didnt think that was very james bond. But after looking at a brief guide to android software studio i may revisit the concept. Its a hell of a lot more familiar… ok ill look into making the proof of concept on a diy device

2 Likes

Oh, I was just reminiscing about something you reminded me of! You don’t have to actually go and build that too! You must keep so busy all the projects you take on.

Though if you do look into it, I’d love to hear what you find. I’m about to get an esp32 based e-book reader and if I could figure out how to hook up an NFC reader to it would be the perfect place to store offline files encrypted with my implant. I’m a n00b at electronics but am looking for projects to get my feet wet. (Or maybe wet feet and electricity are a bad mix?)

4 Likes

Update. Just testing hardware. Before i start the framework. For once i had all the components i needed. Feeling cute may add a RTC later for degradation purposes…

2 Likes

Hahaha i tickle you!!

2 Likes

Updates from last night. Me n gpt spent ages trying to make a code to detect tag type( ntag or m1) then save a sentence to the correct memory respectively. And then attempt to read and display said sentence . Went well then broke it. Had a tantrum and gave up. Ill pick it back up tonight… progress…

2 Likes


So this works. i can now save data to certain blocks depending on tag type. On m1s and ntags

However. I attempted to change the blocks to something different to prepreform the experiment again. Using nfc tools. Now i can not detect type of this tag. Any ideas?

Using format memory on nfc tools did the trick .

Whats this bit for chimp? Well this bit is for the scanning on and scanning off the pets. to and from the device. This is how you get em out of their “pokeball” or " your body… " im sure we will add some sort of wooshing animation.

The m1 shinanigins seem to working reliably so far… i need to dig out one of the old ntag stickers i have here somewhere… failing that ordering some…

1 Like

above code archived here
tamascaninout.ino (9.6 KB)

2 Likes


Had a little play with the hardware today thinking about how it will all go togeather. I am considering reverting back to the rc522 mini as it will all fit nicely and make a small unit

then knocked up a pcb,

2 Likes