Introduction: Secure Your Logins With Biometrics

The Fingerprint is one of the safest way to detect and identify the Authorized person, We know that fingerprint is unique even identical twins do not have identical fingerprints. By using this we can make pretty sure about security needs. To add fingerprint verification in microcontroller projects we can use this all in one optical fingerprint sensor-scanner (R305), It makes fingerprint detection and verification super simple.By using this sensor we can make Bio-metric authentication and access control based Electronic projects easily.

In this Instructables I have come with a idea that can be used to secure your logins through fingerprint authentication. It is an interesting Arduino project which is using a finger print module. Without any delay, let's get started.

**Note:( This project can only used in windows operating system)

Step 1: Gather the Parts

  • Finger Print Sensor (R305)
  • Arduino Uno
  • Arduino Pro Micro

Step 2: Parts Overview

  1. Finger Print Sensor (R305) -TTL UART is a finger print sensor module with TTL UART interface. The user can store the finger print data in the module and can configure it in 1:1 or 1: N mode for identifying the person. The finger print module can directly interface with 3v3 or 5v Microcontroller.

Features of Finger Print Sensor (R305) -TTL UART:

  • Power DC : 3.6V-6.0V
  • Interface : UART (TTL logical level)/ USB 1.1
  • Working current : 100mA
  • Peak Current : 150mA
  • Matching Mode: 1:1 and 1:N
  • Baud rate (9600*N)bps, N=1-12 (default N=6 57600bps)
  • Character file size: 256 bytes
  • Image acquiring time : <0.5s
  • Template size : 512 bytes
  • Storage capacity: 256
  • Security level : 5 (1, 2, 3, 4, 5(highest))
  • FAR : <0.001%
  • FRR: <0.1%
  • Average searching time: < 0.8s (1:880)
  • Window dimension : 18mm*22mm

Pin out:

2. Arduino Uno:

Here I have used Arduino Uno for enrolling the fingerprint through SFGDemo Software.

3. Arduino Pro Micro:

The Micro is a microcontroller board based on the ATmega32U4,This allows the Micro to appear to a connected computer as a mouse and keyboard,

So I have taken advantage of this feature of pro micro to get input from fingerprint and match the fingerprint With already loaded fingerprints to perform different keyboard operation.

Step 3: Software Requirements

  • To read fingerprint through windows system we need special GUI software called “SFGdemo” .
  • Arduino IDE

The following library is required for this project

  1. Adafruit Fingerprint Sensor Library

Download SFGdemoSoftware and Adafruit Fingerprint Sensor Library

--> Install Adafruit Fingerprint Sensor Library

Step 4: The Fingerprint Identification Process

The fingerprint identification process has two steps that is

1. Enrolling Fingerprint,

2. Matching Fingerprint.

These two steps makes micro controller / System to authenticate right fingerprint.

Operation Principle

Fingerprint processing includes two parts: fingerprint enrollment and fingerprint matching (the matching can be 1:1 or 1:N).
When enrolling, user needs to enter the finger two times. The system will process the two time finger images, generate a template of the finger based on processing results and store the template. When matching, user enters the finger through optical sensor and system will generate a template of the finger and compare it with templates of the finger library. For 1:1 matching, system will compare the live finger with specific template designated in the Module; for 1:N matching, or searching, system will search the whole finger library for the matching finger. In both circumstances, system will return the matching result, success or failure.

Step 5: Enrolling Fingerprints

Hardware Connection:

Connect the Blue wire from the sensor to Arduino RX pin and Yellow wire to Arduino TX pin. Put red & black in (+5V & GND) respectively.

After the wiring , upload the following sketch to Arduino Uno board.

// this sketch will allow you to bypass the Atmega chip<br>// and connect the fingerprint sensor directly to the USB/Serial
// chip converter.
// Red connects to +5V
// Black connects to Ground
// Blue goes to Digital 0(RX)
// Yellow goes to Digital 1(TX)
void setup() 


void loop() 



Step 6: SFGdemo

To read fingerprint through windows system we need special GUI software called “SFGdemo"

After Loading the above code open the “SFGdemo” software.

  • Select "Open Device(O)" and select corresponding Arduino Uno's Port Number

  • Click on Enroll, then set your user address

  • The the software Asks you to put your fingers two times to enroll ,If it is success it shows as success to enroll!

  • Add more fingers as per your requirement

Step 7: Fingerprint Matching

Circuit Diagram:

  1. Connect Blue wire(RX) to pin number 10 and connect yellow (TX)wire to pin number 16.
  2. After the Wiring ,Upload the following sketch to Arduino Pro Micro

You can get codes from my github too.

Step 8: Watch the Video!

I have made a enclosure using foam board and insulation tape.You can Build one as your wish .

The video shows how you can bypass your PC lock and email through your fingerprints instead of typing it .

Happy Making!

Microcontroller Contest

Participated in the
Microcontroller Contest