Fingerprint & Keypad Safe

I am creating a Fingerprint and Keypad Safe using Arduino R3 Uno and Servo Motors. I created a program which allows the keypad to turn on the fingerprint sensor if the correct passcode is entered. The fingerprint sensor reads the finger placed on the sensors, and checks if the fingerprint matches one from the database. If the fingerprint matches, two servo motors turn 85 degrees, allowing the safe to open. My modification is an LCD screen which gives instructions to users on how to use the safe. The code I wrote to create the fingerprint ID Safe and my Bill Of Materials can be found here.


Sachin S.

Area of Interest

Electrical Engineering & Computer Science


Monta Vista High School


Rising Senior

When I entered BlueStamp, I had very little experience with electrical engineering, however with the help of instructors and YouTube tutorials, I was able to complete my project, and leave BlueStamp with a much better understanding of Arduino and C++.


Here is the schematics of my Fingerprint ID Safe:

My Build Plan:

  1. Get all the pieces together and create a design on how I want to build the safe.
  2. Use leftover plywood at home to create a box, which will act as my safe.
  3. Program my fingerprint scanner and keypad, to get them to work in sync with the servo motors, creating a lock mechanism.
  4. Put all the components together in the safe.
  5. Work on potential modifications, including a screen, or LEDs inside the safe.

Modification Milestone:

I created an LCD screen as my modification. The LCD screen displays instructions on how to use the safe, and its current state, which is either open or closed. I programmed the LCD screen such that it can display the keys pressed and change the digits to stars on the screen after a half-second delay. I used an I2C module with the LCD screen, so I had to include a separate library to use the screen. The LCD screen uses the I2C bus to communicate with the Arduino. The I2C has SCL and SDA pins, which are the clock line and data line pins that are useful for the communication. The I2C also has its own potentiometer, which can control the contrast of the LCD display. This is useful because I don’t need to add an external potentiometer to change the contrast. I struggled with software side of the LCD screen because I had more than one LCD I2C library downloaded onto the Arduino IDE, which caused the compiler to crash.

Final Milestone:

I completed my final milestone, which was putting all the parts together inside the wooden box, which I created at home out of leftover plywood. I used a jigsaw to cut each piece, and connected the wood using corner braces. I made sure to not use screws on the outside of the safe, making it difficult to break into. I superglued all the components on the box, to make it as secure as possible. In my program, I connected the keypad to fingerprint sensor, to create a two-factor authentication. The program reads the last 4 keys pressed on the keypad, and if they match the correct passcode, the fingerprint sensor will be activated, and it will read the fingerprint placed on the scanner. If the fingerprint is correct, the two servo motors will turn 85 degrees.

Second Milestone:

For my 2nd milestone, I was able to get the keypad to work and light up an LED with a certain passcode. I used the Keypad and Password libraries in Arduino to get the keypad to work with a password. Pressing a button closes the switch between a column and a row trace, allowing current to flow between a column pin and a row pin. The Arduino detects which button is pressed by detecting the row and column pin that’s connected to the button. Something I struggled with was the keypad. Most of the online tutorials had different keypads, and I had to work around with the pins and the code to finally get the keypad to work. My next milestone is the final milestone, which will be to put everything together in the safe, which I will be creating out of wood.

First Milestone:

For my main project, I am creating a fingerprint ID safe. I completed my first milestone, which was connecting the fingerprint scanner to a servo motor. I downloaded the AdaFruit fingerprint sensor library to my computer and moved it to the Arduino libraries folder. I used multiple if, else statements to check if the fingerprint scanner detected the fingerprint. If the fingerprint matches one from the 200 prints stored, the servo motor will turn 45 degrees, opening up the safe. My next milestone will be to work on the keypad and put all the materials together in the safe, which I will create out of wood.

Starter Project: MiniPOV 4

For my starter project, I built a MiniPOV4 (Mini Persistence of Vision) device that creates a pattern or image when waved quickly through the air. It creates this pattern through the specific and accurate timing of LED lights, light emitting diodes. To allow this device to work, all of its major components had to be soldered on individually. To display the pictures and patterns, images are downloaded from a computer to the MiniPOV4’s USB-jack. A diode is an electrical component that only allows current to flow in one direction. The 28-pin microcontroller in the center is the brain of the device. It reads the images downloaded from the computer, using the USB Type B jack, and creates a timing for the LED lights. Two different types of resistors, 2.2k ohm and 47 ohm, balance the current sent to the LEDs so that they don’t overload. The device’s three transistors  control the Red, Green, and Blue colors of the LEDs. They provide enough current to power the 8 LEDs. The blue circle is the potentiometer. The potentiometer is a dial which can change the resistance of the microcontroller, which slows down or speeds up the LED flashes. Zener diodes, like the LEDs, must be placed in a specific direction to send current in one direction. These specific diodes stabilize the voltage sent to the USB-jack. The device uses two different types of capacitors, ceramic and electrolytic. Capacitors, unlike resistors, help store energy for the device. These specific capacitors help balance the input and output voltages. The 12 MHz crystal is similar to a crystal in a watch. It keeps the LEDs flashing at a consistent speed. Finally, there’s the battery pack, which had its wires cut, stripped, and soldered onto the board. It provides power to the MiniPOV4 with three AAA batteries.


  1. MiniPOV4
  2. Fingerprint Sensor Library
  3. Liquid Crystal Display Library

Leave a Comment

Start typing and press Enter to search

Bluestamp Engineering