#rfid #driver #spi #driver-interface #uid #communication #authentication #classic #pin

no-std mfrc522

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

11 releases (7 breaking)

0.8.0 Nov 24, 2024
0.7.0 Jan 13, 2024
0.6.1 Nov 4, 2023
0.6.0 May 19, 2023
0.1.0 Jan 17, 2018

#467 in Embedded development

Download history 81/week @ 2025-03-05 68/week @ 2025-03-12 4/week @ 2025-03-19 33/week @ 2025-03-26 141/week @ 2025-04-02 148/week @ 2025-04-09 64/week @ 2025-04-16 79/week @ 2025-04-23 8/week @ 2025-04-30 101/week @ 2025-05-07 43/week @ 2025-05-14 15/week @ 2025-05-21 2/week @ 2025-05-28 23/week @ 2025-06-04 53/week @ 2025-06-18

79 downloads per month
Used in 3 crates

MIT/Apache

615KB
1.5K SLoC

Rust MFRC522 driver

This is a no_std driver for the MFRC522, an ISO/IEC 14443 A/MIFARE reader/writer IC.

This repository is an extension of japaric/mfrc522 and the new home of the mfrc522 crate.
For more information on the background of this repository, go here.

What works:

  • SPI communication with the MFRC522
  • Anticollision loop
  • Select for 4-byte and 7-byte UIDs
  • Mifare Classic authentication
  • Reading/writing data
  • Configurable timeout
  • Non-blocking API + support for the interrupt pin
  • Mifare Ultralight C 3DES authentication (no support planned)

Examples

In the examples/ directory, you can find examples for:

  • STM32L4 (no_std + embassy)
  • Raspberry Pi 2040 (no_std + rp-hal)
  • Raspberry Pi 4 (std)

License

Licensed under either of

at your option.

Contribution

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.

Dependencies