Introduction: Interfacing Capacitive Fingerprint Sensor With Arduino UNO
Hey, what's up, Guys! Akarsh here from CETech.
Today we are going to add a protective layer to our projects. Don't worry we are not going to appoint any bodyguards for the same. It will be a cute little good looking fingerprint sensor from DFRobot.
So as I mentioned above, today we are going to interface a Capacitive Fingerprint Sensor from DFRobot with Arduino UNO and after that, we will test three functions of this sensor which are adding a fingerprint, Checking the added fingerprint, and after that deleting the added fingerprint.
So let's get to the fun part now.
Step 1: Get PCBs for Your Projects Manufactured
PCBGOGO, established in 2015, offers turnkey PCB assembly services, including PCB manufacturing, PCB assembly, components sourcing, functional testing, and IC programming.
Its manufacturing bases are equipped with the most advanced production equipment such as YAMAHA pick and place machine, Reflow oven, Wave soldering Machine, X-RAY, AOI testing machine; and the most professional technical personnel.
Though it’s only five years old, their factories have experience in the PCB industry for over 10 years in Chinese markets. It is a leading specialist in surface-mount, thru-hole, and mixed technology PCB assembly and electronic manufacturing services as well as turnkey PCB assembly.
PCBGOGO provides the order service from prototype to mass production, join them now.
Step 2: About the Capacitive Fingerprint Sensor
Product Link: https://www.dfrobot.com/product-2051.html
The Capacitive Fingerprint Sensor is a nice and compact one that is similar to the one at the back of your smartphone. It comes with round breathing LEDs and has a simple structure, small size, and delicate appearance. The sensor offers fast recognition speed and high security. It supports 360-degree arbitrary angle recognition and deep self-learning function, high performance, and low power consumption. Loaded with ID809 high-performance processor and semiconductor fingerprint sensor as the core, the sensor adopts a built-in IDfinger6.0 algorithm, which can complete all fingerprint identification work independently. This sensor supports UART communication and while working with the Arduino library, it can easily realize functions like fingerprint registration, fingerprint deletion, etc. It is a 6 pin device that can be easily connected to microcontrollers by virtue of the pitch connecter that comes with it. But one thing to keep in mind is that the color-coding of the wires that comes with this device is different from the normal coding. So we need to take care of it while doing the connections. The color coding is as given below:-
- Red Wire = Ground Pin
- Black Wire= Rx(Receiver Pin)
- Yellow Wire= Tx(Transmitter Pin)
- Green Wire= Vcc Pin
- Blue Wire= IRQ Pin(Interrupt Request Pin that is capable of receiving external Interrupts)
- White/Grey Wire= Power Supply Pin
So here we are using two pins which see to be similar but have different functions these are the Vcc and Power supply pin. The function of the Vcc pin is that it acts as an enabling pin. When there is a power input at this pin then only the sensor will work otherwise not. On the Other hand, the Power Supply Pin is there to Power Up the device or turn it ON.
Step 3: Technical Specifications and Applications of the Sensor
The Technical Specifications of this Sensor are as given below:-
- Operating Voltage: 3.3V
- Operating Current: <60mA
- Communication Method: UART
- Storage Capacity: 80 fingerprints
- 1: 1 verification time: 300~400ms
- Pixel Resolution: 508dpi
- Number of Pixels: 160x160Fingerprint
- Detection Area: 8.0mm x 8.0mm
- Working Environment: ‐40‐60℃
- Dimension: Diameter 21mm/Height 5mm
Some Applications of this Sensor are:-
- Time Attendance System
- Door Lock/ Unlock
- Security Systems
- Screen Lock/Unlock
Step 4: Connecting the Sensor With Arduino UNO
For performing the operations such as Fingerprint recording, Recognizing, and Deleting we first need to connect the Sensor to Arduino UNO by following the steps given below:-
- Connect the Vcc and Power Supply Pin(Green and White Wire respectively) of the Fingerprint Scanner to the 3.3V pin of the Arduino UNO.
- Connect the Ground Pin(Red Wire) of the Scanner to the GND pin of the Arduino.
- Connect the Rx Pin(Black Wire) of the Scanner to the Digital Pin 3 of the Arduino.
- Connect the Tx Pin(Yellow Wire) of the Scanner to the Digital Pin 2 of the Arduino.
- And at last, Connect the IRQ Pin(Blue Wire) of the Scanner to the Digital Pin 6 of the Arduino.
In this way, The Fingerprint Scanner is connected to the Arduino UNO and is ready to be coded. So now we need to connect the Arduino to our PC for the next step.
Step 5: Coding the Arduino Board
Now in this step, we are going to upload the code to our Arduino UNO board. As soon as the code gets uploaded, The Scanner will be capable of storing a new fingerprint, recognizing the fingerprint, and also deleting the same. For this step, you need to refer to the Github repository of this project from here and after that follow the steps given below:-
- First of all, you need to download the DFRobot_ID809 file from the Github repository. It is the Arduino library for the Fingerprint Scanner. After downloading this, you need to put it in the Arduino libraries folder.
- After that, you need to open the file named Arduino Code.ino. This is the code that needs to be uploaded to the Arduino. Paste this code in your Arduino IDE. Select the correct board, COM Port, and hit the upload button.
And with these steps, Our Fingerprint Scanner is ready to use and we will test the functions of it in the next step.
Step 6: Playing With the Scanner
The code that we just uploaded had three functions in it. Those functions are Reading and Testing the Fingerprint, Adding a new fingerprint, and Deleting any added Fingerprint. So now we will be testing these functions. For that, we first need to open the Serial Monitor which will display messages according to the task performed. We will hover around each of the operations one by one.
- Adding a new fingerprint: For this operation, we need to place our finger on the Scanner you will see a blue light blink. Keep finger placed there until the yellow light blinks three times and then release the finger. This shows that the scanner has entered the fingerprint adding mode and as our fingerprint is not already added to the scanner that's why it would show unregistered on the Serial Monitor and assign an ID to the same. After that, we need to put our finger on the scanner again and wait till the yellow light blinks and then we can release the scanner. We need to repeat this process of placing the finger on the scanner and releasing two more times and in total three times to add our fingerprint. As we complete the scanning for the third time we will see a green light in place of the yellow light. This shows that the fingerprint is added successfully and the same can be seen on the serial monitor as well.
- Testing a Fingerprint: Now we can test the added fingerprint by placing the thumb on the scanner again. This time we have to remove our finger after the blinking of the blue light and we will see that the green light turns on and a message on the Serial monitor will appear saying successfully matched with the ID of the fingerprint.
- Deleting the Fingerprint: For deleting the fingerprint we need to place our finger on the scanner and keep it placed there until the red light blinks. First of all, a blue light will blink which is the option for testing the fingerprint. After that, a yellow light will blink which is the option for adding a new fingerprint and in the end, the red light will blink which shows that the fingerprint is deleted and a message on the Serial monitor will show that the Fingerprint with ID No. is deleted. After deletion, If we place our finger on the scanner for testing, The red light will blink and the serial monitor would show a message saying that the Fingerprint not matched.
In this way, we will be able to interface the fingerprint scanner to the Arduino IDE and can add it to our projects wherever possible.
Step 7: Another Way to Connect the Scanner
It is an alternative way of connecting the Fingerprint Scanner. What we can do is that we can connect the scanner to a USB to Serial Converter before connecting it directly to the Arduino. For that, we need to connect the Vcc and GND pins of the Scanner to the Vcc and GND pins of the Converter. After that, we need to connect the Rx pin of the Scanner to the Tx pin of the Converter and the Tx pin of the Scanner to the Rx pin of the converter and in this way, the scanner is connected to the converter. Now we can connect the converter to our laptop and after that, we need to open the NOEM Host Software. The Software is available on the Github repository of this project. You can refer to that from here. Download it and then open it. There you need to select the COM Port and Baud rate and you are ready to use the software. There are a lot of operations that can be performed using that software such as viewing the image of the fingerprint captured, Perform a check of the fingerprint, and many more.
So in this way, we have learned how to interface a Capacitive fingerprint Sensor to the Arduino and use it in our projects. Hope you liked the Tutorial. Looking forward to seeing you next time. Until then enjoy Electronics.
Participated in the
Battery Powered Contest