Quickstart
This path verifies a PN532 or PN532Killer over USB with the same PN532 CLI.
1. Connect the hardware
Use a USB data cable and avoid an unpowered hub. On Windows, check Ports (COM & LPT) for the CH343 serial port. If it is absent, install the CH343 driver.
On macOS or Linux, compare the serial-device list before and after connection:
# macOS
ls /dev/cu.*
# Linux
ls /dev/ttyUSB* /dev/ttyACM* 2>/dev/nullFor PN532Killer, keep Settings → Host Interface on USB during initial setup.
2. Install the PN532 CLI
For the firmware updater, emulator export, MFKey helpers, and recovery commands documented here, install the beta development channel:
git clone --branch dev https://github.com/whywilson/pn532-python.git
cd pn532-python
python3 -m pip install -r script/requirements.txt
python3 script/pn532_cli_main.pyThe repository publishes packaged beta builds as beta.* prereleases. Use main instead when you need the stable branch's high-level ntag read and ntag write commands.
3. Connect and identify the device
hw connect
hw versionThe connection result identifies PN532 or PN532Killer. If auto-detection does not select the right port, specify it:
hw connect -p COM3
hw connect -p /dev/ttyUSB0For frame-level diagnostics, run debug on and reproduce the operation.
4. Perform a safe scan
On PN532Killer, explicitly return to Reader mode first:
Stops any active Emulator or Sniffer session and restores reader operation.
Then use the same non-destructive scan on either device:
hf 14a scanPN532Killer also exposes ISO/IEC 15693:
hf 15 scan
hf 15 infoStart with reads. Do not write a full dump until you understand manufacturer blocks, access conditions, lock bytes, and counters.