Giter Club home page Giter Club logo

mfrc630's Introduction

MFRC630

This is a library for NXP's MFRC630 NFC and reader IC. It is likely that it also works for other IC's in the same family, such as the CLRC663, MFRC631, MFRC630 and SLRC610. The library is platform independent and is likely to work on many different microcontrollers, it is known to work on the Arduino compatible Teensy and on an STM32F0xx chip.

Design

The library itself is written in C, it requires the chip to be connected to the SPI interface, furthermore, it can only deal with a single chip that's connected to the microcontroller. The library does not require time or delay functions neither does it need an interrupt pin, all that is required is the SPI bus. The handling of timeouts is done by using one of the chip's timers.

The library is clearly structured, providing functionality from low level to higher level:

  • HAL: Three functions are to be created to allow the library to interact with the SPI bus.

  • Register interaction: The adresses for all registers are provided as define statements, functions for FIFO reading and writing are available, as well as reading and writing normal registers. For various important registers there are additional define statements available that make it easier to interact with these.

  • Commands: The chip can be instructed to execute various commands, these functions provide wrappers for these and handle the arguments required for each command.

  • ISO14443A: Provides the necessities from ISO14443a to interact with RFID tags: the REQA, WUPA and SELECT procedure (with collision handling) to determine the UID(s).

  • MIFARE: Provides functions to authenticate, read and write blocks on MIFARE cards.

Documentation

The header files are annotated with Doxygen-style comments, running make doxygen in the documentation folder will output the documentation in html form. Additionally, running make will also generate output using Breathe.

An example for an Arduino compatible board is provided as well as some pointers for use on an STM32 microcontroller.

Miscellaneous

This chip seems to be significantly less popular than the MFRC522, if you are starting with RFID, that might be a better choice to use, as there is a well-tested library for that chip.

I came across this chip when I was repurposing off-the-shelf hardware to do my bidding; Surprisingly, no library was available for this chip. Improvements / additional examples are welcome.

License

MIT License, see LICENSE.txt.

Copyright (c) 2016 Ivor Wanders

mfrc630's People

Contributors

iwanders avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.