salmg/academy
Sign in
Setup guides

My PN532 board is wired up and completely silent

Check the bus selector before the wiring. The board must be told whether it is speaking UART, I²C or SPI, and the default is often not the one you assumed.

PN532 breakout boards carry a pair of DIP switches or solder jumpers that select the host interface. The chip does not autodetect. If the selector says I²C and you have wired a serial adapter to the TX and RX pins, everything is connected correctly and nothing will ever answer — which reads exactly like a dead board.

Once the selector matches the wiring, do not start with a card. Ask the chip to identify itself first, because that separates "my host link is wrong" from "my antenna or card is wrong" in one step. GetFirmwareVersion is command code 0x02 in the PN532 command set, takes no arguments, and answers with the chip identifier and version.

CommandCodeUse it to
GetFirmwareVersion0x02Prove the host link works at all. Always the first command.
SAMConfiguration0x14Put the chip in normal mode. Skipping it is why a board answers version queries and then ignores cards.
InListPassiveTarget0x4AFind a card in the field and get its identifier.
InDataExchange0x40Send an APDU to the card you just found. This is the one that carries EMV.
InCommunicateThru0x42Send raw frames without the chip managing the protocol for you.