Maker Portal

View Original

Arduino Optical Fingerprint Sensor (AS608)

“As an Amazon Associates Program member, clicking on links may result in Maker Portal receiving a small commission that helps support future projects.”

See this content in the original post

Optical fingerprint sensors take low-resolution snapshots of the tip of a finger and create arrays of identifiers that are then used to uniquely identify a given fingerprint. The AS608 is capable of storing up to 128 individual fingerprints. This tutorial will introduce the AS608 Arduino-compatible fingerprint sensor and how to validate and reject fingerprints based on the enrolled fingerprint information that will be given to the sensor. The fingerprint algorithm is handled by the AS608 and Arduino, so this tutorial will focus on implementation and putting the pieces together to make a working fingerprint sensor with Arduino.


See this content in the original post

The primary components used in this tutorial are the Arduino board and the appropriate fingerprint module. The full parts list required for replicating the process outlined here is given below:

  1. Arduino Uno - $11.00 [shop]

  2. AS608 Fingerprint Sensor - $20.00 [shop]

  3. 2 LEDs - $12.99 (450 pcs) [Amazon]

  4. Resistors - $10.99 (1280 pcs) [Amazon]

  5. Jumper Wires - $5.99 (120 pcs) [Amazon]

  6. Mini Breadboard $3.00 [shop]

See this content in the original post

Wiring the fingerprint module to the Arduino uses the UART, which we will use in software (SoftwareSerial() in Arduino). The wiring diagram (including wiring of the accept and deny LEDs) is shown below:


See this content in the original post

Adafruit has a library that is simple and easy to understand. In order to download the library, open the Library Manager and type in ‘fingerprint;’ the library is shown below as the “Adafruit Fingerprint Sensor Library by Adafruit.”

The Adafruit library has multiple examples, two of which will be the basis for the rest of this tutorial. The two examples are named:

  • enroll

  • fingerprint

The enroll example should be uploaded before testing the other algorithms. This process is outlined below.

See this content in the original post

See this content in the original post

Before we can test the accept and deny algorithms, we need to first train the fingerprint sensor to recognize the fingerprints that we want to accept. The ‘enroll fingerprint’ code is shown below. The simplest method for understanding the code below is to simply upload it to the Arduino board, then follow the instructions.

See this content in the original post

The example code above requires the user to input an integer, which will identify a specific fingerprint.

The user will allow the user to create up to 128 unique fingerprints that can be recalled later. The general process for enrolling a fingerprint is as follows:

  1. Enter integer

  2. Place finger on sensor

  3. Remove finger when instructed

  4. Place finger on sensor again

  5. Wait for the sensor to verify the print and printout “Stored!”

Below is a screenshot of the example output onto the Serial Port using 127 as the fingerprint index.


See this content in the original post

At this point, the assumption is that one or more fingerprints have been enrolled into the AS608 sensor. Now, we can test if the Arduino and fingerprint module can re-identify those enrolled fingerprints and deny unfamiliar fingerprints. The full code is shown below, which will light up one LED on pin 8 if the fingerprint is recognized, and blink an LED on pin 9 five times if the fingerprint is not recognized.

This algorithm can be used in security scenarios as seen in television and film for door locks etc.

See this content in the original post

See this content in the original post

In this tutorial, I introduced the basic principles of working with the AS608 fingerprint module with the Arduino platform. Specifically, the Adafruit library was used, which handles a lot of the interaction involved with identifying and enrolling fingerprints. The simplest implementation of the fingerprint sensor was explored, first by enrolling a unique fingerprint, and then verifying the print later. In the video demonstration, the acceptance of recognized fingerprints and the denial of unrecognized fingerprints was illustrated by the different LEDs. The applications in fingerprint identification are numerous and, at the least, fun and interesting. The introduction given here is meant as a stepping stone for getting involved with fingerprint identification with Arduino, and with the inexpensive and easy-to-use hardware and libraries available, the possibilities are endless from here!

See this content in the original post

See More in Arduino:

See this content in the original post