Biometric identification from a print made by an impression of the ridges in the skin of a finger is often used as evidence in criminal investigations. Yes, now we can use the same biometric identification technique to build our own hobby projects like a biometric authenticator/access control system with the help of readily-available Fingerprint Identification Modules. Here is an introductory article to help you!
This is an optical biometric fingerprint reader/sensor (R305) module with TTL UART interface for direct connections to a microcontroller UART. 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. This module can directly interface with any 3.3V or 5V microcontrollers, but a suitable level converter/serial adapter is required for interfacing with the serial port of a PC.
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.
The module itself does all complex tasks behind reading and identifying the fingerprints with an on-board optical sensor and fingerprint algorithm. All you need to do is send it simple commands, and the fingerprint scanner can store different fingerprints.
The database of prints can even be downloaded from the unit and distributed to other modules. As well as the fingerprint template, the analyzed version of the print, you can also retrieve the image of a fingerprint and even pull raw images from the optical sensor.
Although a number of fingerprint reader/sensor modules with slight variations are available now, most have a 4-pin external connection interface. By way of the serial interface, fingerprint reader/sensor module can communicate with a microcontroller (uC) runs on of 3.3V or 5V power supply. TX/TD pin of the module connects with RXD (RX-IN pin of the uC), and RX/RD pin connects with TXD (TX-OUT pin of the uC).
If you are building a personal computer (PC) – based project, remember to add a level converting circuit (for instance, the MAX232) between the module and the personal computer. Serial communication protocol mode is semi-duplex asychronous serial communication, and user can set the baud rate in 9600 – 115200bps. Recommended working voltage of the module is 3.6 to 6.0 Volt DC, and the typical working current is 90 to 100 mA (150mA peak).
Connecting with PC
Link of an example demo software for PC (FPS_Demo_V2.0) is indicated at the end of this article. Besides, user manual of R30X series fingerprint identification module (FPS_User Manual) in pdf is also available. You can connect the module to your computer through USB using an FTDI Breakout, or through RS-232 using a level-shifter to read fingerprints.
Connecting with Arduino
Exclusive/generic fingerprint reader/sensor modules are easily available from reputed online vendors like Adafruit, Sparkfun, etc. Most of these products are bundled with tutorials, sample codes, demo softwares, and SDKs. Now it is your turn to select one module of your interest. As an example, consider the GT-511C1R from Sparkfun (shown below).
When it comes to an Arduino project, probably you will need to download related examples and libraries, then upload the Enroll sketch to make the unit recognize your finger print. Follow the instructions in the serial monitor, then upload the IDfinger sketch. Now when you scan your finger, the serial monitor will show “Verified” (with the appropriate ID number) or “Finger not found” if it’s not recognized. All you need to do is to enable a relay if a correct fingerprint is detected, and possibly write a entry line to a SD card with time and date stamp for an entry log. Here is a useful post on this topic: http://arduinotronics.blogspot.com