Amiibo Emulation

I’m having a little trouble locating the links, but there are complete Amiibo bin dumps floating around on the internet. I’m not sure how difficult it will be to take those files and emulate the NFC chip. There’s an android application which can write them to actual NFC “ntag215” cards, which may be of some interest in terms of seeing how it’s done: https://github.com/HiddenRamblings/TagMo

Here is a “v4” dump - not sure how up to date this is: https://drive.google.com/file/d/1-TWgQAH6v7R-odL5A0Rxu6wI_dWpkNMr/view

This works so well. I got NTAG215 stickers for dirt cheap. Easier then you think.

Yeah, it’s quite easy to use the TagMo android app to write the actual NFC tags. I’m curious how difficult it would be to use the Flipper Zero to read and write these data files directly, eg can I keep a library of Amiibo files on the Flipper and write (and read) them directly to and from a Switch controller.

2 Likes

I just scanned an Amiibo with my flipper zero and it works fine. You can also emulate them and a Nintendo 3ds reads it just fine. So create your Amiibo list and save them all to the flipper :-).

Did you scan the actual amiibo toy or from a tag? I scanned a tag (that I know works since it works on my Switch) but cannot get it to be read from Flipper to the Switch

I read the Amiibo from a toy but I used the second read operation that let’s you pic from two options and I picked the bottom one on the flipper as using the normal read failed to emulate. But reading it this way emulated back to the Nintendo device just fine.

If you hover the dpad on the flipper over the joystick, it read for me.

Did you read from a 215 tag or the toy? So far no luck getting it to read from emulating the 215 tag

UPDATE: scanning in an nfc tag from a 215 sticker does work but the Flipper had to be hovered over the right joystick OR from the backside

What did the saved file look like for the read from the toy?

Here is my scan from the toy itself and it works fine with flipper emulating it. Just make sure you use Run Secial action and choose Read Mifareultra / Ntag to read the NFC tag.

Filetype: Flipper NFC device
Version: 2
# Nfc device type can be UID, Mifare Ultralight, Bank card
Device type: NTAG215
# UID, ATQA and SAK are common for all formats
UID: 04 81 A5 4A DC 57 80
ATQA: 44 00
SAK: 00
# Mifare Ultralight specific data
Signature: E8 39 7D 22 AD D5 87 0F CE A9 E8 FB C0 13 AE 2A BD 32 6F 67 1E 71 31 69 17 D5 47 91 56 2D EE 69
Mifare version: 00 04 04 02 01 00 11 03
Counter 0: 0
Tearing 0: 00
Counter 1: 0
Tearing 1: 00
Counter 2: 0
Tearing 2: 00
Pages total: 135
Page 0: 04 81 A5 A8
Page 1: 4A DC 57 80
Page 2: 41 48 0F E0
Page 3: F1 10 FF EE
Page 4: A5 00 01 00
Page 5: 8C 1B E4 91
Page 6: 44 DB 4B 0A
Page 7: 97 D2 05 A0
Page 8: F4 61 2A B9
Page 9: 37 B3 BD EA
Page 10: 47 07 E9 F7
Page 11: EA 2A 42 6A
Page 12: 9E BE 3A 2D
Page 13: 5F F7 CC 08
Page 14: D7 28 08 DC
Page 15: 59 38 46 AF
Page 16: AC A6 D3 EC
Page 17: 3F D7 2F 93
Page 18: 23 41 39 EA
Page 19: 21 52 1B 2A
Page 20: F2 E9 B0 54
Page 21: 00 00 00 00
Page 22: 03 71 01 02
Page 23: 0D 12 87 13
Page 24: F8 DB 08 57
Page 25: 1B A7 45 12
Page 26: 96 AB 19 5A
Page 27: 15 9E 35 B5
Page 28: 32 51 C5 0C
Page 29: C9 3B 5B DC
Page 30: C5 CD AD 33
Page 31: EB 8A E4 55
Page 32: C2 A2 E9 53
Page 33: 34 7A 99 3C
Page 34: 15 41 C3 AF
Page 35: FB 28 C5 6A
Page 36: 77 44 E4 AA
Page 37: 03 43 AF 3A
Page 38: A1 0D 7F 73
Page 39: BD F7 5F 8B
Page 40: 61 BD D7 25
Page 41: 5A 5E 38 BA
Page 42: F6 7D 0F FE
Page 43: B7 97 DB 25
Page 44: F2 FD 4E A2
Page 45: 1D 98 EE 3E
Page 46: 1A 76 25 36
Page 47: FD E7 58 F4
Page 48: 65 A6 3B 31
Page 49: 93 D7 1E 82
Page 50: E3 65 45 E7
Page 51: 76 14 0C 39
Page 52: 55 4A 3D 54
Page 53: 5A 56 44 B0
Page 54: 40 D1 F1 65
Page 55: D3 CC 64 AD
Page 56: 3D 2B 9A 11
Page 57: 1A C9 E8 20
Page 58: 27 2A 75 F9
Page 59: EC 91 AD DE
Page 60: 1F E1 43 A9
Page 61: 0B FA AC 79
Page 62: 39 A9 F7 84
Page 63: 17 FB 74 95
Page 64: 78 41 05 A5
Page 65: EB 60 21 CF
Page 66: 00 FD CD 17
Page 67: 42 29 AC E9
Page 68: AC 0C DA 21
Page 69: 7E B3 73 F8
Page 70: C4 B7 68 34
Page 71: 63 2B 61 7B
Page 72: 3A B5 7E 9D
Page 73: 4D C7 CB 0B
Page 74: 28 72 4C 09
Page 75: F6 62 A3 49
Page 76: B7 C5 C3 43
Page 77: 7E 49 DD 9E
Page 78: 80 FF 2C C5
Page 79: AA 33 91 03
Page 80: 11 71 55 5E
Page 81: 75 81 DD 46
Page 82: E0 F1 AF C5
Page 83: E1 C4 65 AE
Page 84: 37 B9 38 06
Page 85: CE CE 70 18
Page 86: E0 20 F0 2C
Page 87: ED 78 D2 0A
Page 88: A7 7E CA DA
Page 89: CB 98 61 DF
Page 90: 50 4D 25 BE
Page 91: AA FF C8 A8
Page 92: 32 E2 F1 DD
Page 93: 44 B9 9E 71
Page 94: E7 F5 EC 9B
Page 95: 80 61 5F 85
Page 96: 8F 02 F8 11
Page 97: DF 75 7F 48
Page 98: 02 AE 10 48
Page 99: 54 DB 50 AA
Page 100: A6 7A 41 C2
Page 101: 81 4F 31 E0
Page 102: 4B 33 17 F9
Page 103: C5 40 61 31
Page 104: 39 B2 AF DC
Page 105: FA 68 BB B6
Page 106: 30 AA E6 33
Page 107: 9C 20 BF C1
Page 108: 41 9B FC 4F
Page 109: 71 CF 34 5F
Page 110: 01 B3 FA 48
Page 111: 69 1F 5A 74
Page 112: 87 36 D7 E8
Page 113: 5B F6 56 05
Page 114: 98 6F B7 43
Page 115: 91 5C 20 74
Page 116: A9 34 CE 35
Page 117: C6 44 0B D6
Page 118: 61 DC EF B1
Page 119: 6B 62 09 B6
Page 120: 9D E2 B5 15
Page 121: 71 E9 EE 8E
Page 122: 79 F9 3B 17
Page 123: 2C 79 B8 0B
Page 124: 2C FE 3A 5F
Page 125: 9D F2 40 12
Page 126: F4 E0 86 01
Page 127: B8 7B 0A C2
Page 128: 0A 01 B1 BF
Page 129: 63 EA 75 FE
Page 130: 01 00 0F BD
Page 131: 00 00 00 04
Page 132: 5F 00 00 00
Page 133: 00 00 00 00
Page 134: 00 00 00 00
2 Likes

