MFRC522 RFID on ESP8266 featuring WebSocket, JSON, NTP Client, Javascript , SPIFFS

Similar projects worth following
Access Control demonstration using a cheap MFRC522 RFID Hardware and Espressif's ESP8266 Microcontroller.


  • Using WebSocket protocol to exchange data between Hardware and Web Browser
  • Data is encoded as JSON object
  • Records are Timestamped (Time synced from a NTP Server) (tested but not implemented yet)
  • Bootstrap for beautiful Web Pages for both Mobile and Desktop Screens
  • Thanks to ESPAsyncWebServer Library communication is Asyncronous

  • 1 × ESP8266 Wemos D1 Mini or ESP-12
  • 1 × MFRC522 RFID Reader ISO 14443A

  • How many RFID Tag can be handled?

    omersiar07/31/2017 at 20:13 0 comments

    Write some user data on File System worth:

    • 100 seperate "userfile"
    • random 4 Bytes long UID and
    • "Test Name Test Surname Label" as User Name and
    • each have access status integer "1" or "0".

    Total 4,284 Bytes

    At least 100 unique User (RFID Tag) can be handled, the test were performed on WeMos D1 mini.

  • Change Log

    omersiar07/31/2017 at 20:09 0 comments

    [0.1a] - 2017-07-14

    - Now you can select Wi-Fi mode.

    - Some fixes (features) were not included in previous release
    - NTPClient wastes CPU time when device is in AP mode. (probably tries to force update time)

    [0.1] - 2017-07-12 - :hurray: We hit the 0.1!

    - Relay Module configuration in Settings Page (You need to make sure how the relay module reacts when device is restarting or on power-on, make changes accordingly). I may try to make it more universal, but for now it's up to you.
    - Relay Test Button
    - Ability to Add known PICC to User List (useful to add new PICC to device when device is already deployed)

    - Maintaining RST pin for MFRC522 hardware is removed. MFRC522 library now supports for soft-reset, we do not need hardware reset anymore this frees a GPIO from MCU. (suggested by @farthinder #6

    [0.1rc2] - 2017-07-10 - Release Candidate

    - User List table now automaticly sorted by Name
    - Click on an any element on User List to edit via Add / Update User
    - User List actions are instantly happens on the ESP hardware.
    - Javascript functions (As suggested from JSHint and Codacy)
    - Run a test where 100 seperate User can be handled (see

    [0.1rc1] - 2017-07-05 - Release Candidate

    - Simple Firmware Update from settings page
    - SPIFFS Update from settings page
    - Now you can define a user name (or any label) for each PICC
    - Now each PICC can be individually configured for access (before this, every known PICC had an access)
    - Logging In Authorization is now done via Async XMR Request. Browsers does not complain about it being synchronous anymore. (Tested with Chrome and Firefox)
    - Inform web user while pages are loading
    - Configuration rutine
    - Seperate settings page and Users specific page
    - Appending ChipID to hostmane

    [0.0.3] - 2017-06-22

    - RFID Hardware Pin and Gain settings via Web
    - New WebSocket commands and better command scheme
    - can not fallback to AP Mode if configuration file is missing/corrupt
    - Seperate Javascript file
    - Refactor settings page
    - Refactor Fall Back to AP Mode behaviour
    - Rafactor configuration file structure
    - Web page files now have support for mobile devices and as well as PCs
    - Jumbotron CSS

    [0.0.2] - 2017-06-10

    - 'Settings' Menu - (and some snippets)
    - Wi-Fi Client Settings can now be configured via Web
    - STA - AP Mode behaviour is improved
    - Minor changes

    [0.0.1] - 2017-05-10

    - Initial public upload
    - Code is now heavily commented

View all 2 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates