Table of Contents
- AS608 Overview
- Hardware and Wiring
- Enrolment Code
- Verification Code
- Door Lock Options
- Security Tips
- FAQ
AS608 Overview
The fingerprint sensor AS608 door lock with Arduino provides reliable biometric access control at an affordable price. The AS608 optical module stores up to 162 fingerprint templates in onboard flash, verifies identity in under 1 second, and interfaces with Arduino via UART at 57600 baud. It is widely available in India for Rs 250-600 and works with the Adafruit Fingerprint library without additional dependencies.
Key specifications: 500 DPI optical sensor, FAR (False Acceptance Rate) under 0.001% at security level 3, FRR (False Rejection Rate) under 0.1%, supply voltage 3.6-6V (5V from Arduino is safe). Variants sold as R305 and GT-511C3 in Indian electronics markets are functionally identical.
Hardware and Wiring
Components: Arduino Uno or Nano, AS608 fingerprint module, I2C LCD 16×2, 5V relay module, 12V solenoid lock (Rs 300-600), 12V power supply for lock, green/red LEDs, momentary push button (enrolment mode).
AS608 wiring to Arduino:
- AS608 TXD to Arduino D2 (SoftwareSerial RX)
- AS608 RXD to Arduino D3 (SoftwareSerial TX)
- AS608 VCC to 5V, GND to GND
- AS608 Wakeup to 3.3V (keep module active)
- Relay IN to D8, solenoid lock between relay COM and 12V supply
Enrolment Code
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger(&mySerial);
uint8_t id = 1; // Slot 1-162
uint8_t enrollFinger() {
int p = -1;
Serial.println("Place finger on sensor...");
while(p != FINGERPRINT_OK) p = finger.getImage();
p = finger.image2Tz(1);
if(p != FINGERPRINT_OK) return p;
Serial.println("Remove finger"); delay(2000);
while(finger.getImage() != FINGERPRINT_NOFINGER);
Serial.println("Place same finger again");
p = -1;
while(p != FINGERPRINT_OK) p = finger.getImage();
p = finger.image2Tz(2);
if(p != FINGERPRINT_OK) return p;
p = finger.createModel();
if(p != FINGERPRINT_OK) { Serial.println("No match!"); return p; }
p = finger.storeModel(id);
if(p == FINGERPRINT_OK) Serial.println("Stored!");
return p;
}
void setup() {
Serial.begin(9600);
finger.begin(57600);
if(finger.verifyPassword()) Serial.println("AS608 found!");
enrollFinger();
}
void loop() {}
Verification Code
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
#include <LiquidCrystal_I2C.h>
SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger(&mySerial);
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define RELAY_PIN 8
#define GREEN_LED 9
#define RED_LED 10
void setup() {
finger.begin(57600); lcd.init(); lcd.backlight();
pinMode(RELAY_PIN,OUTPUT); digitalWrite(RELAY_PIN,HIGH);
lcd.print("Place Finger...");
}
void loop() {
uint8_t p = finger.getImage();
if(p != FINGERPRINT_OK) return;
p = finger.image2Tz();
if(p != FINGERPRINT_OK) return;
p = finger.fingerFastSearch();
if(p == FINGERPRINT_OK && finger.confidence > 50) {
lcd.clear(); lcd.print("Access Granted");
lcd.setCursor(0,1); lcd.print("ID: "); lcd.print(finger.fingerID);
digitalWrite(GREEN_LED,HIGH);
digitalWrite(RELAY_PIN,LOW); delay(5000);
digitalWrite(RELAY_PIN,HIGH); digitalWrite(GREEN_LED,LOW);
} else {
lcd.clear(); lcd.print("Access Denied");
digitalWrite(RED_LED,HIGH); delay(2000);
digitalWrite(RED_LED,LOW);
}
lcd.clear(); lcd.print("Place Finger...");
delay(50);
}
Door Lock Options
| Lock Type | Fail Mode | Best For | Indian Cost |
|---|---|---|---|
| 12V Solenoid bolt | Fail-secure (stays locked) | Internal doors | Rs 300-600 |
| Electric strike plate | Fail-safe (opens on power loss) | Emergency exits | Rs 800-1,500 |
| Motorised deadbolt | Configurable | Main entrance | Rs 2,000-5,000 |
| Electromagnetic mag-lock | Fail-safe | Office swing doors | Rs 1,200-2,500 |
Security Tips
- Use fail-secure solenoid locks so power cuts do not open your door
- Add 12V 2Ah SLA backup battery on lock power supply for 2-4 hour backup
- Enrol both thumb and at least one index finger per person as backup
- Add a PIN keypad fallback for wet or injured finger situations
- Log all access attempts to SD card with DS3231 timestamps
Frequently Asked Questions
How many fingerprints does the AS608 store?
The standard AS608 stores 162 templates – sufficient for a family home with multiple fingers per person enrolled. For larger office use (50+ people), the R503 or ZFM-20 modules store 200-1000 templates using the same Adafruit Fingerprint library.
Does it work for children and elderly people?
Children under 8 and elderly above 70 have finer ridges that challenge optical sensors. Enrol 2-3 attempts per person, always use clean dry fingers. Provide a PIN keypad fallback for young children. The AS608 works reliably for most Indian adults.
Can someone clone the fingerprint data?
AS608 stores mathematical minutiae templates, not fingerprint images – these cannot be reverse-engineered to recreate a fingerprint. The UART wiring could be sniffed if physically accessible; route wiring through door frame conduit to prevent access.
What happens during Indian power cuts?
A fail-secure solenoid stays locked (safe) but no entry is possible. Add a 12V 2Ah SLA battery as UPS – typical 1-4 hour Indian power cuts are well within its capacity. Indian power cuts most commonly occur in summer afternoons in urban areas.
How do I delete a fingerprint from the AS608?
Use finger.deleteModel(id) to delete one template or finger.emptyDatabase() to clear all. Always maintain a physical key or PIN backup when clearing the fingerprint database – avoid situations where you have no entry option during reprogramming.
Add comment