Smart Gatekeeping and Authentication System


  Based on proper management and security purposes, authorities of various institutions use different methods to control access. The system they are using to achieve this may be different. But there are some instances where we want to verify the identity of a user very accurately. One example is examinations. Examinations are conducted in various educational institutions such as schools, universities, etc. The basic process of exams is issuing admissions for the registered candidates before the exam. At the exam, candidates can use admissions to show permission to seat in the exam. Most of the time, what the invigilators do is, check the admissions and IDs of candidates while conducting the exam and keeping a record of attendance. Examinations are for the assessment of a person. Depending on various reasons, people are cheating on exams. For a year, there are a considerable number of cases that report violating rules in exams. One of the common violations is seating for exams instead of someone else. What we identified as problems here are as follows. It costs time to manually check and verify users accurately. Violating rules by unauthorized access can be preventable. Keeping records of attendance and storing data can be done more efficiently. So, the motivation of our project is to design a system that can verify the identity of a person/user who registered for the examination/event, keep a record of their presence/attendance, and provide the administration of relevant institutions with manageable records. The system could be used for any institution where they need to have authorized people to enter/access premises.  


ACCOL | Anywhere is a system that gets the presence of a person using a fingerprint scanner (including a keypad and a display screen) and a drop arm gate that opens for a correctly verified fingerprint. The system is connected with the management system of the institution. The administration of the institution can view and handle data there. The registered users can use the fingerprint scanner. If the fingerprint scanner cannot detect the fingerprint correctly, the user can use the keypad to get permission for the entrance. The registration number will be the key to marking attendance. After scanning the fingerprint or giving the key, the display screen will display the relevant details of the user. Then, the gate will open for some time for the user to pass through the gate. Before and after passing the gate, the laser sensors will detect whether the user passes the gate. So, with this process, the administration of the institution can see the record of the entrance of the verified user from the website. So, the system provides a solution for the above problem by reducing the time spent on the process and accurately verifying whether a person is registered.  


Authenticate your employees, visitors, and customers with the fingerprint.

Analyze check-in and check-out data

Gather and analyze data on personal check-in and check-out time with provided extensive tools and UI.

Add users to the system

Register your employees, visitors, and customers into the system with their fingerprint data.

Data protection and Secure privacy

Protect your and your user's data and privacy with the provided security techniques and tools.

High Level solution Architecture

Hardware System ​Architecture

A fingerprint module is a device that captures and processes fingerprint data to verify an individual's identity (User Authentication). R037 Fingerprint module captures an image of fingerprint data and sends that image to our hardware platform, the NODEMCU microcontroller to either verify or store data inside our external storage (SD card module) other than in in-built flash memory. The data on the position of the verified person on the pathway into the controlled environment is sent to the microcontroller (NODEMCU) by the ultrasonic sensor modules. There is a keypad as an additional input and verification method when something goes wrong with scanning the fingerprint correctly. Depending on these inputs, the control platform (NODEMCU) will send the control signals to the LED indicators, buzzers, and servo motor.   Another important aspect of the solution architecture is the software that runs on the hardware platform and cloud which interacts with administrators (Institutions, Companies, etc.). This includes the firmware that controls the hardware components of the module, as well as web applications deployed on the cloud platform (Firebase) which provides services such as registration of their visitors, checking out logging details, and creating the controlled environments as they wish. All the communication between these platforms is done by secure Rest APIs and all the data stored and transmitted will be encrypted.    

Hardware components

R307 Biometric Fingerprint Reader Sensor

R307 fingerprint module is a fingerprint sensor with a TTL UART interface for direct connections to microcontroller UART or to PC through MAX232 / USB-Serial adapter. The user can store the fingerprint data in the module and can configure it in 1:1 or 1: N mode for identifying the person.

NodeMCU D1 
ESP-12E ESP8266

The ESP-8266EX-based Espressif development platform, almost compatible with the Arduino UNO pins, can also use some shield modules designed for the classic Arduino UNO. Parameters: CPU 80 Mhz, speed 115200

Servo Motor Metal Wheel MG996

MG996 Metal Gear Servo Motor is a high-speed standard servo can rotate approximately 180 degrees (60 in each direction) used for airplane, helicopter, RC-cars and many RC model. Provides 10kg/cm at 4.8V, and 12kgcm at 6V.

HC-SR04 4Pin Ultrasonic Sensor Module

Operating voltage: +5V
Theoretical Measuring Distance: 2cm to 450cm
Practical Measuring Distance: 2cm to 80cm
Accuracy: 3mm

4x4 16-Key Membrane Switch Keypad Module

This 16-button keypad provides a useful human interface component for microcontroller projects Convenient adhesive backing provides a simple way to mount the keypad in a variety of applications.

5V 1A SMPS Power Adapter

Input: 100-240V AC 50/60Hz
Output: 5V DC 1A
Power: 5W
Type: Plastic Adapter



User Inputs are the most common way to commit a malicious attack.
To prevent such scenarios, we validate the user input from both the front-end application and the back-end API.
If inputs are not in the correct order, in the front-end, it denies the inputs. And from the back-end, it denies the request.

Although we are using a ​NoSQL database to work with data, we do not directly store sensitive data on the database.
For that, we encrypt the sensitive data on the API with the help of well-known powerful libraries and then store those in the database.

In authentication, the user or computer has to prove its identity to the server or client. Usually, authentication by a server entails the use of a user name and password. 

Hypertext Transfer Protocol Secure (https) is a combination of the Hypertext Transfer Protocol (HTTP) with the Secure Socket Layer (SSL)/Transport Layer Security (TLS) protocol. TLS is an authentication and security protocol widely implemented in browsers and Web servers.

Testing Plan

Postman testing

ACCOL | Anywhere website demo video

Hardware testing video

Click here to download 



Component Unit price Quantity Total 
NodeMCU 1350 1 1350

16x4 Blue Backlight LCD Display
2020 1 2020
2GB Memory card 1200 1 1200

Servo Motor Metal Wheel MG996 Full Set
1500 1 1500
4x4 16-Key Membrane Switch Keypad Module 300 1 300

SD Card Module for Arduino
220 1 220
R307 Biometric Fingerprint Reader Sensor 5250 1 5250
 Ultrasonic Sensor Module 450 4 1800

80 1 80

5V 1A SMPS Power Adapter
500 1 500

3.7V 1800mA Li-ion Rechargeable Battery
750 1 750

5v Boost converter
250 1 250

12 for LCD and keypad
470 2 940
Capacitors , resistors , wires,LED - - 1500
Packing - - 5000
Total 21,580

Our Team Members

Devinda G.C.



Sewwandi H.R.



Sample Headline



Our Advisors

Dr. Isuru Nawinne


Dr. Mahanama Wickramasinghe


Project Repository