RaspiReader: build your own fingerprint reader
Three researchers from Michigan State University have developed a low-cost, open-source fingerprint reader which can detect fake prints. They call it RaspiReader, and they’ve built it using a Raspberry Pi 3 and two Camera Modules. Joshua and his colleagues have just uploaded all the info you need to build your own version — let’s go!

Sadly not the real output of the RaspiReader
Falsified fingerprints
We’ve probably all seen a movie in which a burglar crosses a room full of laser tripwires and then enters the safe full of loot by tricking the fingerprint-secured lock with a fake print. Turns out, the second part is not that unrealistic: you can fake fingerprints using a range of materials, such as glue or latex.

The RaspiReader team collected live and fake fingerprints to test the device
If the spoof print layer capping the spoofer’s finger is thin enough, it can even fool readers that detect blood flow, pulse, or temperature. This is becoming a significant security risk, not least for anyone who unlocks their smartphone using a fingerprint.
The RaspiReader
This is where Anil K. Jain comes in: Professor Jain leads a biometrics research group. Under his guidance, Joshua J. Engelsma and Kai Cao set out to develop a fingerprint reader with improved spoof-print detection. Ultimately, they aim to help the development of more secure commercial technologies. With their project, the team has also created an amazing resource for anyone who wants to build their own fingerprint reader.
So that replicating their device would be easy, they wanted to make it using inexpensive, readily available components, which is why they turned to Raspberry Pi technology.

The Raspireader and its output
Inside the RaspiReader’s 3D-printed housing, LEDs shine light through an acrylic prism, on top of which the user rests their finger. The prism refracts the light so that the two Camera Modules can take images from different angles. The Pi receives these images via a Multi Camera Adapter Module feeding into the CSI port. Collecting two images means the researchers’ spoof detection algorithm has more information to work with.

Real on the left, fake on the right
RaspiReader software
The Camera Adaptor uses the RPi.GPIO
Python package. The RaspiReader performs image processing, and its spoof detection takes image colour and 3D friction ridge patterns into account. The detection algorithm extracts colour local binary patterns … please don’t ask me to explain! You can have a look at the researchers’ manuscript if you want to get stuck into the fine details of their project.
Build your own fingerprint reader
I’ve had my eyes glued to my inbox waiting for Josh to send me links to instructions and files for this build, and here they are (thanks, Josh)! Check out the video tutorial, which walks you through how to assemble the RaspiReader:
You can find a parts list with links to suppliers in the video description — the whole build costs around $160. All the STL files for the housing and the Python scripts you need to run on the Pi are available on Josh’s GitHub.
Enhance your home security
The RaspiReader is a great resource for researchers, and it would also be a terrific project to build at home! Is there a more impressive way to protect a treasured possession, or secure access to your computer, than with a DIY fingerprint scanner?
Check out this James-Bond-themed blog post for Raspberry Pi resources to help you build a high-security lair. If you want even more inspiration, watch this video about a laser-secured cookie jar which Estefannie made for us. And be sure to share your successful fingerprint scanner builds with us via social media!
10 comments
Elfen
The American TV Show “MythBusters” had proven that fingerprint readers can be fooled. The truth is, ‘if one man can build it, another man can circumvent it.” Furthermore (It should be over by now), there is a case against Interpool and the Spanish Government by an American “Terrorist” who was arrested for a train bombing in Madrid. Though he was there at the time of the bombing, he was not involved in it. But he was identified by a partial fingerprint found on the device. The Bio-Scanners pointed to him as the culprit, and it was an incorrect assessment of that fingerprint, as it belonged to a known Al-Quida operative who was later arrested for the crime. Though he was later released and cleared of charges it proves that the technology was too flawed to use in crime investigations.
It’s an interesting project in Bio-Mechanics and Bio-Scanning/Identity. I will give it that. The Dual Camera board has peaked my interest.
tzj
An example with the compute module would be good too ?
Kevin
I was thinking the exact same thing while watching this. :)
The Compute Modules have 2 camera ports instead of 1, so not only can this be made much cheaper, but also *much* smaller and much faster as you can take the pictures simultaneously (no need to switch cameras and wait for the sensor to settle).
Awesome project! I had totally dismissed fingerprint sensing as far too insecure, but this method has me wondering where I can use it now. :)
rolantika
Excellent project :)
Also you can choose to use original camera module multiplexer (IVPort) which is introduced very early than its clone that you have used…I suggest you so because Ivport have support for 8mp sensor camera module v2 and version for only 2 camera modules if you want to economy budget and you will be using only 2 camera modules at your application.
http://www.ivmech.com/magaza/en/ivport-dual-v2-p-109
http://www.ivmech.com/magaza/en/ivport-dual-p-104
Joshua J Engelsma
Hi Rolantika, I tried using IVPort, but the board I purchased must have been a dud, because it was not working. I plan to purchase another one to try again, since the IVPort is compatible with Version 2 Pi cameras. Thanks!
Arzu Babacanoğlu
There was a project ivport, which supports 8mp camera and has 2 port to use. Also ivport is cheaper than arducam. I recommend you to google ivport or ivmech.
Concentrations for your project.
Arzu Babacanoğlu
*congratulations
Russ
Could you use usb webcams instead?
Joshua J Engelsma
Hi Russ, I tried the USB webcams, but they are much slower, and the resolution was not as high (see whitepaper)
Christopher Hart
hi guys, would something like this allow for biometric access, say if my fingerprint is accessible to the reader then I scan my fingerprint and the door unlocks.