Skip to main content
This is unreleased documentation for the next Zaparoo Core release.
For up-to-date documentation, see the latest version (Stable).
Version: Next

Readers

Readers are the hardware that scans tokens and tells Zaparoo what to launch. Choose from ready-to-use USB readers, DIY modules, cartridge bridges, optical drives, or virtual readers that need no hardware at all. Terms like NFC, NDEF, and UID are defined in the glossary.

If you are buying your first reader, start with the PN532 USB. It works on every platform, is detected without configuration (Windows sometimes needs a serial driver, covered on its page), and is the reader stocked in the Zaparoo Shop. Not sure what you need? The setup guide picks a reader for your platform and tokens.

Buying generic hardware

Not every reader sold as "NFC" or "RFID" works with Zaparoo, and some cheap ones are unreliable. Check the reader's page here before you buy, or use official hardware from the Shop, which is tested and includes a case. Community members also sell custom readers and cases; ask in the Discord to find someone near you.

Comparison​

Support levels: Supported means Core detects and uses the reader with the setup shown. Limited means it works with caveats listed on the reader's page. Each reader page has a per-platform card with the current notes.

ReaderBest forToken typesSetupSupport
PN532 USBMost peopleNFC cards, tags, toysPlug and playSupported on every platform
PN532 moduleDIY builds and custom casesNFC cards, tags, toysWiring requiredSupported on every platform
ZapESP32Wireless DIY reader with sound and lightsNFC cards, tags, toysFlash an ESP32Supported on every platform, over the network
ACR122UIf you already own oneNFC cards, tags, toysEnable in configLimited everywhere; no writing on Windows, not on macOS
RC522If you already own oneNFC cards, tagsNeeds a Simple Serial bridgeLimited; needs a microcontroller
Zaparoo App cameraNo hardware at allBarcodes, QR codesFree in the AppSupported on every platform
Serial barcode scannerHands-free barcode setupsBarcodes, QR codesRS-232 or USB-COM mode, manual configSupported on every platform
Optical driveLaunching from real discsCDs, DVDs, Blu-raysAuto-detect or manual configSupported on Linux-based platforms; not on Windows
Epilogue OperatorOriginal cartridges on MiSTerGB/GBC/GBA, SNES, N64 cartridgesInstall the bridgeMiSTer only
External driveUSB sticks and SD cards as tokensRemovable drivesEnable in configSupported on every platform
MQTT readerHome Assistant and automationAnything sent over MQTTBroker configSupported on every platform
File readerScripts and testingText filesNo hardwareSupported on every platform
Simple SerialBuilding your own readerAnything your firmware sendsFirmware and serial configSupported on every platform

All NFC readers can scan NFC cards and tags, NFC toys, and PCB cards. TTY2OLED is a display add-on that shows what is playing; it does not scan tokens. Driver IDs and manual configuration for every reader are on the reader drivers page.

You can connect as many readers as you want; each one operates independently.

Troubleshooting​

A reader is not detected. Check the reader's own page for its driver and any manual configuration, then turn on debug_logging = true in config.toml and read the log to see what Core finds.

Permission denied opening the reader's serial port. On Linux-based platforms, add your user to the dialout group (sudo usermod -a -G dialout $USER), then log out and back in. On Linux, SteamOS, Bazzite, and ChimeraOS, the hardware install component adds a udev rule that avoids this for common readers.

A USB serial reader stops working after a reconnect. Unplug it, wait a few seconds, and plug it back in. If it still fails, restart Core; see reader drivers for the USB and legacy driver notes.