Courtesy of @Lamp in the Flipper Discord:

# Save this file as amiiboconvert.py and place in the root folder of your amiibo - Pastebin.com

1 Like

I also wrote something up this morning and tossed it on github:

3 Likes

Wow thanks for sharing that works great :slight_smile:

Just in case anyone is looking for them

2 Likes

Hah, I also wrote a python script yesterday to convert. I came here just now to post it and saw that others beat me too it.

Some other tips I discovered while working on this:

  • At least once my Flipper Zero got into a state where the emulation stopped working correctly. I appeared to be working (blinking light, etc) but a Nintendo Switch wouldn’t pick it up. A reboot of the Flipper Zero fixed it.
  • The file picker has limitations to how many files it will display in a directory. I needed to break up my thousand amiibo nfc files into directories. I was pleasantly surprised to find that the directory navigation worked well.
  • The sorting in the file picker in the current Flipper Zero firmware is a bit meh. There are tools such as “fatsort” (available in brew in MacOS) to sort files/directories within the FAT filesystem so they display nicely in the picker.
  • As far as I can tell, the hardware would be capable of programming a NTAG215 NFC tag so you can make your own amiibo coins and stickers but it doesn’t seem to be implemented in the firmware, yet. If I find time, I’ll work on it but I also suspect that someone here might already be and will beat me to it.

(Edit) Here is my python script, for completeness: https://gist.github.com/5c057f51cdc12f6d995051adb0531ddb

3 Likes

Once I have my full directories of bin files, what would I do to format everything so that it would be functional on the zero?

Here’s a entire Flipper amiibo package that I compiled @ https://github.com/Gioman101/FlipperAmiibo

The “sweet spot” on the Flipper Zero seems to be pretty small. I have the best luck with the middle of the unit touching directly on the thumbstick.

1 Like

For some reason my flipper cannot emulate to my switch, to phone sure, but not to my switch. It’s so frustrating because everything else NFC works and this is what I was most excited for.

Try to hold it in a different angle. It works for me most times if I hold it horizontally with the center of the (flipper)screen over the right Joycon stick.
Sometime I need to hold the flipper 90°, aligned with the Joycon controller.

As far as I can tell, the hardware would be capable of programming a NTAG215 NFC tag so you can make your own amiibo coins and stickers but it doesn’t seem to be implemented in the firmware, yet. If I find time, I’ll work on it but I also suspect that someone here might already be and will beat me to it.

In order to “clone” one of these into a blank NTAG215 tag, you’d need access to two binaries are not really something you’d want to commit to GitHub. That’s because the encryption in a written one is tied to its UID, which is set at the factory and cannot be overwritten, and the information inside the tag has to be decrypted using these binaries and the UID in order for them to work.

That is to say, cloning these with a Flipper Zero won’t really be a possibility unless someone implements something like pyAmiibo or amitool for the flipper, but it would have to be a standalone app that a third party implements.

I’m being ambiguous about certain terminology for obvious reasons.