Skip to content

Repository files navigation

NFS Attendance System

An RFID-based Smart Attendance System built with Arduino Uno and Python that automates student attendance recording while preventing duplicate registrations and unauthorized access.


Overview

The NFS Attendance System combines embedded hardware with desktop software to create an efficient attendance management solution.

Students register attendance by scanning their RFID cards. The system instantly validates the card, provides visual and audio feedback, and stores attendance records in a CSV file through serial communication between Arduino and Python.


Features

  • RFID-based student identification
  • Automatic attendance registration
  • Prevents duplicate attendance entries
  • Detects unknown RFID cards
  • Green/Red LED status indicators
  • Buzzer notifications
  • LCD display for real-time messages
  • Automatic CSV attendance logging
  • Timestamp generation
  • Python serial communication
  • Easy integration with Microsoft Excel

System Workflow

  1. Power on the Arduino system.
  2. Scan an RFID card.
  3. The system checks whether the UID is registered.
  4. If the student is valid:
    • Green LED turns on.
    • Buzzer beeps once.
    • LCD displays a welcome message.
    • Attendance is recorded.
  5. If the student has already registered:
    • Red LED turns on.
    • Buzzer beeps twice.
    • LCD displays Already Present.
  6. If an unknown card is scanned:
    • Red LED turns on.
    • Buzzer alerts.
    • LCD displays Unknown Card.
  7. Python receives the attendance data and stores it in attendance_log.csv.

Hardware Components

  • Arduino Uno
  • MFRC522 RFID Module
  • RFID Cards / Tags
  • 16x2 I2C LCD
  • Green LED
  • Red LED
  • Buzzer
  • Breadboard
  • Jumper Wires

Software

Arduino

  • C++
  • SPI Library
  • MFRC522 Library
  • Wire Library
  • LiquidCrystal_I2C

Desktop

  • Python 3
  • PySerial
  • CSV
  • OS
  • Datetime

Project Structure

NFS-Attendance/
│
├── NFS Attendance.cpp
├── attendance_log.csv
├── README.md
├── LICENSE
└── Project Photos/

Output

Each attendance record includes:

Field Description
UID RFID Card ID
Name Student Name
Date & Time Attendance Timestamp
Status Present

Future Improvements

  • Database integration (MySQL / SQLite)
  • Cloud synchronization
  • Web Dashboard
  • Mobile Application
  • Face Recognition
  • Fingerprint Authentication
  • Email Notifications
  • Attendance Analytics

Author

Mohamed AlBry

Faculty of Computer Science & Artificial Intelligence


License

This project is licensed under the MIT License.

About

An RFID-based student attendance system that automates attendance tracking by identifying authorized student cards, providing instant visual and audio feedback, preventing duplicate or unauthorized entries, and logging attendance records with timestamps into a CSV file through seamless integration between Arduino hardware and a Python application.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages