A platform agnostic driver to interface the MFRC522 (RFID reader/writer)


What works

  • REQuest A
  • SELECT for single size UIDs


  • Make sure this works with the spidev crate (i.e. with the Raspberry Pi)
  • Anticollision loop -- SELECT works when there's only one nearby tag
  • Authentication (MFAuthent)
  • Reading / writing data into the tag
  • Configurable timeout
  • Make the API non-blocking and compatible with the interrupt pin
  • Support double and triple size UIDs -- I don't have hardware (tags) to test this.
  • ???


There's an example for the Raspberry Pi (3) in the examples directory. The example turns an LED on when a card is nearby and turns it off when a tag in nearby. There's a video of the example here. To reproduce the example you'll have to tweak the values of the card and tag UIDs (Unique IDentifiers).

The same example has been implemented for the Blue Pill development board. You'll find the code for that example in this branch of the blue-pill repository. If that branch is gone, check the master branch.


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


A platform agnostic driver to interface the MFRC522 (RFID reader/writer)

Mfrc522 Info

⭐ Stars 28
🔗 Source Code
🕒 Last Update 13 days ago
🕒 Created 4 years ago
🐞 Open Issues 5
➗ Star-Issue Ratio 6
😎 Author japaric