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 Oct 15, 2018.
This page (Shield Wiring) was last updated on May 04, 2015.