NFC library for Arduino using PN532
C++ Processing Arduino C
Pull request Compare This branch is 26 commits ahead, 68 commits behind Seeed-Studio:master.
Latest commit 87469e7 Mar 1, 2017 @wilson-elechouse wilson-elechouse committed on GitHub Merge pull request #10 from pcedison/PN532_HSU
Set the default Mode for I2C & include necessary .h

NFC library for Arduino

This is an Arduino library for PN532 to use NFC technology. It's based on Adafruit_NFCShield_I2C , improved by Seeed Studio, added HSU(High Speed Uart) driver by Elechouse.

It works with:


  • Support all interfaces of PN532 (I2C, SPI, HSU )
  • Read/write Mifare Classic Card
  • Works with Don's NDEF Library
  • Support Peer to Peer communication(exchange data with android 4.0+)
  • Support mbed platform

Getting Started

  1. Download zip file and extract the three folders(PN532, PN532_SPI, PN532_HSU and PN532_I2C) into libraries of Arduino.
  2. Downlaod Don's NDEF library and extract it into libraries of Arduino's into a new folder called "NDEF" (Note if you leave this folder as NDEF-Master Arduino will not be able to use it as a library)
  3. Follow the examples of the PN532 library

To do

  • Card emulation

HSU Interface

HSU is short for High Speed Uart. HSU interface needs only 4 wires to connect PN532 with Arduino, Sensor Shield can make it more easier. For some Arduino boards like Leonardo, DUE, Mega ect, there are more than one Serial on these boards, so we can use this additional Serial to control PN532, HSU uses 115200 baud rate .

To use the Serial1 control PN532, refer to the code below.

#include <PN532_HSU.h>
#include <PN532.h>

PN532_HSU pn532hsu(Serial1);
PN532 nfc(pn532hsu);

void setup(void)