IoT Based Biometrics Implementation on Raspberry Pi

Published on . Written by

IoT based Finger Print Authentication using Raspberry Pi
The conventional authentication technologies like RFID tags and authentication cards has a lot of weakness, biometric method of authentication is a prompt replacement for this. Biometrics such as fingerprints, voices and ECG signals are unique human characters that cannot be tampered or replicated. This facilitates real time system implementations. And it is also proven to be more accurate with less than 2 seconds of processing time, facilitating the authentication system to be faster and reliable.

Read more..
The proposed project uses finger print module that can detect the finger print of a user and facilitate the authentication and attendance system. The project will have two hardware devices, first is the handheld device that will be there in all the places (like classrooms, security doors etc) and other will act as the local server for all the handheld devices present in the network.


Skyfi Labs Projects
The handheld devices can be made using the Microcontroller, LCD-Liquid Crystal Display, Zig-Bee module, Local server will be the Raspberry Pi.

Project Description:

  1. Raspberry Pi: It is a small size minicomputer that is capable of doing small computing and networking operations which can be done by a computer system. Also it comes with GPIO pins which is the main element in the field of internet of things. For instance, Raspberry Pi 3 model has 1.2 GHz 64-bit quad core ARMv8 CPU, and RAM of 1GB. And also it has 40 GPIO pins, Full HDMI port, 4 USB ports, Ethernet port, 802.11n wireless LAN connectivity, Bluetooth 4.1 connectivity, low energy bluetooth, 3.5mm audio jack, video Camera interface (CSI), the Display interface (DSI), and Micro SD card slot.
  2. Raspbian OS: The raspbian operating system is an open source and free operating system which is a Debian based OS. Raspbian provides the basic set of programs and software utilities, also comes with more than 35,000 raspbian packages which are precompiled software.
  3. Python: Python is the programming language that is used to operate the Raspberry Pi. It is considered as one of the powerful programming languages out there to operate a microcontroller. Basically, Python programming language is used as a scripting language for Linux. Generally Python program contains a series of commands and the program will be executed by the computer from top to bottom.
  4. Zigbee: The robot uses Zigbee to establish the connection. It works on 2.4GHz ISM band with 20~250kbits/s data rate and has a transmission range of upto 1.5 km.
  5. Arduino Uno: The digital and analog input/output pins are equipped in boards that may be interfaced to various expansion boards and other circuits. Serial communication interface is a feature in this board, including USB which will be used to load the programs from computer.
  6. Finger Print Module: This module helps in the identification through fingerprint images. And in general it can be split up into the following tasks, finger print scanning-finger print classification-finger print comparison. During the classification process, finger print images are optionally allocated to a certain category based on the global orientation of the ridges while the location of the minutiae is marked as well. The comparison is divided into the following six steps,
    • Scanning of a finger print image: The quality of the scanned finger print image is the decisive factor for the identification purpose. This can be achieved by using a high-definition finger print scanner which can tolerate the skin types, colours, damages and dryness factors.
    • Image quality improvement: Here an optical improvement is applied to the structure on the scanned finger print image
    • Image processing: This is the preparatory phase for the feature extraction and classification purposes
    • Feature classification: All the finger prints show certain global similarities facilitating a rough classification. There are 3 principal finger classes exist. In this process the image is classified under anyone of the principal classes.
    • Feature extraction: In this process the location of the minutiae (ridge bifurcation & ridge endings) in the finger print is detected and extracted. At real time, the quality of the finger print image impacts this process a lot. So proper care should be taken to avoid the negative influence caused due to poor quality image.
    • Verification process: In this process two features are compared. The algorithm functioning strongly depends on the quality of the extracted minutiae and the comparison image.

Project Implementation:

  1. First, the finger print of the users should be stored in the server to recognize the user. You can program the system in such a way that whenever you press ‘E’ the enrolment action will be activated. And then the finger print of any user can be stored.
  2. During the authentication or attendance process, you can press the ‘ST’ button to start the process. A green LED glows and indicates the status of the system. Then the handheld device can used for the authentication purpose.
  3. And once the authentication process is done you can press ‘SP’ button to stop the process and the green LED will stop glowing.
  4. The finger print modules is connected to Arduino and the serial communication is done through the ZigBee module, which establishes the connection with Raspberry Pi
  5. Once the authentication or attendance system process is over, the data will be uploaded to the cloud server for storage and analysis purposes
Programming language: Python Programming

Kit required to develop IoT Based Biometrics Implementation on Raspberry Pi:
Technologies you will learn by working on IoT Based Biometrics Implementation on Raspberry Pi:


Any Questions?


Subscribe for more project ideas