Skip to content

torikul007/SmartAttend-IoT-Based-RFID-Attendance-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SmartAttend-IoT-Based-RFID-Attendance-System

ESP32 RFID Attendance and Registration System

This project is a complete offline + online RFID-based attendance and registration system built using an ESP32, MFRC522 RFID reader, DS3231 RTC, ILI9341 TFT display, and Google Sheets integration via a Google Apps Script Web App. HTML Email Reports with user name, UID, time/date, and mode

It features real-time attendance marking, offline data storage with auto-sync, registration, time tracking, email notifications, and a user-friendly TFT interface.


πŸ“Œ Features

  • πŸ” RFID Authentication with MFRC522
  • 🌐 Wi-Fi Connectivity with auto-reconnect and signal strength display
  • πŸ“… Real-Time Clock (DS3231) with NTP sync when online
  • πŸ“Š Google Sheets Integration for logging attendance & registration
  • πŸ“€ Offline Data Logging to EEPROM with auto-upload when online
  • πŸ“§ Email Notifications using ESP_Mail_Client (SMTP via Gmail)
  • πŸ–₯️ TFT Display (ILI9341) with mode, time, date, UID info, status icons
  • 🧠 EEPROM Storage (512 bytes) for offline mode
  • πŸ”” Buzzer Feedback and LED WiFi status indicators
  • πŸ”˜ Mode Toggle Button between Registration and Attendance
  • 🧾 HTML Email Reports with user name, UID, time/date, and mode
  • πŸ’‘ WiFi Icon UI shows signal bars or red cross when disconnected

πŸ”§ Hardware Requirements

Component Model / Specs
Microcontroller ESP32 (DevKit / NodeMCU)
RFID Reader MFRC522
RTC Module DS3231
Display ILI9341 2.4"/2.8" SPI
EEPROM Built-in (512 bytes used)
Buzzer Passive Buzzer (Pin 27)
LED Indicator (Pin 26)
Button Toggle mode (Pin 25)

stateDiagram-v2 [*] --> Idle

Idle --> ModeSwitch : Button Press
ModeSwitch --> Idle : Mode toggled (reg <-> atc)

Idle --> ScanCard : Card detected

ScanCard --> CheckWiFi : Check WiFi connection

CheckWiFi --> Online : WiFi connected
CheckWiFi --> Offline : WiFi disconnected

Online --> Registration : Mode == reg
Online --> Attendance : Mode == atc

Registration --> SendRegisterRequest : Send UID & Mode to Server
SendRegisterRequest --> RegisterSuccess : UID not registered
SendRegisterRequest --> RegisterFail : UID already registered
RegisterSuccess --> SendEmailNotification
RegisterFail --> Idle
SendEmailNotification --> Idle

Attendance --> CheckUID : Check UID in user database
CheckUID --> UIDFound
CheckUID --> UIDNotFound

UIDFound --> CheckTodayAttendance

CheckTodayAttendance --> MarkTimeIn : No attendance today
CheckTodayAttendance --> MarkTimeOut : Time In exists but no Time Out
CheckTodayAttendance --> AttendanceComplete : Time In and Time Out already marked

MarkTimeIn --> SendAttendanceRequest
MarkTimeOut --> SendAttendanceRequest

SendAttendanceRequest --> AttendanceSuccess
SendAttendanceRequest --> AttendanceFail

AttendanceSuccess --> SendEmailNotification
AttendanceFail --> LogOfflineData

SendEmailNotification --> Idle

UIDNotFound --> ShowErrorMessage : UID not registered
ShowErrorMessage --> Idle

Offline --> LogOfflineData : Save scan data to EEPROM
LogOfflineData --> Idle

Idle --> SyncOfflineData : WiFi reconnect detected
SyncOfflineData --> SendOfflineDataRequests
SendOfflineDataRequests --> SyncComplete
SyncComplete --> Idle

About

Attendance System provides fast, reliable attendance and registration with RFID cards, syncing data live to Google Sheets. It seamlessly stores data offline during WiFi outages and auto-syncs when online again, featuring real-time clock, vibrant TFT display, buzzer feedback, WiFi signal indicator, and easy mode switching. Repot send on Mail

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors