The Adafruit NFC Shield library is a port of the Arduino library for nRF51 and nRF52 microcontrollers. The library provides functions to read and write data in ISO/IEC 14443 A compatible NFC tags, creating an NFC polling device. The library is intended to be used with the Adafruit PN532 NFC Shield.
The API for the library is available here: Adafruit PN532 NFC Shield library
The Adafruit Tag Reader Example example shows how to use the library in an application.
The Adafruit NFC Shield is an Arduino Shield that uses the PN532 chipset for communicating through NFC. It can generate its own field to read and write NFC tags and behave like a tag itself. To communicate with a host microcontroller, the PN532 chip provides a communication protocol for TWI and SPI. See the PN532 User Manual for documentation of the protocol. More information about the shield is available on the product page: Adafruit PN532 NFC/RFID Controller Shield
The shield can cooperate with the nRF51 and nRF52 development boards (PCA10028, PCA10036, and PCA10040). These boards are Arduino-compatible. Therefore, no additional adaptation is needed to connect the shield to the board. A tutorial about how to connect the shield to an Arduino board is available here: Shield Wiring
The Adafruit NFC Shield library is a port of the library for Arduino, adapted to work with nRF51 and nRF52, with some improvements and bugfixes. The source code of the original library is available in the Adafruit GitHub repository.
The library provides the following functionality:
The library was tested with the nRF51 and nRF52 development boards. At the moment, the library supports communication with the shield via TWI only. The following pins are used to communicate between the NFC Shield and the development board:
Function | Adafruit NFC Shield | PCA10028 | PCA10036/PCA10040 |
---|---|---|---|
TWI SDA | SDA | P.30 | P.26 |
TWI SCL | SCL | P.07 | P.27 |
IRQ | Digital 2 | P.14 | P.13 |
RESET indicator | Digital 3 | P.15 | P.14 |
Make sure to connect the correct pin to the IRQ line that is specified in adafruit_pn532_config.h
. This file contains the default configuration, so in most cases, you do not need to update it.