They're a booming success, low in stock, and odds are if you're a fan of anything Nintendo related, you own at least one of these collectibles. As you may have guessed, the subject at hand is Amiibo, Nintendo's NFC figures. While the figures themselves are very detailed, the currently available extra content provided is limited. I set out to add more functionality, in the form of programming music to play when figures are scanned. Today, I will be taking you through the process of constructing your very own Amiibo NFC reader.
Step 1: Tools and Materials
Materials and tools required for this project:
- Arduino UNO R3
- Adafruit Wave Shield for Arduino Kit
Arduino UNO stacking headers
Step 2: Constructing the NFC Controller Shield
The NFC controller shield is the simpler of the two shields to construct. A majority of it comes pre-constructed, though several headers must be soldered on. I cut the headers to have the correct number of pins for usage. For this, you'll need one with 6 pins, two with 8 pins, and one with 10 pins.Once those have been soldered on, you must cut the connection between IRQ and pin 2. Then, create a connection linking IRQ to pin 6, as shown above.
Step 3: Assembling the Wave Shield
The wave shield is far more complex than the NFC shield, and does not come assembled. I used these instructions provided on the official website to help construct the wave shield. However, instead of using the headers provided, I used stacking headers to allow the NFC shield, Arduino, and Wave shield to be stacked. I used very fine solder, taking care in not frying the board.
Step 4: Attaching the Arduino
After constructing the wave shield and NFC shield, I proceeded to stack the three components being used. On the bottom is the Arduino, with the wave shield sandwiched between it and the NFC shield.
Step 5: Begin Coding the Arduino
Next, I began coding the software, so that the the device will output sound files. In order to properly code, it is necessary to download the Adafruit NFC Library and the Wave Shield Library. Once, downloaded I used a base code provided here as the starting file. From here, I added more files to the base code for the remaining currently released Amiibo.
Step 6: Upload the Code and Scan the Figures
Now, upload the code to the Arduino and open the Serial Monitor. It should be running at 9600 baud. At this point, if you scan an amiibo, the serial monitor will display a unique ID number. Take this ID number and place it in the highlighted section of the code shown above. This must be done for each amiibo. Once you have substituted in the ID numbers, upload the code once more. The scanner should now successfully read the amiibo figure and play music!