Introduction: Arduino Fingerprint Lock

Picture of Arduino Fingerprint Lock
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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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.


FikriY2 (author)2018-01-14

have use rfid finger print?

nayuemb (author)2017-03-31

Arduino: 1.6.9 (Windows 7), Board: "Arduino/Genuino Uno"

C:\Users\USER\AppData\Local\Temp\Rar$DIa0.643\enroll\enroll.ino:24:34: fatal error: Adafruit_Fingerprint.h: No such file or directory



compilation terminated.

exit status 1
Error compiling for board Arduino/Genuino Uno.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
.whats this error means

omz0001 (author)2017-03-29

hi can anyone please help convert this from the Crowduino to Arduino Uno both in terms Code and Circuit. I just dont understand what needs to be changed.

would be much appreciated thanks

DeanM6 (author)2017-03-10

Hi, fantastic tutorial. Thanks a mill. Question: I need to store more than 120 prints. How can I go about storing the prints say on an SD connected to the ardoino as opposed to the onboard memory?

JenniferA180 (author)2017-02-19

Hello Sir! I would like to ask what problems have you encountered upn making this project?

ElC29 made it! (author)2017-02-06

I was given a vault with a finger sensor. keys work fine and i tried
placing batteries on the unit to see if it will work. well i get 1 of
the 2 LEDs flashing red. Anyways, this one got no brand so have no way
of going back to the manufacturer. i have 3 buttons. 1 at the front that
stops the led flashing led when i press it or press and hold it. and
the other are inside the vault that says ADD and DEL

Anyone got any idea how i can add me on this unit? Please :)

ZulliK (author)2016-11-13

hello can i get coding for servo moto

HamzaS60 (author)2016-10-22

cane we use any type of fingerprint scanner

Jamsel (author)2016-10-09

This is a great project but I need some help with the power supply. I have used the same Adafruit fingerprint sensor and a solenoid to open the lock.

The fingerprint sensor works fine to switch on LEDs when the correct fingerprint is detected.

I can easily open the solenoid straight from the Arduino (with or without the relay) provided the fingerprint sensor is not connected.

So, there does not seem to be enough power to power open a 5v solenoid (motor) and to run the fingerprint sensor at the same time, even when I connect a 5V relay and try to open the solenoid from a separate power source. The signal from the pin13 is just to small to switch the relay. Does anyone have any suggestions. I am not sure why such a tiny voltage is sent to the OUTPUT on detection of the correct fingerprint.

Perhaps I do not understand the total power output of the Arduino well enough. I am running the Arduino off a 9V battery.

Please can someone advise what to do.

DishaP1 (author)2016-08-28

Can I use r305 for save more then one finger print ?
Plz ans me .

asharma162 (author)2016-07-31

I can't see preferences after file in Arduino ide plz help

asharma162 (author)2016-07-31

how can I connect wire from fingerprint machine to wire from crowduino to server motor
as I am new to all these

zulhilmilauman (author)2015-11-22

can we use arduino board instead of crowduino board? its that the same things?

Yes. You might have to tweak the code, though.

IhsanU (author)2016-05-10

great work

kavish laxkar (author)2016-05-09

will it work with other finger print sensor other than adafruit?

monusuthar2016 (author)2016-05-02

hey i want to made this project and i need your help. in this project i need more then 10 fingerprint, can you explain what is the size of scanned fingerprint.... please reply

asharma162 (author)2016-04-17

how to connect server to lock??

ranjaniv1995 (author)2016-03-31

hi we are getting trouble in your program,program did not find our fingerprint scanner and it did not go into the finger.verifypassword() function

mabza (author)2016-03-19

Hi I'm always getting

Specified folder/zip file does not contain a valid library

kartik sancheti (author)2016-02-20

can we add this system in ordinary key lock

azmayeenakmal (author)2016-02-01

Very good intru. Gonna start this project soon.

LongT8 (author)2015-11-26

ai có thể giúp tôi thêm dự án này thêm 2 người trở lên được không ạ?

HambaliN (author)2015-11-05

