Solder the Headers

The first step is to solder the headers to the shield. Cut the header strip to length and insert the sections (long pins down) into an Arduino. Then place the shield on top and solder each pin.

Using the Adafruit NFC Shield with I2C

The Adafruit NFC shield is designed to be used using the I2C by default. I2C only uses two pins (Analog 4 and 5 which are fixed in hardware and cannot be changed) to communicate and one pin as an 'interrupt' pin (Digital 2 - can be changed however). What is nice about I2C is that it is a 'shared' bus - unlike SPI and TTL serial - so you can put as many sensors as you'd like all on the same two pins, as long as their addresses don't collide/conflict. The Interrupt pin is handy because instead of constantly asking the NFC shield "is there a card in view yet? what about now?" constantly, the chip will alert us when a NFC target comes into the antenna range.

The shield is drop-in compatible with any Classic Arduino (UNO, Duemilanove, Diecimilla, etc using the ATmega168 or '328) as well as any Mega R3 or later.

Mega R2 Arduinos work as well but you need to solder a wire from the SDA and SCL pin holes to the Mega's I2C pins on Digital #20 and #21

Using with the Arduino Leonardo and Yun

The IRQ pin is tied to Digital pin #2 by default. However, on the Arduino Leonardo and Yun, digital #2 is used for I2C which will not work. If using with a Leonardo or Yun, cut the trace beween the IRQ pin and Digital #2 and solder a wire from IRQ pin to Digital #4 or higher. Then change the example code so the the IRQ pin is declared as the new pin (say #6) not #2
Here are some photos of setting the IRQ pin to digital 6. First, use a sharp hobby knife to cut the trace from IRQ to 2
Solder a wire from IRQ to #6

This guide was first published on Dec 30, 2012. It was last updated on Mar 18, 2024.

This page (Shield Wiring) was last updated on Dec 30, 2012.

Text editor powered by tinymce.