Hi! I am happy to publicly release the Arduino sketches for amiibo cloning using the PN532 NFC module!

Here I will provide a short manual on how to use them. If you want more detail, check the initial Create amiibo clones with Arduino article.

Required tools

Preparation

Connect the NFC module to the Arduino.

In case you have an ordinary module, not an actual shield, make the following connections:

SCK  → Digital 13
MOSI → Digital 11 
SS   → Digital 10
MISO → Digital 12

Download the modified Adafruit library and put it with the rest of your Arduino libraries.

Then use Dump_amiibo_PN532 Arduino sketch from my repository in order to get the NFC tag UID.

Run the sketch and put the card on the reader:

In my case, the UID is: 04676752AF4F81

Getting the amiibo dump

Now it is required to dump the amiibo figurine that we have. Dumps from the Internet are suitable too. Usually you can find them by googling “Amiibo BINs”.

Again, use my Dump_amiibo_PN532 Arduino sketch and put the amiibo figurine on the reader. In a few seconds the dump will appear on the screen. Just copy it into a hex-editor and save the resulting file. In this example I called mine Chibi-Robo.dump.bin.

Decoding, editing, and encoding the dump

Now prepare the dump to be written to the tag.

Go to https://games.kel.mn/amiibo, pick your dump, the key, then specify the UID of the blank tag.

Press “Submit”, the new dump will appear in a popup window!

Writing the dump into the NFC tag

Now this code should be pasted into the Write_amiibo_PN532 Arduino sketch.

Copy the results into the sketch:

Run the sketch, put the tag, wait till the writing process is finished.

After you see the “Write process finished! Now please take your Amiibo card away!” message it is safe to take the tag away.

Results

If all the steps were performed correctly then your amiibo clone is ready!

Pwned!

Known issues

The Adafruit library is not perfect and suffer from some issues which I was unable to fix.

First and the most noticeable one is the performance issue.

While it takes just a second to dump or write a tag with RS522 module, it takes whole nine seconds with PN532.

Writing is even slower! It takes 17 seconds to write a tag.

And please stand still during that time because it is impossible to check whether the writing to a single page was successful or not. The checking procedure simply doesn’t work as intended, always reporting success.

So please be careful and check the written tag with Dump_amiibo_PN532 sketch after writing to it. If you find it empty, try to write again. And again. It should work eventually.

Credits

I want to thank all the donators who helped me to buy the module and tags for test and who participated in the beta test to fix some ridiculous bugs!

Big thanks to my patrons at Patreon! Guys, you’re great! Thanks for your support!

And I also want to say thank you to all the people who come here to the blog every day! You really helped me to move on and continue my work on this project.

Thank you all!