Do you remember the GT-521F52 fingerprint reader that we tested three weeks ago? We found a nice and fun application for it...
The idea is to build a secret box that opens only if we provide it with the correct fingerprint. If the cencept itself is simple, its implementation requires some deep thinking in terms of mechanics and user interface.
As we didn't have much time to build our own metal box, we decided to start from a nice wood box that we found in the arts and craft section of our local DIY store... The goal being to illustrate the principle rather than to make a tamper-proof strongbox. It's a very simple box, of the "cigar box" type with a lid mounted on hinges.
The box under discussion
The locking mechanism is based on a system of claw pairs, the first one is mounted on the lid, the second one is mounted on a pin in the box. This claw is pushed in one direction by a spring, but can be pushed in the other direction by a small electronic jack driven by a Yocto-Servo. The lid is also supported by a small spring which prevents it from closing on its own.
The box locking principle
When you close the box by firmly pushing down the lid, the lid claws push the mobile claws until they lock one another. To open the box, the jack pushes the mobile claws which free the lid claws and the box opens thanks to the spring supporting the lid. The support system also activates a small switch which allows the electronics managing the box to know whether the later is open or closed.
The box locking system, in real life
When the box decides to open, it therefore frees the lid by using the jacks. As soon as it detects the opening, the system retracts the jacks, in order for the box to be re-locked by pushing on the lid.
The whole system fits into a parallelepiped which is screwed inside the box. In fact, we used two of these, one on each side, to respect symmetry. The claws are made in printed PLA. We laser-cut the system under-frame with in 3mm acrylic glass. Acrylic glass is a particularly breakable material, but we made this choice knowingly:
- Cutting the pieces takes only a few minutes, which makes design errors relatively cheap :-)
- If we find ourselves with an un-lockable box, while developing the driving software, we can open it by forcing the lid, and the acrylic glass breaks.
- When everything is up to speed, we can easily replace the acrylic glass parts with parts made from 3mm metal sheets, such as aluminum, let's not forget that the box itself is made of wood.
There are fours Yoctopuce modules inside this box:
- A Yocto-Servo to drive the electronic jacks
- A Yocto-Serial to interface the fingerprint reader
- A Yocto-Display to display the box status and guide the user to define its fingerprints, when the box is open.
- A Yocto-Color-V2 to display the box status with a small NEOPIXEL led stick when the box is closed.
A Raspberry Pi 2 drives the whole system. All the control electronics is located in the box lid, hidden behind a sheet of black acrylic glass. In order to spare a few millimeters in thickness, we de-soldered the Raspberry Pi USB connectors and we soldered wires directly instead.
The box diagram
The control electronics, to be mounted in the lid
The fingerprint reader is embedded on the right side of the box, in the thickness of the wood, so that it is level with the side, while the led stick is embedded directly in the lid.
Outside user interface
When the box is locked the user sees only the leds. The idea is to indicate the box status with a color code as intuitive as possible:
- Blue when the box is in standby
- An animation is triggered during a fingerprint scan
- Red if the fingerprint is rejected
- Green if the fingerprint is accepted
When the box is open, the user has access to the screen and to two push buttons to delete all stored fingerprints or to store an additional one. Note that the box refuses to go back to lockable position if it has no stored fingerprint.
The open box
The power supply
The power supply is an issue. A battery inside the box would not have been realistic: as the system includes a Raspberry Pi, Yoctopuce modules, and engines, a battery would have been drained in a few hours, moreover it would have taken up most of the space. So we made it as simple as possible: to work, the box must be powered in 5V. There is a connector for this purpose on the box backside.
To work, the box must be powered with 5V
Note: if someone knows of a Raspberry type board, but able to go to sleep and to wake up when a contact closes, let us know :-)
And does it work?
It works rather well, we made you a short video:
About fingerprint readers
Obviously, this box is only a toy, you can easily break its locking system by mechanically forcing it. However, this little project made us think about these fingerprint readers that you now find on many laptops and smart phones. We suspect the technological and fun aspect of these fingerprint readers to try to make us believe that they offer better security than an good old password. In fact, if you think about it, it's quite easy to bring someone to unlock a fingerprint reader by force: one only has to put that person's finger on the reader, whether the person wants to cooperate or not doesn't matter at all...