Esp8266 Projects

IoT Based Fingerprint Biometric Attendance System using NodeMCU

Smart Attendance system using fingerprint sensor with ESP8266


In this article, I will explain to you how to build an IoT-based Fingerprint biometric attendance system using NodeMCU(ESP8266).0.96” OLED Display,R-307 Fingerprint Sensor.

The NodeMCU is a Wi-Fi module that will collect all fingerprint data from different users and send it over the internet to a website. the fingerprint enrolment is done on the server using the R-307 fingerprint sensor and is easily available on all markets and online websites.

The Website uses the PHP File, which has a database and records of attendance, we login into the website, and mark attendance and you can collect all the attendance records of each user’s personal details as well as in and out timeing.

All data can also be downloaded and exported in the Excel sheet.

Smart Attendance System using Fingerprint Sensor

Biometric attendance systems are commonly used system to make attendance like students or company employees. the projects have a wide scope in the modern era of schools, colleges, offices and companies because all attendance data is required.

Required component’s


Component Name






R-307 Fingerprint Sensor



O.96'' OLED Display



Li-ion Battery(18650)



On/Off Switch



Zero PCB



Connecting Wires





R-307 Fingerprint Sensor

Fingerprint sensors are electronic devices that capture and analyze the unique patterns of ridges and valleys on an individual’s fingertip. They are commonly used for biometric authentication, as fingerprints are unique to each person and can be used as a reliable means of identification.

Components3 1


  • Supply voltage:- DC 4.2 ~ 6.0V
  • Current:- 50mA
  • Image take Speed:- <0.3 seconds
  • Storage capacity:- 1000 pieces
  • Search time:- <1.0 seconds
  • Interface:- UART
  • Communication baud rate (UART):- 9600

0.96” OLED Display

OLED displays work by emitting light through organic compounds that are sandwiched between two electrodes. When a voltage is applied to the electrodes, it causes the organic compounds to emit light.

oled display e1686434420422


  • Display Size:- 2.44 cm (0.96 inch)
  • Pixel Colour:- Blue
  • Resolution:- 128 x 64 Pixels
  • Driving Voltage:- 3.3-5V
  • Operating Temperature:- -40~70 Celsius
  • Interface Type:- I2C

Setting UP The Website

In this Project, you used the global or local website. You need to have a unique domain name and set up a website.

if you own a website and server you can simply download the file and copy it to the cPanel/Website file manager modify the correct data in db.php and install the PHP file with your website credentials.

in case you don’t wanna money on website management. then you configure your website as local and use your own computer as a server to store the data locally in localHost.

you can download the local server provider Xampp Software.

Install and Download Xampp from the link here:- Download XAMPP

we used to Xampp software to demonstrate the all process. Choose your own operating system and download it. Xampp is available on Windows, Linux and Mac.

Screenshot 2023 10 12 at 9.47.34 AM

once you download the successfully Xampp software and install it.after the successful installation simply download the file and copy it to the folder C:\xampp\htdocs on your computer or laptop. you place the file where your all website data we stored.


Circuit Diagram

Here I used the esp8266(NodeMCU) Microcontroller,0.96” OLED Display, R-307 Fingerprint Sensor.

Circuit Diagram

  • 0.96”Oled Display is connected to the I2C Protocol. That’s why it used only 4 pins, SDA, SCL, VCC And GND.and is connected to the nodeMCU Pin D1 and D2.
  • R-307 Fingerprint sensor is connected with UART Protocol. is uses 4 wire connections Tx, Rx, VCC And GND.and is connected to the nodeMCU Pin D3 And D4.


In Source Code, you need to make two modifications according to your Wi-Fi network connection and PC IP Address.

  • make sure that wifi you use that’s is available in the range near the device.

  • Also, change the IP Address if you are using the Xampp Website domain Name and if you using the global website change it.

Flowing Libraries

1. OLED GFX Library: Download
2. SSD1306 Library: Download
3. Adafruit Fingerprint Sensor Library: Download

Final Code

GitHub e1697076839430

Once the program is successfully uploaded to the nodeMCU(ESP8266) microcontroller. it will boot up and OLED display the wifi connectivity network if the password is correct then is displayed as connected.

Smart Attendance System using Fingerprint Sensor1 e1697087744425

Smart Attendance System using Fingerprint Sensor4 e1697087775766

once wifi connected you start the registration process of the user on the website using the link:- http://localhost/biometricattendance/ManageUsers.php

Smart Attendance System using Fingerprint Sensor3

if you check the video tutorial then you get more about how they used the system we try to explain all processes.

Authentication Of Users

when the resister is completed the system is ready to use it. you can start scanning and marking the attendance and the OLED display the welcome message as follows:


Finally, you can access the smart attendance data of the students on the website by simply selecting data and you easily download the data in Excel sheet format.

Smart Attendance System using Fingerprint Sensor2

Smart Attendance System using Fingerprint Sensor5 e1697087940839

Real-Time Install Photos



you can follow the video tutorial then you understand more about the Smart Attendance System using a Fingerprint Sensor this video helps to how you do all processes step by step.


we used the smart attendance system and is really working perfectly but one disadvantage if you use local server software. that time is connected to the proper Wi-Fi network and also on the Xampp Software.

Thanks for the time to read the article we will try to explain step by step if you have any problem related to the project plz comment below.



Hi, Prateek Here I’m interested in Electronics That's why I Make Soo Many Projects, I’m currently Pursuing M Tech.. if you Relay Like To My Blog Plz Comment Below...Thanks To All Electronics Lover...❤️


  1. Thank’s for share this object. It’s very helpful for me. But I have a question, can you answer? I want to use two sensor on an esp8266. 1 for into, 1 for outo. There is a solution?

  2. Help me. I get error on 690 and 919 number line. display.display()

    C:\Users\shudi\AppData\Local\Temp\.arduinoIDE-unsaved2024310-8736-zwmck3.5cun\fingerprint\fingerprint.ino: In function ‘uint8_t deleteFingerprint(int)’:
    C:\Users\shudi\AppData\Local\Temp\.arduinoIDE-unsaved2024310-8736-zwmck3.5cun\fingerprint\fingerprint.ino:690:20: error: control reaches end of non-void function [-Werror=return-type]
    690 | display.display();
    | ~~~~~~~~~~~~~~~^~
    C:\Users\shudi\AppData\Local\Temp\.arduinoIDE-unsaved2024310-8736-zwmck3.5cun\fingerprint\fingerprint.ino: In function ‘uint8_t getFingerprintEnroll()’:
    C:\Users\shudi\AppData\Local\Temp\.arduinoIDE-unsaved2024310-8736-zwmck3.5cun\fingerprint\fingerprint.ino:919:18: error: control reaches end of non-void function [-Werror=return-type]
    919 | confirmAdding();
    | ~~~~~~~~~~~~~^~
    cc1plus.exe: some warnings being treated as errors

    exit status 1

    can you please guide me?

    Compilation error: control reaches end of non-void function [-Werror=return-type]

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button

Adblock Detected

Please consider supporting us by disabling your ad blocker