Introduction: Arduino Fingerprint Lock

About: Hi, here is a fun electronics enthusiast!
There is a short video for this Arduino fingerprint lock here:

I live in a small apartment in Shenzhen with my wife and baby, 5 months old.  Sometimes, I need to go out, for example, to go downstairs to buy candy or diapers for my baby. But always I forget to carry my keys, so I need to knock at the door or call my wife to open the door for me, and, always wake up my baby and begins to cry.

At this time, I am so guilty. So i decide to think of a way to fundamentally solve the problem.

A fingerprint lock would be help for me, and there are plenty of these kinds of locks on the market, as the picture above. But it is not only expensive, and, it is also very troublesome to install. I hope to find a cheap way and do need not change my  locks.

After learning Arduino for 2 weeks, I decided to DIY a fingerprint lock, with Arduino.

Step 1: Solution and Module Preparing

First, I observed the door of my house, as the picture above.

As you can see, as long as the red part of the figure pulled in the direction of the arrow, the door can be unlocked, and of cause, when not pulled, the red part go back to it’s original location to lock the door. So I think, a servo would be OK to accomplish this function.

And, i need a fingerprint sensor, too, when i or my wife press the fingerprint sensor, which can determine whether a person is certified, it outputs instructions to the Arduino, to control servo to open the door.

I use the following modules:
1. Crowduino,this is an Arduino compatible microcontroller boards, i use it because it is cheap enough, and has some upgrading on the design, such as the reset button on the side.
2. FingerPrint Sensor
3. A servo with enough torque.
4. Glue,or anything that can be used to fix these modules
5. 5V USB power supply or 9V DC jack power supply
6. Some jumper wires would be help.

Step 2: Hardware Connection

Since only two modules are used in this project, the Hardware connection is relatively simple.

Connect the Servo to Crowduino as:
Red wire <-----> 5V power supply
Brown wire <-----> GND
Yellow wire <-----> D6

Fingerprint module:
the fingerprint module communicate with Crowduino using serial communication protocol, but since Crowduino has only one hardware serial port that I need to use for the PC communication, I use Arduino Soft Serial to communicate with fingerprint , using A4 and A5.
Connect the fingerprint to Crowduino as:
Red wire <-----> 5V Power Supply
Brown wire <-----> GND
Purple wire <-----> A4
Yellow wire <-----> A5

You can connect these modules to Crowduino as the picture above , and Note that both the module uses 5V power supply, you can connect one of their power supply to the 5V supply of ISP.

Step 3: Download the Codes and Install

Download the codes from Here, Here you can find all the codes and libraries.

Open the Arduino IDE, open the File->Preferences, Change the Sketchbook location to the location of your download code( as above picture), and click OK and then restart the Arduino IDE.

Step 4: Get and Store Your Fingerprint

Now, I need to store my fingerprint to Crowduino, to let it open the door as i press the fingerprint.
Open the Arduino IDE, open the File -> Sketchbook -> enroll, you will see the enroll code that function as a fingerprint registration.

After downloading the sketch enrollto Crowduino, Open the serial monitor, and set the baud rate to 38400, you will see the outputs from the serial monitor to remind you input a fingerprint number.

This number represents the fingerprint number that you will input. The fingerprint can store up to 120 fingerprints on default. Here we input the first fingerprint, input “1a”, and press the carriage to input. the serial output will remind you to press the fingerprint with:
"Waiting for valid finger to enroll."

Press the fingerprint sensor.

After your pressing, the outputs on the serial monitor will remind you to move off your finger, and then reminds you press the fingerprint again to double check. Act as the serial outputs, you can complete all the steps easily.

Step 5: Make the System Work and System Installation

After storing the fingerprint to Crowduino, the Crowduino stores all the fingerprint in it’s EEPROM. Now we download the working program to Crowduino to make the system working as your guide. Open the Arduino IDE,OpenFile -> Sketchbook -> fingerprint and download this program to Crowduino.

After the downloading or the programfingerprint, have a try to press the fingerprint with the finger you input in step4, If the Crowduino recognize your finger, the servo will rotate some degrees to open the door. And after 2 seconds, it will backs to it’s original location.

Fix the servo on the lock to make it push the locks when it rotates. i use the glue, maybe you have some other solution! i adjust the position within 2 minutes, and it works!

It seems the wires is somewhat a mess, but believe me it does not affect the function, also, I believe you must have a better way to make these wires more organized.

Power up the system with 5V USB power or 9V DC Jack power, have a try to see if the whole system works.

Microcontroller Contest

Participated in the
Microcontroller Contest