gitwtfhub

wtf is adafruit-pn532?

zhovner/adafruit-pn532 — explained in plain English

Analysis updated 2026-07-18 · repo last pushed 2017-10-28

19C++Audience · developerComplexity · 3/5DormantSetup · moderate

TL;DR

An Arduino library forked from Adafruit's PN532 driver that reads and writes RFID and contactless payment cards, with a bigger buffer to support longer EMV card responses.

Mindmap

mindmap
  root((repo))
    What it does
      Read RFID cards
      Talk to PN532 chip
      SPI and I2C support
      Bigger response buffer
    Tech stack
      C++
      Arduino
      PN532 chip
    Use cases
      Access control systems
      Payment card readers
      Loyalty card scanners
    Audience
      Arduino hobbyists
      Hardware developers
    Fixes
      Buffer size increase
      Mifare ID bug note
    Notes
      Fork of Adafruit lib
      Protocol level docs

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Build a dorm or office access control reader that authenticates RFID cards wirelessly.

REASON 2

Read longer EMV payment card responses that the original Adafruit library's 64-byte buffer couldn't handle.

REASON 3

Build a demo payment or loyalty card scanner using an Arduino and PN532 chip.

What's in the stack?

C++Arduino

How it stacks up

zhovner/adafruit-pn532diskclaw/sslclawfuzzsociety/usbstackfuzz
Stars191919
LanguageC++C++C++
Last pushed2017-10-28
MaintenanceDormant
Setup difficultymoderateeasyhard
Complexity3/52/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 1h+

For 7-byte ID Mifare Classic cards, use only the last 4 bytes when authenticating or you'll get a syntax error.

Yoink these prompts

Prompt 1
Show me how to wire a PN532 chip to an Arduino over I2C and read a card's ID using this library.
Prompt 2
Explain why this fork increased the response buffer from 64 to 255 bytes and when that matters for EMV cards.
Prompt 3
Help me fix a Mifare Classic authentication error caused by using all 7 ID bytes instead of the last 4.
Prompt 4
Walk me through the command and response format this library sends to the PN532 chip.

Frequently asked questions

wtf is adafruit-pn532?

An Arduino library forked from Adafruit's PN532 driver that reads and writes RFID and contactless payment cards, with a bigger buffer to support longer EMV card responses.

What language is adafruit-pn532 written in?

Mainly C++. The stack also includes C++, Arduino.

Is adafruit-pn532 actively maintained?

Dormant — no commits in 2+ years (last push 2017-10-28).

How hard is adafruit-pn532 to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is adafruit-pn532 for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.