Planning


 Project update

Blog 2

Project planning:


Components to be used:

·      RTC module for real time

·      SQL Database server

·      ESP32 Dev module for WIFI

·      LCD 16x2 i2c module

·      Breadboard

·      Jumper wires

·      5V power supply

·      C-cable lead.

·      Resistors

·      LEDS

·      Push buttons



 

Software:

SQL database

Arduino IDE (for ESP32)

 

Implementation process:

The ESP32 microcontroller serves as the central brain of the attendance system, managing all operations including WiFi communication, fingerprint processing, display control, and time management. Unlike traditional Arduino boards, the ESP32 eliminates the need for separate WiFi modules by having built-in wireless capabilities, allowing it to communicate directly with the cloud server where all attendance data is stored. It processes fingerprint data received from the sensor, sends this information to the server for verification, and controls all the output devices based on the responses received. The ESP32 also manages the real-time clock to ensure attendance is only accepted during scheduled class periods and handles the professor mode authentication and attendance lock functionality.

 

The R307 fingerprint sensor acts as the primary input device that captures and processes student fingerprints for identification. When a student places their finger on the optical sensor, it captures the fingerprint image and generates a unique digital template representing the fingerprint's distinctive features. This template is then transmitted to the ESP32, which forwards it to the server for matching against the database of enrolled students. The sensor includes its own processing chip that handles the complex task of feature extraction, ensuring accurate and reliable identification while offloading this computational work from the main microcontroller. It can distinguish between different fingers and reject poor quality scans, requesting the user to try again if the fingerprint placement was incorrect.

 

The 16x2 LCD display with I2C interface provides visual feedback to users throughout the attendance process, showing system status messages, prompts for fingerprint placement, and confirmation of successful attendance marking. When a student is identified, the display shows their name and roll number, providing immediate verification that the correct person has been recorded. For error conditions, it displays clear messages such as "Not Registered" for unknown fingerprints, "Already Marked Present" for duplicate attempts, or "Wrong Class" when a student from a different course tries to scan. The I2C interface simplifies wiring by using only two data lines, making the system more reliable and easier to assemble while preserving GPIO pins for other components.

 

The DS3231 real-time clock module maintains accurate time tracking even when the device is powered off, using a backup battery to ensure the system always knows the correct time upon startup. This accuracy is critical because the system must verify that attendance attempts occur during scheduled class periods and reject scans outside these windows. The ESP32 periodically synchronizes this module with internet time servers to correct any drift, ensuring long-term precision. When a student scans their fingerprint, the system reads the current time from this module and includes it in the attendance record sent to the server, creating an accurate timestamp for each attendance event.

 

The supporting components including push buttons, LEDs, and a buzzer enhance the user interface and system functionality. Push buttons allow professors to securely access the attendance lock feature by pressing a specific sequence or combination, ensuring only authorized personnel can enable or disable attendance marking. The LEDs provide immediate visual status indicators, with a green light flashing for successful scans, red for errors, and blue indicating active server connection. The buzzer adds audible feedback, using different tones and patterns to confirm successful attendance, warn about errors, or signal that the system is locked, making the system accessible even for users who may not be looking directly at the display.

 


Comments

Popular posts from this blog

ESP32 and I2C LCD Integration

RTC and LCD - how the code works