On March 20, 2020 Nintendo released Animal Crossing: New Horizons on the Nintendo Switch much to the fanfare of my wife. You manage an island, acquire residents, and just generally live a tranquil life. There’s a campsite that random villagers will appear in. However, there is an option to invite specific characters if you have their Amiibo. These Amiibos were distributed as various cards and figures over the years, with most of them being out of production currently.
Amiibos are what’s known as a “toy to life” platform. There’s a physical object you place near a device and it does stuff. Skylanders, Lego Dimensions, Disney Infinity are other examples of the concept. Most, if not all of them, use Near Field Communication (NFC). A lot of contactless card interactions are based around NFC. Apple Pay, the first iteration of Google Pay, key cards, etc are all NFC.
The upside of all of this is that if you can write to NFC tags, you can clone Amiibos. You just need the keys to encrypt the payload data and the payload data itself. A quick trip to Amazon and I had an ACR122 and 40 NFC215 tags on the way.
Now, we just need the software. There are a couple of components needed: libnfc
and nfc-amiibo
. libnfc
is fairly simple to acquire on the Mac, just install if via brew: brew install libnfc
. nfc-amiibo
isn’t much more complicated. You’ll need to download a git repository and build it.
The repository can be found at nfc-amiibo on github. It’s a fork of pimiibo, an Amiibo selector for a Raspberry pi. Just follow the instructions there and you should be fine for the most part. The only other thing to be wary of is that there is a daemon on the Mac that will claim the ACR122 device. This claim will prevent nfc-amiibo from writing to a tag. After much discussion on github, a simple workaround emerged. You have to shut down the ifdreader daemon.
So after all that, success. Now I can back up and clone whatever amiibos I can acquire.
Now, it works. And as long as you’re comfortable with doing all that, you got that going for you. But, it is rather clunky. Not to mention, all of that is just working with Amiibos. There is an app on the Mac App Store, NFC Tools, that can work with the ACR122 without having to manually turn of the ifdreader. So it is possible.
So the goal now is to basically write my own version of NFC Tools that can clone Amiibos. I guess the first step is to get the ACR122 working while the daemon is running.