Bio-metric Attendance

Attendance is part of any learning environment. If you do not attend the lectures or practical sessions, your chances of failure increases.

For years I took attendance either by making a class list available for the students to sign or by calling out each student's name. But this was only part of the process! The other part involved entering the attendance onto either a spreadsheet or web based system in order to gather some statistics. For small classes this might not be an issue, but for large classes... It becomes a mess!!

Since I love automation, I decided to design a bio-metric attendance solution using a fingerprint scanner, an Arduino Mega and an ITDB3.2 inch TFT LCD.

Other Systems

A number of universities are implementing, or have implemented, automated attendance systems. Some of the methods being used includes:

  • Scanning student cards in class
  • using a clicker system
  • logging on to a specific website before the class starts
  • etc...

None of these methods guarantees that a students does not sign the attendance register for his/her friend/s.

My Solution

The system I developed uses a finger print scanner to identify each student, and is built into a rugged aluminium enclosure (The enclosure is still a prototype).

Current features of the system include:

  • Adding new students to the system
  • Creating attendance sessions
  • Deleting attendance sessions
  • Scanning fingers (duh)
  • Adding scanned ID's to a selected attendance file
  • Testing whether a finger has already been scanned for a particular session
  • Transmitting attendance data to the PC
  • Battery charging through the USB connection
  • An RTCC which adds a time stamp to a session file and the saved student IDs (This can be used later to determine if a student arrived late for a specific session).

The process of taking attendance follows these steps:

  • When the class session starts, I create a session on the scanner.
  • I give it to the students for them to scan their fingers and get the device back after everyone has logged their attendance. While the students scan their fingers I carry on with class activities.
  • Back in my office, I open a terminal window and transmit the session data to the terminal window. I copy the data from the terminal window into a Google Sheet for statistical analysis. I've put a link to the attendance sheet on the class management system (Moodle) we use. This allow students to double check their attendance and query any issues.


I have been using this system for a number of sessions with great success. The biggest drawback is the time it takes to enrol fingers onto the system, but once it is done, attendance taking becomes a breeze. The second biggest drawback is probably the process of getting the data into the Google Sheet. It is still a bit messy and I plan on writing a GUI interface to simplify the whole process.

As with any new design, the more you use it, the bigger the feature list becomes.

Still to do:

  • Some post processing to make the PC side of the system more automated
  • Showing student detail when a finger was successfully scanned. At this stage it only shows a finger print ID.
  • Redesign the enclosure for a more aesthetic look.
  • Performance and feedback improvements.

Although this project is not nearly finished, and I don't think it will ever be, it is a step into the right direction.


Leave a Reply

Your email address will not be published. Required fields are marked *