IoT-Based Fingerprint Attendance System with Blynk Cloud Integration

Biometric Attendance Tracking with ESP32/Arduino, R305 Fingerprint Sensor, RTC Timestamping, Blynk IoT Dashboard, and CSV Data Export

Category: IoT, Embedded Systems, Biometric, Attendance
Tools & Technologies: ESP32, Arduino, R305 Fingerprint Sensor, DS3231 RTC, 16x2 I2C LCD, Buzzer, LED Indicators, Blynk IoT Platform, Python (CSV Export), EEPROM, Arduino IDE

Status: Completed

Introduction

This project implements a comprehensive fingerprint-based attendance system with IoT cloud integration via the Blynk platform. The system was developed in dual variants — an Arduino version for offline operation and an ESP32 version with full Blynk IoT connectivity. Students register their fingerprints and are linked to matric numbers via a lookup table supporting 60 students. The R305 fingerprint sensor handles biometric enrollment and matching, while the DS3231 RTC provides accurate timestamping for attendance records. Attendance data is synced to the Blynk cloud dashboard for real-time monitoring, and a Python companion script exports attendance records to CSV files via the Blynk HTTP API. EEPROM storage persists sign-in/sign-out state across power cycles.

System Overview System Overview


Aim and Objectives

Aim:
Design and develop an IoT-enabled fingerprint attendance system with cloud dashboard, RTC timestamping, and automated data export capabilities.

Objectives:

  • Enroll and authenticate students using R305 fingerprint sensor with support for up to 127 users.
  • Track sign-in and sign-out attendance with toggle-based state management per user.
  • Timestamp all attendance events using DS3231 RTC for accurate record keeping.
  • Sync attendance data to Blynk IoT dashboard for real-time monitoring by administrators.
  • Map fingerprint IDs to student matric numbers using a built-in lookup table.
  • Export attendance records to CSV via Python script using Blynk HTTP API.
  • Persist attendance states across power cycles using EEPROM storage.

Features & Deliverables

  • Biometric Authentication: R305 fingerprint sensor for secure student identification with enrollment and deletion capabilities.
  • Dual Platform: Arduino version (offline) and ESP32 version (IoT-enabled) sharing common architecture.
  • Blynk IoT Dashboard: Real-time attendance status with registered count, validated count, and sign-in/out indicators.
  • RTC Timestamping: DS3231 provides accurate date and time for all attendance events.
  • Matric Number Mapping: 60-student lookup table links fingerprint IDs to student identification numbers.
  • CSV Data Export: Python companion script fetches Blynk data and generates attendance CSV reports.
  • EEPROM Persistence: Sign-in/sign-out states survive power outages and system restarts.
  • Physical Controls: Six push buttons for enrollment, deletion, validation, and navigation.

Process / Methodology

Hardware Assembly

Components: ESP32/Arduino, R305 Fingerprint Sensor, DS3231 RTC, 16x2 I2C LCD, Buzzer, LEDs, Push Buttons.

  • Connected R305 fingerprint sensor via Hardware Serial2 (ESP32) or SoftwareSerial (Arduino).
  • Integrated DS3231 RTC via I2C for precise attendance timestamping.
  • Wired six push buttons for system operation (enroll, delete, validate, navigate).
  • Assembled in a desktop enclosure suitable for classroom deployment.

Software Development

  • Developed fingerprint enrollment, deletion, and matching workflows with LCD-guided user interface.
  • Implemented sign-in/sign-out toggle logic with EEPROM state persistence.
  • Integrated Blynk IoT with virtual pins for attendance data reporting and event logging.
  • Created Python data export script using Blynk HTTP API for CSV generation.

Testing & Calibration

  • Tested fingerprint enrollment and matching across multiple students for accuracy verification.
  • Validated EEPROM state persistence after multiple power cycles.
  • Verified Blynk data synchronization and CSV export accuracy.

Challenges & Solutions

  • Challenge: Fingerprint recognition accuracy affected by dirty or wet fingers.
    Solution: Implemented multiple enrollment templates per user and added retry logic with user feedback messages.
  • Challenge: EEPROM write endurance limits with frequent attendance state updates.
    Solution: Minimized EEPROM writes by only updating on state changes rather than periodic polling.
  • Challenge: WiFi connectivity interruptions in classroom environments.
    Solution: Implemented 10-second WiFi timeout with full offline operation capability.

Results & Impact

  • Reliable Authentication: R305 sensor provided accurate fingerprint matching with minimal false rejections.
  • Remote Monitoring: Blynk dashboard enabled administrators to track attendance in real-time.
  • Data Export: Python CSV export simplified attendance record analysis and reporting.
  • Persistent Records: EEPROM storage ensured no data loss during power interruptions.

Future Enhancements

  • Add facial recognition as a secondary biometric for multi-factor authentication.
  • Implement web-based dashboard for comprehensive attendance analytics.
  • Add automatic report generation and email distribution to administrators.
  • Scale to multi-classroom deployment with centralized database.

Demonstration / Access

  • GitHub Repository: Coming soon
  • Live Demonstration Video: Coming soon

Thank You for Visiting My Portfolio

I sincerely appreciate you taking the time to explore my portfolio and learn about my work and expertise. If you have any questions or wish to discuss potential collaborations, please feel free to reach out via the Contact section.

Best regards,
Damilare Lekan, Adekeye.