EduTrack Pro: Smart IoT-Based Attendance System Using ESP8266/ESP32 and RFID
Author: Sakshyam Bastakoti
Published: September 30, 2025
GitHub: github.com/sakshyambastakoti
Introduction
Attendance management is one of the most fundamental tasks in schools, colleges, offices, and events. Traditional methods like manual registers or roll calls are slow, error-prone, and inefficient. Advanced biometric systems exist but are often expensive, complex, and difficult to scale.
This inspired me to build EduTrack Pro, a DIY IoT Smart Attendance System that uses ESP8266/ESP32, RFID technology, and cloud integration to make attendance fast, reliable, and automated.
With EduTrack Pro:
- Students or employees tap their RFID cards.
- Attendance is logged in real-time in Google Sheets or Firebase.
- Admins can view dashboards, reports, and analytics anytime.
This article is a complete guide to building your own system, including hardware setup, software, code, testing, and deployment.
Project Overview
EduTrack Pro is designed to be:
- Simple to build – Requires minimal components.
- Scalable – Works for a single classroom or large institutions.
- Affordable – Total cost under $20.
- Cloud-enabled – Attendance can be monitored anywhere.
How It Works
- RFID Scan: User taps their RFID card.
- NodeMCU/ESP32 Processing: Reads UID and checks validity.
- Real-Time Feedback: LCD and buzzer/LED indicate successful scan.
- Data Upload: UID, timestamp, and user info sent to cloud (Google Sheets/Firebase).
- Admin Monitoring: Web dashboard displays attendance, statistics, and reports.
Components Required
Component | Purpose | Quantity |
---|---|---|
NodeMCU ESP8266 / ESP32 | Microcontroller for processing and Wi-Fi | 1 |
RFID RC522 Module | Reads RFID tags/cards | 1 |
RFID Cards/Tags | Unique ID for each user | As needed |
LCD 16x2 with I2C | Displays scan status | 1 |
Buzzer | Audio feedback | 1 |
LED + Resistor | Visual feedback | 1-2 |
Breadboard & Jumper Wires | For prototyping | As needed |
USB Power Supply | 5V input | 1 |
Optional: Push button for Wi-Fi reset/configuration.
Circuit Diagram and Connections
RFID RC522 to ESP8266 Connections
- SDA → D2
- SCK → D5
- MOSI → D7
- MISO → D6
- RST → D1
- 3.3V → 3.3V
- GND → GND
LCD I2C to ESP8266
- SDA → D2 (GPIO4)
- SCL → D1 (GPIO5)
- VCC → 5V
- GND → GND
LED & Buzzer
- LED → D8 (GPIO15) with resistor
- Buzzer → D0 (GPIO16)
Tip: For ESP32, adjust GPIO pins accordingly.
Software Implementation
NodeMCU / ESP32 Firmware
Required Libraries:
- ESP8266WiFi.h / WiFi.h for ESP32
- WiFiManager.h for easy Wi-Fi setup
- MFRC522.h for RFID
- LiquidCrystal_I2C.h for LCD
- HTTPSRedirect.h or HTTPClient.h for cloud requests
// EduTrack Pro - Simplified NodeMCU Example
#include <ESP8266WiFi.h>
#include <WiFiManager.h>
#include <MFRC522.h>
#include <LiquidCrystal_I2C.h>
#define SS_PIN D2
#define RST_PIN D1
MFRC522 mfrc522(SS_PIN, RST_PIN);
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
Serial.begin(115200);
SPI.begin();
mfrc522.PCD_Init();
lcd.begin();
lcd.print("System Starting...");
WiFiManager wifiManager;
wifiManager.autoConnect("EduTrackProAP");
}
void loop() {
if (!mfrc522.PICC_IsNewCardPresent() || !mfrc522.PICC_ReadCardSerial()) return;
String uid = "";
for (byte i=0; i < mfrc522.uid.size; i++) {
uid += String(mfrc522.uid.uidByte[i], HEX);
}
uid.toUpperCase();
lcd.clear();
lcd.print("UID: " + uid);
// Send UID to cloud server
sendToCloud(uid);
}
Cloud Integration
You can use either:
- Google Sheets: Deploy Apps Script Web App to receive UID and log attendance.
- Firebase Realtime DB: Set up a Firebase project; ESP8266/ESP32 sends HTTP POST to update the database.
Web Dashboard
- Hosted on Netlify/GitHub Pages
- Fetch data via Google Sheets API or Firebase SDK
- Display total attendance, absentees, charts
Testing & Troubleshooting
- Check power connections
- Verify RFID scan
- Ensure Wi-Fi connection
- Test cloud logging via Serial Monitor
- Refresh web dashboard to confirm real-time update
Advantages of EduTrack Pro
- Time-saving & automated
- Low-cost solution (<$20)
- Scalable for classrooms or offices
- Real-time monitoring and analytics
- Educational value for IoT learners
Future Enhancements
- Add NTP time sync for accurate timestamps
- Integrate face recognition with ESP32-CAM
- Push SMS/email notifications for absentees
- Support multi-class/multi-institution
- Encrypt UID transmission for security
Real-World Applications
- Schools/Colleges – Student attendance tracking
- Offices – Employee check-ins
- Events & Conferences – Participant logging
- Libraries/Labs – Resource usage monitoring
Conclusion
EduTrack Pro demonstrates how affordable hardware, cloud integration, and IoT technology can modernize attendance management. This project is perfect for makers, students, and educators to learn IoT, RFID, and cloud dashboard integration. Customize, expand, and make it your own!
Contact: sakshyamxeetri@gmail.com
GitHub: github.com/sakshyambastakoti