Good project..
Ask, Can i use to 2 finggerprint or user for indentifying? Example : i want 2 user or more can open lock use fingerprint module.. thx

Leotiedt (author)2015-10-24

Hello Jack,
I try to build your Fingerprint Lock but i will do it with a 5V Motor and not with a Servo. I dont know how to programm an Arduino. So if you or other Peoples have a little bit Time could you tell me how i can do this???
Thank you for helping!!!
Leo Tiedt
(Sorry for my bad englisch. I live in Germany and i am 14 years old)

dbaum2 (author)2013-10-17

Nice. i wonder if you could make it an eye scanner? Im not electronically inclined. But think how nice it would be if you could walk up arms and hands full, look in a peephole, and the door unlocks and you tap it open with your foot.

dbaum2 (author)dbaum22013-10-17

Found an infrared "eye scanner" here. So hardware wise seems like it would be cheap.

dbaum2 (author)dbaum22013-10-17

Even better. Just noticed the camera has audio so you could make it an eye scanner with voiceprint id and maybe even set up different words for different actions. Like maybe unlock the door but set off a silent alarm or call the police. I wish i knew how to build it myself. I could make a fortune with it. ok patent pending.

razurbeam (author)dbaum22015-09-09

Since it lets you store up to 20 prints, you could use different fingers for different situations. I.E. use the middle finger normally, and the index for emergencies (since people would expect you to use the index finger or thumb for scans).

razurbeam (author)2015-09-09

The problem with this kind of device is that it is relatively easy to overcome with a crowbar and a power supply. To make this work better, the microcontroller (especially an arduino which can be somewhat easily reverse engineered to get the source code) needs to be inaccessable from the outside. Additionally, you need to create the circuitry so that it sends a specific command at a specific frequency (like remotes do to turn on TVs), so that if someone tried to just apply power, it wouldn't activate the motor or servo. Food for thought!

HI help me out..

I am connecting r305 fingerprint module with arduino using adafruit library with esp8266 wifi module..

my problem is when the fingerprint module doesn't get any input it goes to sleep and when i open the serial monitor in arduino ide it wakes up again..

is there a solution or any hint..


pheaktrainstruction (author)2015-08-12

Now i'm trying to do Wallet locking by Arduino Uno. Please any one help to do it.

DjokoS1 (author)2015-05-19

I want to try

mohammedinsaf (author)2015-01-20

guys I have to do a Project for a Higher National Diploma For Networking Please Give me a Titile and Step Please It['s a big help

Gmail :

bsingh21 (author)2014-03-05

Please tell me can I use arduino uno to make this project? Please reply soon.

Arduino Tech (author)bsingh212015-01-05

Yes you can because Crowduino is a clone of Arduino UNO.

dennykaze (author)2014-03-17

hi jack, I've read your project and it was cool, and check PM please, thank you

amire_15 (author)2014-03-14

your project is really cool!!!, by the way can I asked for the code on how to interface the fingerprint sensor to an arduino......I really envy your project

mortonc (author)2014-01-03

Can this be done with any fingerprint sensor?

valasoft (author)2013-10-27

jack i live in shenzhen too,i have QQ: 2407767157 and my WeChat id is : valinia glad to be in contact with you

jack1986 (author)valasoft2013-11-17

hi, i have added you to my QQ friend. please free to contact to me, with any , any thing . :)

HavocRC (author)2013-10-15

Dang it you made it before I got to it! This was literately the next thing on my list to make! Hahaha well good job! Did you enter it for the MicroController Contest?

jack1986 (author)HavocRC2013-10-19

Thank you very much for your remind! I have add it to the MicroController contest.

silopolis (author)2013-10-18

Superb ! This *duinos are such beasts :-)

shaunak (author)2013-10-14

So glad to see that you are putting a newly learned skill to work solving real-world problems. Well done and very well written!

About This Instructable




More by jack1986:Say Hello With My Roommate Mouse With ArduinoArduino Automatic Temperature& Humidity Controller for PetsArduino Fingerprint Lock
Add instructable to: