Biometric Doorlock System

Unlock your door using a linear actuator and your fingerprint!

By Rishikesh Nayar

rishinayar@berkeley.edu

Overview

My project is a biometric doorlock system that can unlock my apartment door with just my fingerprint!

Description

Unfortunately, my apartment door can be a pain to open with keys.  The door isn't flush and the key gets stuck in the keyhole a lot of the time.  This project aims to eliminate this problem and make something as mundane as opening a door more fun!

Using 2 PCBs (one on the outside of the door and another on the inside), detects a fingerprint and compares it to a existing database of approved users.  If there is a match, unlocks the door by signaling the linear actuator.  

I use various peripherals to prompt the user for a fingerprint and to display feedback regarding whether a match was found or not.  Additionally, various buttons allow the user to enroll and delete fingerprints from the database (provided the user is authorized to do so).

Features

Front-End PCB - Sensing and User Feedback: 

Back-End PCB - Motor Control:

Design Process

Code and Prototyping

To get started, I used a breadboard with an Arduino to test my code and make sure I can control the LCD display and capacitive touch sensor.

I first wrote out the pseudocode and basic circuit design on a piece of paper: 

Here is a successful test of the sensor code on a breadboard!  I test an enrolled fingerprint (my thumb) and a unregistered finger (my index finger).

PCB Design

Now, it's time to design the PCBs.  I have two PCBs, so I create schematics and layouts for each.  To help with the schematic, I first sketched out the various components that should go on each PCB.  To help with the layout, I wrote out my mechanical and physical constraints, and started to sketch out roughly where each component must go to satisfy these constraints.

To deal with the challenge of routing, I primarily used Manhattan routing (vertical traces on bottom copper layer, horizontal traces on top copper layer).  I also adjusted trace sizes appropriately to both save space and meet power requirements.

Here are the schematics and layouts!

Front-End PCB (Sensing)

Back-End PCB (Motor Control)

Bringup

After receiving the boards, it was time to solder.  I used multiple different methods, including hand-soldering for larger components and components with reasonably-sized pads, and stenciling/ereflow and solder paste for tiny ICs and pads.

Next Steps and Improvements