Table of Contents
- System Overview
- Components
- AS608 Fingerprint Integration
- RFID Card Fallback
- SD Card Logging
- Data Export to PC
- FAQ
System Overview
A biometric attendance system combining fingerprint verification and RFID fallback is standard for Indian SME offices, factories, and schools. Commercial units (Essl, Matrix, Realand) cost Rs 4,000-15,000 with recurring license fees. A DIY Arduino build costs Rs 1,200-2,500 with no recurring fees and full customisation. Architecture: AS608 fingerprint sensor + MFRC522 RFID reader on Arduino Mega, DS1307 RTC for timestamps, SD card for local attendance log.
Components
- Arduino Mega 2560 (multiple UART ports for AS608 and debug)
- AS608 optical fingerprint sensor (Rs 300-500) or R307
- MFRC522 RFID reader module (Rs 60-120)
- DS1307 RTC module with CR2032 battery (Rs 50-80)
- 16×2 LCD with I2C backpack (Rs 80-150)
- MicroSD card module (Rs 30-60) + 8GB microSD
- Green/Red LED, 4×3 keypad, 12V/1A power supply
AS608 Fingerprint Integration
#include <Adafruit_Fingerprint.h>
SoftwareSerial mySerial(2,3); // RX,TX to AS608
Adafruit_Fingerprint finger=Adafruit_Fingerprint(&mySerial);
bool enrollFinger(int id){
int p=-1;
while(p!=FINGERPRINT_OK) p=finger.getImage();
p=finger.image2Tz(1);
if(p!=FINGERPRINT_OK) return false;
delay(2000);
while(p!=FINGERPRINT_OK) p=finger.getImage();
p=finger.image2Tz(2);
if(p!=FINGERPRINT_OK) return false;
p=finger.createModel();
p=finger.storeModel(id);
return (p==FINGERPRINT_OK);
}
int getFingerprintID(){
if(finger.getImage()!=FINGERPRINT_OK) return -1;
if(finger.image2Tz()!=FINGERPRINT_OK) return -1;
if(finger.fingerSearch()!=FINGERPRINT_OK) return -1;
return finger.fingerID;
}
RFID Card Fallback
Some employees have worn fingerprints (manual workers, elderly staff) or are temporary employees not yet enrolled. RFID card fallback ensures no one is locked out. Store RFID UID to employee ID mapping in EEPROM or SD card. Mark RFID-based entries separately in the log for supervisor review. Use MFRC522 library for 13.56MHz Mifare cards or EM4100-compatible library for cheaper 125kHz cards.
SD Card Logging
#include <SD.h>
void logAttendance(int empID, bool fingerprint){
DateTime now=rtc.now();
File f=SD.open("attend.csv",FILE_WRITE);
if(f){
f.print(empID); f.print(",");
f.print(now.year()); f.print("-");
f.print(now.month()); f.print("-");
f.print(now.day()); f.print(" ");
f.print(now.hour()); f.print(":");
f.print(now.minute()); f.print(",");
f.println(fingerprint ? "FP" : "RFID");
f.close();
}
}
Data Export to PC
The SD card CSV file opens directly in Excel or Google Sheets. To automate export: add ESP8266 Wi-Fi module and HTTP POST each record to a Google Apps Script web app (free tier), creating a real-time attendance spreadsheet accessible from any browser without dedicated server software. Alternatively, use a Python serial script on the office PC to automatically download daily records at 9600 baud.
Frequently Asked Questions
How many fingerprints can AS608 store?
AS608 stores up to 127 fingerprint templates in internal flash. For larger workforces, use R307 or GT-521Fx sensors supporting 200-3000 templates. Alternatively, store templates on SD card and verify in Arduino firmware for unlimited users at slightly slower verification speed.
Can I use this for Indian shift workers with different IN/OUT times?
Yes – implement shift detection: if employee already appears in today log and current time is after 12:00, assume OUT punch; before 12:00 assume IN. For 3-shift systems (6am/2pm/10pm), store shift schedules per employee ID in SD card and compare scan time to expected shift window.
What if the fingerprint sensor fails during a power cut?
Add 7Ah SLA battery with automatic switchover relay. The full panel (Arduino Mega + sensors + LCD) draws approximately 300-500mA = 14-23 hours backup on 7Ah. In India, battery backup is essential for attendance systems used for payroll purposes.
Is this system compliant with Indian labour law for payroll?
DIY biometric systems work for internal SME attendance tracking. For ESIC/PF compliance, records need tamper-proof audit trails. Ensure records cannot be modified after writing, system clock is synchronised to IST (UTC+5:30) with accurate RTC, and records are backed up regularly.
Add comment