Fingerprint Attendance System using Arduino

The project posted here is a simple Fingerprint Attendance System using Arduino and can be very useful for any place where attendance is taken for maintaining registers like offices, schools, etc. Previously, we had posted RFID based attendance system, Arduino Fingerprint Sensor Lock, etc.

The project posted here utilizes a thumb impression for taking attendance. The Fingerprint Attendance System using Arduino is based on a simple algorithm called matching algorithm and is compared with previously stored templates of fingerprints against the user’s fingerprint for authentication.

Maintaining a register for attendance is normally used for a traditional attendance system, but it is much more tedious. In this attendance system, the user places a finger on the sensor, the attendance is taken and the message is displayed on LCD along with the person’s name.

Circuit description of Fingerprint Attendance System using Arduino

The circuit shown in Figure 1 utilizes a 5V power supply which can be taken out from the Arduino board. The brain or processing component of the project Fingerprint Attendance System using Arduino is an Arduino board. As we all know, the Arduino board is based on an ATmega328/ATmega328P microcontroller. It is equipped with 14 digital Input or output pins multiplexed together, 6 analog inputs with inbuilt 32k flash memory. It also has a 16MHz crystal oscillator, a USB connection power jack, an ICSP header, and a reset button. Arduino uno board can be programmed using Arduino IDE software.

fingerprint attendance system using arduino

Fingerprint Sensor Module | Fingerprint Attendance System using Arduino

Fingerprint sensor module R305 (connected across CON1) has a UART interface with a direct connection with the Arduino UNO board. The user can store fingerprint samples in the module which can be configured in 1:1 or 1:N mode for identification for the right user.

The fingerprint sensor module R305 is powered with a +5V power supply which is connected to a 5V pin of Arduino board. Tx and Rx pin of the fingerprint sensor module is connected to Arduino digital pins 2 and 3 as shown in the circuit diagram. This connection is used for serial communication because only one individual pin is used for the transmitter and receiver thus parallel communication is not possible.

LCD Module | Fingerprint Attendance System using Arduino

A 16×2 alphanumeric LCD is used to display messages during operations like name, authentication, etc. The higher-order data pin of the LCD (pin 11, 12, 13, and 14) are connected to digital pins 8, 9, 10, and 11 of the Arduino uno board. The RS and E pin of LCD is connected to pins 12 and 13 of the Arduino uno board. RW pin of LCD is grounded because we only perform write operation in LCD. Preset VR1 is used to adjust the contrast of LCD. Pin no 15 and 16 of LCD not shown in the circuit diagram is used to glow backlight LED.

Fingerprint Attendance System using Arduino

RTC Module | Fingerprint Attendance System using Arduino

The circuit Fingerprint Attendance System using Arduino also utilizes an RTC (Real Time Clock) module for storing the date and time of attendance. In this project, we used DS1307 RTC, which is a serial real-time clock IC with inbuilt various types of functions like calendar, 24-hour, and 12-hour time format with AM and PM indication. Two-line SDA and SCL of the DS1307 module are connected to analog pins A4 and A5 of the Arduino uno board as shown in Figure 1. The module has an inbuilt 3V button cell which helps the RTC module to run internally for a few days (approx. 10 days) even if the external power supply is not connected.

The four switches SW1 to SW4 are connected to four analog pins A0 to A3 of Arduino uno board respectively. Switch SW1 and SW2 are multiplexed i.e. various operation is performed by a single switch. The table shown below explains the operation of switches used in the circuit diagram.

Table 1: Operation of Switch
S.N. Switch Operations
1. SW1 ENROLL/BACK/DOWNLOAD
2. SW2 DELETE/OK/RESET
3. SW3 UP
4. SW4 DOWN

To Enroll new users.

  • Power on the circuit.
  • Press the Enroll switch (SW1), and follow the message displayed on the LCD.
  • Users input the ID by using the Up and Down switch (SW3 and SW3).
  • Press the OK switch (SW2)
  • A message on the LCD screen is displayed and asks the user to put a finger on the fingerprint module. And follow the message as shown in LDC i.e. remove the finger and again put finger on the module.
  • The system stores the fingerprint image in memory i.e. the user is registered and can take attendance.

To Delete Existing User

  • Press the DELETE switch (SW2).
  • LCD asks for the user ID to delete.
  • User ID is selected by sculling UP and DOWN using switches SW3 and SW4.
  • If ID is selected press the OK switch (SW2).
  • A confirmation message is displayed on the LCD.

Glowing LED1 is used to indicate whether the system is ready or not whereas the piezo buzzer is used for the sound alert.

Software: Software of Fingerprint Attendance System Arduino is written in Arduino Programming language and is compiled using Arduino IDE. You can directly download the software code from the link given below.

CLICK HERE TO DOWNLOAD THE SOFTWARE CODE

Click Here to Download the Library File

PARTS LIST OF FINGERPRINT ATTENDANCE SYSTEM USING ARDUINO

R1 = 1 KΩ, Resistor

VR1 = 10 KΩ, Preset

ARD1 = Arduino UNO Board

RTC Module = DS1307

Fingerprint Sensor Module = R305

LCD1 = 16×2 LCD

SW1 – SW4 = Push-to-on Switch

LED1 = 5mm any color LED

BUZ1 = Piezo Buzzer

2 Thoughts to “Fingerprint Attendance System using Arduino”

  1. SHAHAD K

    how to download data from arduino??

    1. you cannot download the data from Arduino, in that case you have to add SD card for data log and download.

Leave a Comment