Go Down

Topic: MFRC522 RC522 RFID on ESP8266 featuring WebSocket JSON JavaScript (Read 126 times) previous topic - next topic


ESP-RFID Access Control with ESP8266


Access Control demonstration using a cheap RC522 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)
  • Bootstrap for beautiful Web Pages
  • Built-in HTML Editor
  • Thanks to ESPAsyncWebServer Library communication is Asyncronous

Join the development at github https://github.com/omersiar/esp-rfid. Pull Requests are welcomed.


  • Serve pre-compiled binaries
  • Logging access
  • Password Protection or Authentication for Tags instead trusting UID
  • Settings Panel for Wi-Fi, PICC Password, Factory Reset, NTP Client, etc
  • Schedule User Access
  • Polished web pages
  • Sync Time from Browser if no internet connection
  • Use Sming Framework for Development

Getting Started

Please install Arduino IDE if you don't already, then add ESP8266 Core on top of it. Additional Library download links are listed below:

  •     Arduino IDE - The development IDE
  •     ESP8266 Core for Arduino IDE - ESP8266 Core
  •     ESPAsyncWebServer - Asyncrone Web Server with WebSocket Plug-in
  •     ESPAsyncTCP - Mandatory for ESPAsyncWebServer
  •     NTPClient - NTP Library for Arduino IDE
  •     MFRC522 - MFRC522 RFID Hardware Library for Arduino IDE
  •     ArduinoJson - JSON Library for Arduino IDE

You may also need

  •     ESP8266FS Uploader - Arduino ESP8266 filesystem uploader

Unlisted libraries are part of ESP8266 Core for Arduino IDE, so you don't need to download them.

Known Issues

  • Built-in HTML Editor has hard-coded JavaScript that loads from CDN Internet
Pure SPI Library for 1602 LCD using Shift Register

RFID Access Control Project


This is probably very interesting  and may be very useful. But WTF is it all about?

How about writing a few paragraphs to introduce and explain it.


Two or three hours spent thinking and reading documentation solves most programming problems.

Go Up