ACR122U
The ACR122U, also sold as ACR122, is a USB NFC reader in a finished case with a built-in cable, status LED, and beeper. It can scan supported Zaparoo NFC tags and cards, but it has more compatibility caveats than the PN532 USB.
Core talks to it through the ccid driver, which supports USB smart card readers with a contactless slot. The same driver handles the ACS ACR1552U, Feitian bR500, and other USB smart card readers.
If you're buying your first reader, a PN532 USB is a safer choice. It avoids the ACR122U clone compatibility issues described below. The Zaparoo Shop stocks official PN532 readers that support the project.
The ACR122U is no longer produced by its original designer ACS, so new listings are usually clone hardware. Internal differences between clones can affect Zaparoo compatibility, and they are not always visible from the listing.
Platforms
Configure the reader
The ccid driver is enabled and auto-detects the ACR122U when you plug it in, so most setups need no configuration. It can read and write NTAG and MIFARE Classic tags.
On Windows and on Linux systems running the PC/SC service (pcscd), Core goes through that service. Elsewhere, such as on MiSTer, it talks to the reader over USB directly, so no extra software is needed. On desktop Linux and SteamOS, that needs the udev rule from Core's hardware support; see Linux or SteamOS if the reader does not scan.
Manual configuration
If you have more than one smart card reader and need to pick one, add a connection with the reader's name as the path:
[[readers.connect]]
driver = "ccid"
path = "ACS ACR122 0"
The path is the reader's PC/SC name on Windows and on Linux with pcscd, and a USB port such as usb:1-1.2:0 elsewhere. Both appear as path= on the ccid: found smart card reader line in the log. Connections written for the old acr122pcsc driver still work.
libnfc driver
The older libnfcacr122 driver is still available on Linux-based platforms. It is enabled but does not search for the reader unless you turn on auto-detect for it in config.toml. Turn off the ccid driver at the same time, or it takes the reader first:
[readers.drivers.libnfcacr122]
auto_detect = true
[readers.drivers.ccid]
enabled = false
Use it only if the ccid driver cannot read your reader. Its LED and beeper do not react when scanning a card.
Windows
On Windows, the reader should appear under Smart card readers in Device Manager. The LED usually lights red and flashes green when a card is scanned. The reader may also beep on scan.
Troubleshooting
If Windows does not detect the reader, check these items:
Enable the Smart Card Plug and Play service via regedit:
| Description | Value |
|---|---|
| Registry Hive | HKEY_LOCAL_MACHINE |
| Registry Path | SOFTWARE\Policies\Microsoft\Windows\ScPnP |
| Value Name | EnableScPnP |
| Value Type | REG_DWORD |
| Enabled Value | 1 |
| Disabled Value | 0 |
Install the official ACS ACR122U driver. You can confirm it is working when ACR122 Smart Card Reader appears in the Smart card readers section of Device Manager.
Make sure Smart Card and Smart Card Device Enumeration are running in the Services Manager. Their startup types should be Automatic and Automatic (Trigger Start).
Reboot Windows after changing drivers, registry values, or services.
Where to buy
The ACR122U can be found by searching for "ACR122U" on sites like Amazon, eBay and AliExpress.
Please be aware there's still a risk of receiving an incompatible variant even from these listings.
These are some known working listings submitted by users: