Fingerprint Scanner & Keypad Safe
My main project is the fingerprint scanner and keypad safe. The safe is locked with a two step checkpoint system, you first need to enter the correct password, then you need to scan your finger to gain access. If any fail, the safe stays locked. Everything is displayed on a LCD, so you can see what’s happening real time. You can also turn the safe on or off, however it will stay locked no matter the state. Various sounds will also play depending on what is happening. The lock is controlled by a servo and two L brackets, making a secure safe.
Areas of Interest
Computer Science & Engineering, Graphic Design
Monta Vista High School
This was my first year at BlueStamp. My counselor introduced me to the program, saying it was not only a good way to experience engineering, but also a great way to see how a competitive summer camp works. Throughout my three weeks at BlueStamp, I grew the most in the electrical aspect of engineering. My main project required the use of an Arduino, so I learned how to code in Arduino, a “basic” version of C / C++. The Arduino IDE included a serial monitor, which could be effectively used to debug code whenever necessary. There were also many components to my project as well, so I had to experiment with different circuits using breadboards and PCB’s, or printed circuit boards. Every circuit had its own issues, which I solved through troubleshooting, whether it be with a simple multimeter, or by using a remote power supply. Other times, adding solder to fix connections was the key. My background in coding and robotics definitely helped, but even still I gained a lot of knowledge, which I can apply moving forward.
After 3 weeks, I have finished my main project – the fingerprint scanner and keypad safe. The most difficult part was probably moving everything to a PCB. At first, the circuit didn’t work, and I spent hours using a multimeter, testing voltages around the circuit, trying to find out where a faulty connection existed. After fixing the circuit, I cut out a hole in the corner of the box, and turned it into a flap so I could remove the battery. The safe stays locked by default, and can only be unlocked if connected to power. I lined up the two L-brackets so they would function as a lock, then put all the components to their corresponding spots on my safe. And when I thought I was done, I connected the power, flipped the on switch, and … nothing worked. I took the Arduino and PCB off, went through another round of troubleshooting, and re-soldered some suspicious looking joints. I then re-applied everything to the safe, tested the circuit, and it worked! I secured all the components down with bolts or glue, and finally, I was done. So with 3 weeks of hard work in the bag, I conclude my time at Bluestamp 2018, and proudly present, the fingerprint scanner and keypad safe.
Getting to my second milestone was surprisingly a lot more difficult compared to my first, despite only adding a fingerprint scanner and some few code changes. I struggled with getting the fingerprint scanner to work, trying out multiple circuits before realizing that it was the connector that was broken. After getting a new one, it worked instantly. The next issue I faced was current draw. The Arduino could only supply up to 500 mA (milli-amps), and I had just too many components, drawing too much current. Because of this, my servo would start erratically twitching. This was solved by adding capacitors, diodes, and resistors, to smooth out the AC (alternating current) current. The servo barely twitches now. However after testing, I discovered that I only needed a diode, saving a lot of space on the breadboard, as well as reducing the number of components one would need to recreate my project. Despite all the challenges, I am now done with the software and circuitry part of my project.
Besides the fingerprint scanner, I also added a three try fail safe. If someone fails to enter the correct password three times in a row, the system exits and a loud alarm goes off. Same falls for if the fingerprint is incorrect three times in a row. I also changed the battery input. Originally I used the USB port on the USB to provide power from my Anker. Now, I’m using a micro USB breakout board that’s connected to the breadboard.
For my next milestone, I plan on moving the whole circuit onto a PCB, then integrating everything into the tool box. If possible, I will also make a hole so you can remove / change the battery.
After a week of work, I have made it to my first milestone, but with more completed than I anticipated. Originally I thought I was going to split up my project into three sections – the fingerprint scanner, then the keypad, then applying everything to the safe. But I was missing the 4 pin JST SH connector for my scanner, so I had to first start with the keypad. Then after just three days, I was already done with the complete locking mechanism, minus the fingerprint scanner. I realized that at this rate, I would finish in around a week and a half, so I decided to add more. I got a 16 x 2 LCD display, a piezo buzzer to play sounds, as well as added in an on/off switch for the entire circuit.
With all of those added in, I now have a almost complete locking mechanism. You can turn on the circuit by flipping the switch, then the LCD display will prompt you for a password. After typing in the correct password, the words “Access Granted” will show up, and the servo will turn effectively “unlocking” the safe. If the password is incorrect “Access Denied” will appear. To turn off the circuit, you have to unlock the safe, then hit “0” on the keypad to lock the safe. An unexpected but useful safety feature is that if someone tries to unlock the safe, but doesn’t have the correct password, the LCD display will always stay lit. With this you can tell if someone has tried unlocking your safe or not. You can also clear your current guessed password by hitting “*.” Depending on the event, various sounds will also play from the piezo. The locking mechanism also functions while connected to a separate battery, the 9 volt Anker battery. The basic code structure is on the right.
One challenge I faced while putting everything together was the number of ports, as well as sharing ports. With multiple components all requiring energy, they needed something going into a 3.3 volt or 5 volt port. This was easily fixed by connecting the port to a breadboard, then connecting the component to a place on the breadboard. Another problem was setting up the servo, as it only spun in a certain direction and at a maximum of 180 degrees. I needed to modify the servo to spin the L-bracket, as well as try out different positions so the servo could actually function as a locking mechanism. The most difficult challenge I faced while getting to my first milestone was setting up the keypad. The keypad had multiple pins, and each button corresponded to a pair of pins. After a lot of guessing and checking, I finally had the right pins connected to the right buttons.
For my next milestone, I will connect the fingerprint scanner to the set up. The new process will be first entering the correct password, then scanning the correct finger. I will also add in another code so I can log new fingerprints.
(Hover over block to see description)
For my starter project I made the MintyBoost by Adafruit. The MintyBoost is a portable charger which uses two double A batteries to charge any electronic device that you can plug into a USB port to charge.
Everything takes place within the small PCB, or printed circuit board. Tracing the flow of the electricity, it first comes from the double A batteries with a voltage of 3 volts. The electricity then goes through the power inductor, which amplifies the voltage to around 5 volts. The boost chip in the center of the PCB tells the power inductor to what voltage it needs to boost to. The electricity is then transferred to the USB port which goes through the cable, charging your device. The diode makes sure there is no current flowback, acting as a little valve for the electricity. The little resistors improve the high current capability of the boost chip by slowing down the electricity flow, and can also determine what type of charger is connected. The two ceramic capacitors help stabilize the output voltage. The capacitors also act as low pass filters, letting low frequencies pass and attenuating high frequencies so the output frequency noise is nice and smooth. By keeping the noise smooth, the chip stays stabilized so it can generate a voltage as precise as possible to 5 volts. The two electrolytic capacitors stabilize the input and output voltage, and also keeps the voltage stable while it’s being boosted. With all these components, you have a portable charger which can quickly boost the battery of your device.
Overall, the MintyBoost was a nice starter project, giving me a small refresher on soldering. The product itself is pretty cool to, being able to charge up an iPhone to about 75%. There are a couple of downsides though, as the MintyBoost heats up really quickly, the batteries are hard to take out, and you need a case for it. However, the MintyBoost was still a great starter project, getting me up to speed on how BlueStamp works, as well as giving me something that I can use.