0% found this document useful (0 votes)
34 views

IJCRTT020017

Uploaded by

Kamanzi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views

IJCRTT020017

Uploaded by

Kamanzi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

www.ijcrt.

org © 2022 IJCRT | Volume 10, Issue 8 August 2022 | ISSN: 2320-2882

IOT Based Fingerprint Voting System


1
Mr.Sharathchandra N R,2Dr. Jose Alex Mathew,3Dr. B C Prem Kumar
1
Assistant Professor,2 Professor,3 Professor
1
Department of Computer Science and Engineering,
1
Sahyadri College of Engineering and Management, Mangalore, India

Abstract: To avoid rigging completely. Electronic voting systems have come into picture to prevent rigging up to the maximum
extent. But even there may be some malfunctions during elections. Thus, fingerprint based electronic voting system has been designed.
According to ancient Greek scripts BIOMETRICS means study of life. Biometrics studies commonly include fingerprint, face, iris,
voice, signature, and hand geometry recognition and verification. Many other modalities are in various stages of development and
assessment. Among these available biometric traits, Finger Print proves to be one of the best traits providing good mismatch ratio and
also reliable. To provide perfect security and to make our work easier, we are taking the help of two different technologies viz.
EMBEDDED SYSTEMS and BIOMETRICS.
Firstly, discussing about Biometrics, we are concentrating on Fingerprint scanning. For this, we are using FIM 3030N high voltage
module as a scanner. This module has in-built ROM, DSP and RAM. In this, we can store the fingerprints of up to 100 users. This
module can operate in 2 modes i.e., Master mode and User mode. We will be using Master mode to register the fingerprints which
will be stored in the ROM present on the scanner with a unique id. When a person wants to register himself in the voter list, he has to
provide his complete details along with his fingerprint image. Thus, when the same person comes to poll his vote during the elections,
he needs to give his fingerprint image before polling his vote. Thus, the system scans his fingerprint image, compares the image with
the already stored image. If both the images are matched, the person can eligible to pole his vote.
If the fingerprint was not matched then the buzzer will give us the alert sound and that person can’t be eligible to cast his vote. By
this way we can avoid the rigging. After the polling was over there is switch named “results” get the final results. All this voting
information was sent to the predefined web server by using the Wi-Fi module and we should provide the internet connection to that
Wi-Fi module.
Index Terms - Internet of Things, Biometric, Finger print authentication, Embedded system, Voting system

I. INTRODUCTION
Electronic voting reefer's to voting using electronic means to either aid or take care of the chores of casting and counting votes
depending on the particular implementation ,e-voting may use standalone electronic machine (also called EVM)or computer to the
internet .This concept describe an online electoral system for Indian election is proposed for 1st time there are number of voting
system develop all over the world with each of them having it's limitation's this system uses the fingerprint sensor to scan thumb of
the voter's in order to provide high performance with high security to the voting counter also as we using internet of thing i.e.(IOT)to
make the voting system more practical. This system used to display the data-base of the user (voter). After receiving the Instruction
from the polling officer, also the voter can use the touch screen to poll his/her vote.
The internet of things (IOT) is the inter-networking of physical devices, vehicles, building and other items embedded with
electronics, software, sensors, actuators and network connectivity which enables these objects to collect and exchange data. The
IOT allows objects to sense or controlled remotely across existing network infrastructure, creating opportunities for more direct
integration of the physical world into computer-based system, and resulting in improve efficiency, accuracy and economic benefit
in addition to reduce human intervention.
In the broadest sense, the IOT encompasses everything connected to the internet, but it is increasingly being use to define objects
that "talk" to each other. Simply, the Internet of things is made up of device - from simple sensors to smart phones and wearable's -
connected together. For making an IOT infrastructure where we configure the hardware with software and control the devices over
the internet this can be with help of raspberry pi and Arduino.The raspberry pi and arduino is platform for developing the internet of
things environment. Fingerprint electronic voting system has provided a range of advantages to the voting process. It assists perform
voting in much more successful and efficient way, such a minimizing the cost of the ballot's printing and employing more staff.
Fingerprint Election system also can make voting tallies faster as well as much more effectively than tired polling staff; they minimize
human being mistakes in voting final result as well as minimize the expenses of the election. The significant advantages of electronic
election might be reviewing in the following points: much more participation, fast process, lower costs, and precision placing and
better access and versatility for the disable. Essential reason fingerprint readers are widely used is, they offer a fast, simple, powerful,
and secure access by means of a person with the good access rights can authenticate. The advocate of electronic voting provides that
the comfort, flexibility, speed, cost effectiveness, and versatility and these are the main advantages of the electronic voting machine.
Considering that this system has every one of these properties, it can be used almost everywhere, by the government authorities,
organizations, courts, shopping malls even in the colleges and universities. The matching algorithm going to be designed in this project
will support the system with additional advantages. The fingerprint matching algorithm combine both local and global information
are used for the purpose of fingerprint feature extraction. The result of the algorithm will be finger code which is short length fixed

IJCRTT020017 International Journal of Creative Research Thoughts (IJCRT) www.ijcrt.org 72


www.ijcrt.org © 2022 IJCRT | Volume 10, Issue 8 August 2022 | ISSN: 2320-2882
code that will be stored in the system’s database and it will be used during the matching. The finger code provides another advantage
to the system by making the matching process faster, by taking the Euclidean distance between two finger codes.
In the existing system, the election process was preceding like cast the vote by showing the voter ID card at the polling booth and
by pressing the button against the party symbol. But in that there is a chance of rigging. So, to avoid this we are incorporating the
embedded systems into the election system by registering the fingerprints of every voter before election. Voting process is known as
a process for a group by means of a meeting or democratic vote in orders to take a free decision.
This manner considers as the best normally found in republic and democratic governments (IDEA international, 2012) Common
elections systems are already existing for hundred years ago. All those earlier election systems, however they had been considered
being acceptable in past days, they started to reveal its disadvantages, day after day. These disadvantages, lead to a huge development
in the design and style of electronic voting machine. Previously back to 1960, the election systems used were all run manually. This
involves, the election system that use paper, were the voters' votes casted and counted by hands. During 1961, the design of voting
systems developed from manual base to electronic base where the first electronic voting system was the electronic punch card system
(Giovanni, 2008).
In the proposed system, we are incorporating the fingerprint module and by using this system, before election we are going to register
the fingerprint of every voter and at the time of voting one must show his finger at the fingerprint module to cast his vote. Since finger
print was unique for every person and there is no chance of rigging and once the fingerprint was matched then only the person can
able to cast his vote. The project requires the voter to submit his/her Fingerprint at the election place. The Fingerprint technology will
be used in this project to create the system. The primary goal of the project is to make a system that requests the voter to give his/her
Fingerprint as a personality proof.
The fingerprint voting system reads the fingerprint’s data and compares it with the data previously stored inside the database. If the
data exists in the database meets with the previously stored data, the voting system will enable the voter to enter into the system and
give his/her vote. If the data of the Finger didn’t meet with the stored data, then the system will instantly trigger the display and the
authorities will come to take an action.
In order to achieve the primary goal of this project, matching algorithm need to be designed in efficient way in order to increase
system’s accuracy. The proposed matching based on Gabor liner filter bank which consists of 8 filters which will extract the local and
global feature of the fingerprint and convert the extracted information into variant vector (fingercode). The performance of liner filters
is not accurate if the fingerprint image not clear. For that another objective is added to this project which is reducing the noise of the
fingerprint image using sectorization and normalization. Voting machines are the total combination of mechanical, electromechanical,
or electronic equipment (including software, firmware, and documentation required to program control, and support equipment), that
is used to define ballots; to cast and count votes; to report or display election results; and to maintain and produce any audit trail
information. The first voting machines were mechanical but it is increasingly more common to use electronic voting machines. A
voting system includes the practices and associated documentation used to identify system components and versions of such
components; to test the system during its development and maintenance; to maintain records of system errors or defects; to
determine specific changes made after initial certification; and to make available any materials to the voter (such as notices,
instructions, forms, or paper ballots). Traditionally, a voting machine has been defined by the mechanism the system uses to cast votes
and further categorized by the location where the system tabulates the votes. Voting machines have different levels of usability,
security, efficiency and accuracy. Certain systems may be more or less accessible to all voters, or not accessible to those voters with
certain types of disabilities. They can also have an effect on the public's ability to oversee elections. Electronic voting systems may
offer advantages compared to other voting techniques. An electronic voting system can be involved in any one of a number of steps
in the setup, distributing, voting, collecting, and counting of ballots, and thus may or may not introduce advantages into any of these
steps.
Moreover, it is also important that a false entry should not be made so for this one of the most secure methods for voting is using a
biometric sensor like a fingerprint reader. Fingerprints are one of many forms of biometrics used to identify individuals and verify
their identity. Fingerprint recognition or fingerprint authentication refers to the automated method of verifying a match between two
human fingerprints.
I. Hardware Details
The project will be discussed on the basis of what has been done in the previous sections. Simulation of e-voting system is also
included in this chapter. In addition, the discussion of how to achieve the goals and the objectives and do the project very well
explained. Linear filter known as Gabor filter is applied for fingerprint recognition, in this electronic voting system line filter was
used in order to perform the fingerprint identification. This fingerprints identification technique simulated after intensive studies on
various types of algorithms. The proposed electronic voting system consists of software and hardware, the software program will deal
with the process of analyzing the voter fingerprint image and perform the matching farther more allowing the voter from casting
his/her vote, while the hardware consists of optical fingerprint scanner which will be connected to personal computer with high
specifications (processor and video card) to handle the operation of the software program. In this project, an optical fingerprint scanner
is replaced by fingerprint database exist on the Internet, because these databases provide a wide range of fingerprints taken from
different types of fingerprint scanners with different quality and size, also due to the lack of such equipment in the Malaysian market
and high cost, if imported from another country.

IJCRTT020017 International Journal of Creative Research Thoughts (IJCRT) www.ijcrt.org 73


www.ijcrt.org © 2022 IJCRT | Volume 10, Issue 8 August 2022 | ISSN: 2320-2882

Fig 2.1 Block Diagram


The fingerprint image will be passed to the identification program. The identification and authentication will be done using the
program which been designed and simulated using MATLAB. A database containing information of the voters as well as the
candidates will be updated accordingly when the users give their votes. So, electronic voting system will enable automatic counting
of votes against the candidate.
Hardware Components used: Arduino Uno, Fingerprint Module, LCD, Buzzer, Wifi Module, Switch Array, Power Supply
Arduino Uno
The Arduino was born at the Interaction Design Institute in the city of Ivrea, Italy in 2005. Prof. Massimo Banzi of Interaction
Design Institute was looking for a solution for an expensive microprocessor. In his mind he wanted to make something that is cheap
and easy to use and can be able to integrate with the other hardware. So, with the help of David Cuartielles, an engineer visiting the
Interaction Design Institute from the Malono University, Sweden and with the help of two computer science students they came up
with a simple and efficient microcontroller and they decided to name it after a local bar named arduino. As time passes, they decided
to make arduino an open source hardware as the Interaction Design Institute is closing down. They feared that their valuable design
can be go wasted, so they made it public for all the world by open sourcing it. With some fee anybody can produce that design
microprocessor and because to its simple and easy way to install and integrate with others made it popular in the open source world.
An arduino microprocessor is of the ATmega microprocessor family The Arduino UNO is a widely used open-source microcontroller
board based on a removable, dual-inline-package (DIP) ATmega328 AVR microcontroller. Programs can be loaded on to it from the
easy-to-use Arduino computer program. The Arduino has an extensive support community, which makes it a very easy way to get
started working with embedded electronics.

Fig 2.2. Arduino Uno

Table 2.1 Arduino Uno Specs

IJCRTT020017 International Journal of Creative Research Thoughts (IJCRT) www.ijcrt.org 74


www.ijcrt.org © 2022 IJCRT | Volume 10, Issue 8 August 2022 | ISSN: 2320-2882

Finger Print Module


Biometric identification from a print made by an impression of the ridges in the skin of a finger is often used as evidence in criminal
investigations. Yes, now we can use the same biometric identification technique to build our own hobby projects like a biometric
authenticator/access control system with the help of readily-available Fingerprint Identification Modules.

Fig 2.3 Finger Print Scanner


This is an optical biometric fingerprint reader/sensor (R305) module with TTL UART interface for direct connections to a
microcontroller UART. The user can store the finger print data in the module and can configure it in 1:1 or 1: N mode for identifying
the person. This module can directly interface with any 3.3V or 5V microcontrollers, but a suitable level converter/serial adapter is
required for interfacing with the serial port of a PC. Fingerprint processing includes two parts, fingerprint enrolment and fingerprint
matching (the matching can be 1:1 or 1: N). When enrolling, user needs to enter the finger two times. The system will process the
two-time finger images, generate a template of the finger based on processing results and store the template. When matching, user
enters the finger through optical sensor and system will generate a template of the finger and compare it with templates of the finger
library. For 1:1 matching, system will compare the live finger with specific template designated in the Module; for 1: N matching, or
searching, system will search the whole finger library for the matching finger. In both circumstances, system will return the matching
result, success or failure.
The module itself does all complex tasks behind reading and identifying the fingerprints with an on-board optical sensor and
fingerprint algorithm. All you need to do is send it simple commands, and the fingerprint scanner can store different fingerprints. The
database of prints can even be downloaded from the unit and distributed to other modules. As well as the fingerprint template, the
analyzed version of the print, you can also retrieve the image of a fingerprint and even pull raw images from the optical sensor.

Fig. 2.4 Hardware Module


Although a number of fingerprint reader/sensor modules with slight variations are available now, most have a 4-pin external
connection interface. By way of the serial interface, fingerprint reader/sensor module can communicate with a microcontroller (uC)
runs on of 3.3V or 5V power supply. TX/TD pin of the module connects with RXD (RX-IN pin of the uC), and RX/RD pin connects
with TXD (TX-OUT pin of the uC). If you are building a personal computer (PC) – based project, remember to add a level converting
circuit (for instance, the MAX232) between the module and the personal computer. Serial communication protocol mode is semi-
duplex asynchronous serial communication, and user can set the baud rate in 9600 – 115200bps. Recommended working voltage of
the module is 3.6 to 6.0 Volt DC, and the typical working current is 90 to 100 mA (150mA peak).

Fig 2.5 Connecting with Arduino


Exclusive/generic fingerprint reader/sensor modules are easily available from reputed online vendors like Ad fruit, Spark fun, etc.
Most of these products are bundled with tutorials, sample codes, demo software’s, and SDKs. Now it is your turn to select one module
of your interest. As an example, consider the GT-511C1R from Spark fun (shown below).

Fig 2.6 GT-511C1R


When it comes to an Arduino project, probably you will need to download related examples and libraries, then upload the Enroll
sketch to make the unit recognize your finger print. Follow the instructions in the serial monitor, then upload the ID finger sketch.
Now when you scan your finger, the serial monitor will show “Verified” (with the appropriate ID number) or “Finger not found” if
it’s not recognized. All you need to do is to enable a relay if a correct fingerprint is detected, and possibly write an entry line to a SD
card with time and date stamp for an entry log.

IJCRTT020017 International Journal of Creative Research Thoughts (IJCRT) www.ijcrt.org 75


www.ijcrt.org © 2022 IJCRT | Volume 10, Issue 8 August 2022 | ISSN: 2320-2882

Liquid Crystal Display Module


An LCD is a flat-panel display or other electronically modulated optical device that uses the light-modulating properties of liquid
crystals combined with polarizers. Liquid crystals do not emit light directly, instead using a backlight or reflector to produce images
in color or monochrome. LCDs are available to display arbitrary images (as in a general-purpose computer display). LCDs can either
be normally on (positive) or off (negative), depending on the polarizer arrangement. 16×2 LCD is named so because; it has 16 Columns
and 2 Rows. There are a lot of combinations available like, 8×1, 8×2, 10×2, 16×1, etc. But the most used one is the 16*2 LCD hence
we are using it here.

Fig 2.7 LCD


LCDs use two glass panels; the thickness of the panels increases with size but the increase is more noticeable on LCDs and
potentially lower power consumption as the display is only "on" where needed and there is no backlight. Since LCD screens do not
use phosphors, they rarely suffer image burn-in when a static image is displayed on a screen for a long time. The LCD screen is
more energy-efficient and can be disposed of more safely than a CRT.

Fig 2.8 Pin Configuration


Following are the features of LCD used
 Operating Voltage is 4.7V to 5.3V
 Current consumption is 1mA without backlight
 Alphanumeric LCD display module, meaning can display alphabets and numbers
 Consists of two rows and each row can print 16 characters.
 Each character is build by a 5×8 pixel box
 Can work on both 8-bit and 4-bit mode
 It can also display any custom generated characters
 Available in Green and Blue Backlight
WiFi Module
ESP8266 is Wi-Fi enabled system on chip (SoC) module developed by Espressif system. It is mostly used for development of IoT
(Internet of Things) embedded applications. ESP8266 comes with capabilities of

 2.4 GHz Wi-Fi (802.11 b/g/n, supporting WPA/WPA2),


 general-purpose input/output (16 GPIO),
 Inter-Integrated Circuit (I²C) serial communication protocol,
 analog-to-digital conversion (10-bit ADC)
 Serial Peripheral Interface (SPI) serial communication protocol,
 I²S (Inter-IC Sound) interfaces with DMA(Direct Memory Access) (sharing pins with GPIO),
 UART (on dedicated pins, plus a transmit-only UART can be enabled on GPIO2), and
 pulse-width modulation (PWM).

It employs a 32-bit RISC CPU based on the Tensilica Xtensa L106 running at 80 MHz (or overclocked to 160 MHz). It has a 64
KB boot ROM, 64 KB instruction RAM and 96 KB data RAM. External flash memory can be accessed through SPI. ESP8266
module is low cost standalone wireless transceiver that can be used for end-point IoT developments. To communicate with the
ESP8266 module, microcontroller needs to use set of AT commands. Microcontroller communicates with ESP8266-01 module
using UART having specified Baud rate. There are many third-party manufacturers that produce different modules based on this
chip. So, the module comes with different pin availability options like,

 ESP-01 comes with 8 pins (2 GPIO pins) – PCB trace antenna. (shown in below figure)
 ESP-02 comes with 8 pins, (3 GPIO pins) – U-FL antenna connector.
 ESP-03 comes with 14 pins, (7 GPIO pins) – Ceramic antenna.
 ESP-04 comes with 14 pins, (7 GPIO pins) – No ant.

IJCRTT020017 International Journal of Creative Research Thoughts (IJCRT) www.ijcrt.org 76


www.ijcrt.org © 2022 IJCRT | Volume 10, Issue 8 August 2022 | ISSN: 2320-2882

Fig 2.9 WiFi Module ESP2866


ESP8266 Firmware has been provided in binary format files (.BIN) that can be downloaded directly on the ESP8266 chip. These
binaries are generated using ESP8266 SDK (Software Development Kit), which is an application development platform produced
by Espressif. Linux OS is required to compile the ESP8266 SDK. Windows user can use virtual machine. For more information
about ESP8266 SDK compilation refer - ESP8266_Getting_Started_Guide or download below attached ESP8266 Getting Started
Guide
 After compilation, download firmware directly on ESP8266 chip over serial port.
 Let’s download Espressif NON-OS SDK Firmware in to the ESP8266 module.
 First download ESP8266 FLASH DOWNLOAD TOOL which is the official firmware download tool developed by
Espressif.
 Second download Espressif NON-OS SDK Firmware
Now select .bin files with their respective address as shown in below figure.
 Boot_v1.2.bin ------------------ 0x00000
 User1.1024.new.2.bin -------- 0x01000
 Esp_init_data_default.bin ---- 0xfc000
 Blank.bin ------------------------ 0x7e000
 Blank.bin ------------------------ 0xfe000

Fig. 2.10 Selection of Bin files


Note that, all binary (.BIN) files are available at ESP8266_NONOS_SDK-master\bin directory except user1.1024.new.2.bin which
we can generate from SDK compilation and can be found in subfolder of ESP8266_NONOS_SDK-master\bin directory. Ensure that
you have selected the correct COM port and BAUD rate (115200 default). Now let’s connect ESP8266 module to computer with
RS232 standard serial port (using USB to Serial converter in case of laptop) as shown in below figure.

Fig. 2.11 Serial Comm between PC and ESP8266

IJCRTT020017 International Journal of Creative Research Thoughts (IJCRT) www.ijcrt.org 77


www.ijcrt.org © 2022 IJCRT | Volume 10, Issue 8 August 2022 | ISSN: 2320-2882
Note that, to put ESP8266 in flash mode, make connections as per above figure (in between ESP8266 and USB to Serial converter)
and then only connect it to PC/laptop. Do not forget to connect GPIO0 pin to ground. Then click on START tab in ESP8266
DOWNLOAD TOOL, and wait till it finishes. After finishing flash process, disconnect ESP8266 module from PC/laptop and remove
ground connection at GPIO0 pin. After successful downloading of firmware, we can use AT commands for server and client
communication using ESP8266.
Buzzer
A buzzer or beeper is an audio signalling device which may be mechanical, electromechanical, or piezoelectric (piezo for short).
Typical uses of buzzers and beepers include alarm devices, timers, and confirmation of user input such as a mouse click or keystroke.

Fig 2.12 Buzzer


While technological advancements have caused buzzers to be impractical and undesirable, there are still instances in which buzzers
and similar circuits may be used. Present day applications include: Novelty uses, Judging panels, Educational purposes, Annunciator
panels, Electronic metronomes, Game show lock-out device, Microwave ovens and other household appliances, Sporting events
such as basketball games, Electrical alarms, Joy buzzer (mechanical buzzer used for pranks).
Switch Array
Switches or ballot buttons allows the user to cast the vote. First of all, user needs to enroll finger with the help of keys. User needs
to enter ID/Location by using UP/DOWN keys. After selecting, user needs to press OK key.

Fig 2.13 Switch array


Power Supply using rectifiers
There are many small sections present in the electronic devices such as Computer, Television, Cathode ray Oscilloscope etc. but
all of those sections doesn’t need 230V AC supply which we get ,Instead one or more sections may need a 12v DC while so me
others may need a 30v DC. In order to provide the required dc voltages, the incoming 230v AC supply has to be converted into pure
DC for the usage. The Power supply units serve the same purpose.

Fig 2.14 Power supply Board

Fig 2.15 Stages in Power supply


An input transformer for the stepping down of the 230v AC power supply. A Rectifier circuit to convert the AC components present
in the signal to DC components. A filtering circuit to smoothen the variations present in the rectified output. A voltage regulator circuit
in order to control the voltage to a desired output level. The load which uses the pure dc output from the regulated output.
III SOFTWARE DESCRIPTION
The Arduino is a single-board microcontroller solution for many DIY projects, and it is an Integrated Development Environment
or IDE that is used to program. The following steps give the brief description about the Arduino.

IJCRTT020017 International Journal of Creative Research Thoughts (IJCRT) www.ijcrt.org 78


www.ijcrt.org © 2022 IJCRT | Volume 10, Issue 8 August 2022 | ISSN: 2320-2882

3.1 Arduino
First, we must download the IDE and install it. For downloading there opens a page as shown in the below figure we can start it
by using Arduino.cc website.

Fig 3.1 Aurduino.cc page


The IDE is available for most common operating systems, including Windows, Linux. This requires Windows 8.1 or Windows 10.
Once the installation has been downloaded, we need to install the IDE.
3.2 Arduino IDE
The Arduino IDE provides a near-complete environment for most Arduino- based projects.

Fig 3.2 Arduino IDE


The top menu bar has the standard options, including “File” (new, load save, etc.), “Edit” (font, copy, paste, etc.), “Sketch” (for
compiling and programming), “Tools” (useful options for testing projects), and “Help”. The middle section of the IDE is a simple text
editor that where you can enter the program code. The bottom section of the IDE is dedicated to an output window that is used to see
the status of the compilation, how much memory has been used, any errors that were found in the program, and various other useful
messages.

Fig 3.3 Arduino IDE default page


Projects made using the Arduino are called sketches, and such sketches are usually written in a cut-down version of C++ and also in
embedded C. Because programming a microcontroller is somewhat different from programming a computer, there are a number of
device-specific libraries (e.g., changing pin modes, output data on pins, reading analog values, and timers). It just uses unique libraries
for the device. Then after installing the IDE appears in its default state as in the Fig.3.3 After the default state we can write the program
in the white space provided in the IDE. We can upload the program by using RS-232 cable connected in between the Arduino board
and also the pc. For that we need to set the port and also the board connections.

IJCRTT020017 International Journal of Creative Research Thoughts (IJCRT) www.ijcrt.org 79


www.ijcrt.org © 2022 IJCRT | Volume 10, Issue 8 August 2022 | ISSN: 2320-2882

Fig. 3.4 port and board setting


While more advanced projects will take advantage of the built-in tools in the IDE, most projects will rely on the six buttons found
below the menu bar.

Fig 3.5 Menu Bar


From the above,
 The check mark is used to verify our code. We need to click this once after writing our code.
 The arrow uploads our code to the Arduino to run.
 The dotted paper will create a new file.
 The upward arrow is used to open an existing Arduino project.
 The downward arrow is used to save the current file.
 There is button at far right on the screen. That button is called as a serial monitor, which is useful for sending data from
the Arduino to the PC for debugging purposes.
 The code can be easily written into the IDE and can be uploaded into the board within a minute. After the code has been
written it can be debugged very easily.
The bottom of the main screen is described as an Output Pane that mainly highlights the compilation status of the running code: the
memory used by the code, and errors occurred in the program. You need to fix those errors before you intend to upload the hex file
into your Arduino Module.

Fig 3.6 Output window


More or less, Arduino C language works similar to the regular C language used for any embedded system microcontroller, however,
there are some dedicated libraries used for calling and executing specific functions on the board.
3.3 Libraries
Libraries are very useful for adding the extra functionality into the Arduino Module. There is a list of libraries you can add by
clicking the Sketch button in the menu bar and going to Include Library.

Fig 3.7 Libraries


As you click the Include Library and Add the respective library it will on the top of the sketch with a #include sign. Suppose, I
Include the EEPROM library, it will appear on the text editor as #include <EEPROM.h>.
Most of the libraries are preinstalled and come with the Arduino software. However, you can also download them from the external
sources. The digital read and digital write commands are used for addressing and making the Arduino pins as an input and output
respectively. These commands are text sensitive i.e. you need to write them down the exact way they are given like digital write
starting with small “d” and write with capital “W”. Writing it down with Digital write or digital write won’t be calling or addressing
any function.

IJCRTT020017 International Journal of Creative Research Thoughts (IJCRT) www.ijcrt.org 80


www.ijcrt.org © 2022 IJCRT | Volume 10, Issue 8 August 2022 | ISSN: 2320-2882

3.4 Steps for voting purpose


 Initialize the serial connection in your Arduino.
 Wait for password input and check the input password match with default one once it is entered.
 If input password is correct grant access for the user to give the command input.
 If “V” is pressed start scanning the keypad to detect the vote input.
 Allow only one single input by the voter and again wait for further command.
 If “D” is pressed send the poll tally to the serial monitor from Arduino.
 Open the Arduino IDE and then the serial monitor.
 Enter the correct password.
 Press “V” to allow voter to cast their vote.
 Press “D” to display poll results.
 After every single vote you need to press “V” to allow the next voter to cast their vote.

Fig 3.8 Access using Arduino IDE


IV. CIRCUIT DIAGRAM AND WORKING
The circuit is rigged up to achieve the problem stated in above sections.

Fig 4.1 Circuit diagram


In addition, all the major components were first tested individually in laboratory. This was done to make sure that all components
perform its task and do not affect the function of other components. Also, mid-way test were carried out when assembling the
components. Arduino Uno has built in analog to digital converter (ADC). ADC converts analog signals into digital.
The analog pins of Arduino are connected to push switches as explained below:
 A0 is connected to ‘Enroll’ switch that controls the enrollment of fingerprints into the system.
 A1 is connected to ‘Delete’ switch, it is designed to operate two crucial functions in the system, delete of fingerprints
that are no longer of significance and authorize the functions invoked by other switches connected to analog pins.
 A2 is connected to ‘Up’ switch which is used for the increment of number. It can be either to assigned numerical value
for fingerprint during enrollment process or during deletion of any fingerprint.
 A3 is connected to ‘Down’, it is used to decrease the numerical value during enrollment and delete of fingerprint.
 The fifth pin in analog I/O pins of Arduino A4 is connected to ‘Vote Start’. When pressed, it enables system to run in
voting mode, mainly invoke the vote function and gives user the instructions via LCD screen to cast vote.
 Finally, pin A5 is connected to a ‘SG1’ which is a piezo buzzer. It produces buzz sound during operation to give
physical indication of button being pressed.

IJCRTT020017 International Journal of Creative Research Thoughts (IJCRT) www.ijcrt.org 81


www.ijcrt.org © 2022 IJCRT | Volume 10, Issue 8 August 2022 | ISSN: 2320-2882
Digital pins present on the Arduino configure inputs or outputs according to user’s requirement. If pins are configured as output, the
value is set to 0 or 5 volts. And if the pins are configured as input, an external voltage is supplied and can vary between 0-5 volts,
which is then converted into digital value (0 or 1). The threshold to determine this is if voltage is below 0.8V. It is considered as 0
and if the voltage exceeds 2V, digital value is considered as 1. The digital pins of Arduino Uno are connected to following components
as mentioned below:
 D0/RX and D1/TX is connected to the RX and TX pins of fingerprint module respectively. These serial communication
pins use TTL logic levels (5V or 17 3.3V). These pins are only used for connecting Arduino board and a computer or other
devices.
 D2 is connected to ‘CAN1’ switch, which when pressed gives instruction to microcontroller to increase 1 vote count to
candidate one.
 D3 is connected to ‘RST’ switch, this button is used to erase all the EEprom memory which is vote count in our device case.
However, the program stored is not affected in any way.
 D4 is connected to ‘CAN2’ switch, when pressed increases the vote count of candidate two by single value.
 D5 is connected to ‘Result’ switch, which is used to view the result after voting has been conducted. Result in this case is
votes received by two candidates.
 D6 and D7 are connected to led6 and led5 respectively.
 Digital pins D8 to D13 are connected to corresponding pins of LCD which is described already under LCD heading. Every
switch has an LED connected to it so, whenever pressed a visual confirmation is received by the user.
A total of 6 resistors of 220ohms are used to limit the current through the LEDs. The microcontroller board is powered using A/B
USB port which is connected to the computer. It supplies 5V at 500mA current.
4.1 Working Principle
Prior to the voting process, fingerprints of all possible voters are required to be registered to the system to give them access to
cast their votes during the voting process.

Fig 4.2 Flow chart for working principle


Once the fingerprints are registered, the voting process can be started where voters cast their votes to desired candidate. Before
scanning the finger, a numerical equivalent value needs to be assigned to the possible fingerprint so that the fingerprint can be saved
in a fixed unique integer value location and can be easily accessed during the voting process.
4.2 Enrollment
To scan and store fingerprint of the possible voters, first the enroll switch connected to A0 pin of Arduino needs to be pressed, once
pressed a red LED lights up followed by the welcome message in LCD. Therefore, the unique numerical identification location to the
fingerprint can be manipulated by pressing ‘Up’ and ‘Down’ switch, pressing these buttons increases and decreases the numerical
value to be assigned to the fingerprint respectively. After each Start End Set Number for Template Scan Fingerprint Store template in
DY50 Flash Memory Voter Registered 20 possible number to be assigned ‘Select’ switch needs to be pressed to authorize the action
of assigning number to the fingerprint.
To execute these functions in voting system microcontroller is programmed in C language. The portion of the code that execute
enrollment of voters is shown in mention under vote function. The code in structured inside Enroll function. Count is the
number given for the fingerprint and its default value is set to 0. The value is increased and decreased by pressing ‘Up’ and ‘Down’
switch respectively.

IJCRTT020017 International Journal of Creative Research Thoughts (IJCRT) www.ijcrt.org 82


www.ijcrt.org © 2022 IJCRT | Volume 10, Issue 8 August 2022 | ISSN: 2320-2882

Fig 4.3 Flow chart for Enrollment

.
Fig 4.4 Display during enrollment
Once the count is set to a unique number get Fingerprint Enroll () code function is called inside Enroll function to store finger being
scanned in sensor to a location inside senor memory with the integer value as selected before. Under the execution of the code for
enrolment, first the number of finger id is displayed as set before and user is instructed to place finger in the sensor by popup message
in LCD. If the image is not read properly user is re-instructed to place finger. Once the image is taken, the image is analyzed using
finger. getImage function as provided in ADA fruit library. The different status of image is analyzed using case structures. Once the
first image of finger is read by the scanner, user is instructed to pull the finger and put again as shown in fig.19 for the authentication
of same finger before storing to the numerical location set prior to the scanning phase. Finally, after these procedures the image of
finger as scanned by the scanner is converted into templates and stored as integer value in the DY50 module, the system is designed
to give access to the user registered as described above. Figure 19 contains pictures of all messages that can be seen in LCD during
enrolment process.
4.3 Network of voting machine connected to server
Many voting machines can then be connected with host server with secure LAN. This will allow storing data in host server placed
at secure location in real time. Physical damaging the device will not cause in loss of data since the data are now transferred to host
server in real time. An example of various voting machines connected to host server. Also, a GSM module can be added to send the
result to various partakers.

Fig 4.5 Network structure


 Although the prototype made in this thesis project aims to facilitate safe and swift voting process, with some hardware
modification the same device can also be used for various other things like finger print based access control, attendance, billing,
etc.
 Better components with higher functioning calibre can be used to make the device more reliable in practical situations. For
example, the fingerprint module in this prototype can accommodate only 162 fingerprint templates. This amount can be increased
to any number by adding an extra memory space such as SD card.

IJCRTT020017 International Journal of Creative Research Thoughts (IJCRT) www.ijcrt.org 83


www.ijcrt.org © 2022 IJCRT | Volume 10, Issue 8 August 2022 | ISSN: 2320-2882

4.4 Voting Procedure


 The fingerprint of the voters will be stored on device.
 Then the fingerprint of the person is taken with the help of fingerprint scanner.
 Verification process will get started.
 If get verified then the process is allowed to vote.
 Even if he fails in the test, he will not be allowed to poll his vote.
 The system shows invalid voter with alerting tones.
 Once he finished his voting process his account will be closed.
 If a person tries to polls again it displays a message i.e you have already voted.
 He will not able to poll unlimited number of votes by using his ID.
 After successful completion of voting it is added to the total count.
 When authorised person places the finger on scanner and presses the result button the message will
be showed on display and also a copy of the result is sent to an authorised account.
After successful registration of fingerprints, users with registered finger image are eligible to vote. The voting process is controlled
by the microcontroller as instructed by code (see appendix). LCD screen then displays instruction to cast the vote if the voter
authentication is passed. In this project two candidates are designed to collect the casted votes therefore user can select either
candidate 1 or candidate 2 by pressing ‘CAN1’ or ‘CAN2’ switches which are connected to digital I/O pins of Arduino. After
pressing switches, buzz sound is audible to notify user about vote being casted. The integral count of vote is increased and further
stored in EEPROM memory of microcontroller.

Fig 4.6 Message displayed during voting purpose


4.5 Authentication
The eligibility of a voter to vote is limited to only one time for one voting session, as the system is designed to deny multiple voting
by aborting access to vote for the same finger image more than once. The portion of the code that checks the status of voter either has
already voted or not is defined inside the void loop. The status is monitored by flag register, when the vote is casted the flag is assigned
to 0 integer, so if the same user tries to vote for second time the flag value is evaluated before authorizing vote access to vote, and if
flag has value 1, the procedure is aborted. Thus, the authenticity of the system is maintained.

Fig 4.7 message (voting denied)


Also, if a person whose fingerprint is not registered in the system tries to vote the message ‘Finger Not Found Try Later’ is displayed
in LCD screen. Thus, the person is barred from voting.
4.6 Advantages and Application
This project can be used as a voting machine to prevent rigging, during the elections in the polling booths. Fast track voting which
could be used in small scale elections, like resident welfare association, “panchayat” level election and other society level elections,
where results can be instantaneous. It could also be used to conduct opinion polls during annual shareholders meeting. It could also
be used to conduct general assembly elections where number of candidates are less than or equal to eight in the current situation, on
a small-scale basis. Fair Company elections, corporate elections or general elections.

 Safe: It is an utmost important that the voting process be secure and no one should be able to tamper with the result before,
during and after voting process. Since the system is not connected to internet, no online external influence can 24 occur. Also,
it is very easy for security personnel to secure the device if needed, since it is compact, and light compared to many ballot
boxes.

 Cost: The conventional paper voting system used in Nepal is very expensive because of papers and printings, transportation,
staff expenses and it takes several days to count the votes. On the other hand, the biometric fingerprint system is cheap, compact
and can store any amount of data with proper upgrade.

 Accuracy and Reliability: The ink used to mark people who have voted already can be erased with modern technologies but
the fingerprint voting system erases the chance of multiple voting and it is very precise. Also, there is a very slim chance of
errors happening from electronic system so, people can rely on results to be accurate.

 Time Saving: It takes weeks to count the votes by election personnel sometimes. This time frame is not peaceful for that area
so it is ideal to get result as soon as possible. The manual vote counting technique can be seen in figure 20. With electronic
device election results can be produced is minutes rather than days or weeks. The voters do not have to carry their ID with
them since the fingerprint acts as their ID when voting so queues can clear faster. Unauthorized or voters not enrolled in
IJCRTT020017 International Journal of Creative Research Thoughts (IJCRT) www.ijcrt.org 84
www.ijcrt.org © 2022 IJCRT | Volume 10, Issue 8 August 2022 | ISSN: 2320-2882
system before hand is not allowed to vote.

 Trees Conservation: Paper ballot system uses paper for voting process which is printed in millions of quantities.
V. RESULT AND CONCLUSION

Fig 5.1 complete circuit


5.1 Observations
In this project we observed that we can get rid of rigging and here the voters are requiring to register and their data will be stored
in the database. Now the user needs to scan the fingerprint and now the Arduino starts processing and LED lights up showing a
welcoming message and the fingerprint sensor reads the fingerprint of the user and it searches in the database. Once it finds the data
of the user then the LED displays ready to vote and the user will cast his vote. In the same way if there is any rigging then LED
displays already voted and if the user is not registered then LED displays not matched. In this way we can complete the voting
without any rigging and malpractice to elect the right leader for the better society.

Fig 5.2 System start

Fig 5.3 Training


5.2 Conclusion and future work
For over a century, fingerprints have been one of the most highly used methods for human recognition; automated biometric
systems have only been available in recent years. This work is successfully implemented and evaluated. They arrived results were
significant and more comparable. This project enable's a voter to give his/her vote and avoid proxy vote or double voting and provide
highly secure, quick to access and easy to maintain all information of voting, highly efficient and reliable due to use of fingerprint
scanner it reduces or remove unwanted human error. In addition, this voting system is capable to handle multiple modules in various
centers and provide better scalability for large election.
In Future work, an exhaustive research about the e-voting should be done. It aimed to analyze the new technology for reliable
transmission which improves the efficiency of the voting system. It includes some new algorithm for enhancing the system and its
services. We can further extend this project to such a state that Voter can do his voting even from his own mobile phone or PC or
Laptop. All kind of security aspects are kept in mind and then that system will be developed. We know it is difficult as in some
villages there are lot of basic problems, but we can make some hybrid system for them as well. All these efforts are only for better
tomorrow.

REFERENCES
[1] Rathore, M. A Two-Phase Authentication Mechanism for E-voting in India.
[2] Megalingam, R. K., Rudravaram, G., Devisetty, V. K., Asandi, D., Kotaprolu, S. S., & Gedela, V. V. (2022). Voter ID Card and
Fingerprint-Based E-voting System. In Inventive Computation and Information Technologies (pp. 89-105). Springer, Singapore.
[3] Umar, H. S. I., Atte, J., & Haruna, S. (2022). ELECTRONIC VOTING AS AN INSTRUMENT FOR FREE, FAIR AND
CREDIBLE ELECTIONS IN NIGERIAN POLITICAL SYSTEM: ISSUES AND CHALLENGES. European Journal of
Political Science Studies, 5(2).
[4] Shankar, A., Pandiaraja, P., Sumathi, K., Stephan, T., & Sharma, P. (2021). Privacy preserving E-voting cloud system based on

IJCRTT020017 International Journal of Creative Research Thoughts (IJCRT) www.ijcrt.org 85


www.ijcrt.org © 2022 IJCRT | Volume 10, Issue 8 August 2022 | ISSN: 2320-2882
ID based encryption. Peer-to-Peer Networking and Applications, 14(4), 2399-2409.
[5] Shankar, A., Pandiaraja, P., Sumathi, K., Stephan, T., & Sharma, P. (2021). Privacy preserving E-voting cloud system based on
ID based encryption. Peer-to-Peer Networking and Applications, 14(4), 2399-2409.
[6] Rathee, G., Iqbal, R., Waqar, O., & Bashir, A. K. (2021). On the design and implementation of a blockchain enabled e-voting
application within iot-oriented smart cities. IEEE Access, 9, 34165-34176.
[7] Kankara, M. R., Thodupunuri, M., Yechuri, L. S., & Rao, N. K. Encrypted e-Voting System using IoT.
[8] Rajesh, G. (2021). Smart Electronic Voting Machine Using IoT. Turkish Journal of Computer and Mathematics Education
(TURCOMAT), 12(10), 1547-1550.
[9] Dagwar, E. M., Kawadkar, C., Nidhan, S., Kurhade, N. A., & Padole, K. G. FINGERPRINT BASED SECURED VOTING
SYSTEM USING IOT.
[10] Alamleh, H., & AlQahtani, A. A. S. (2021, May). Analysis of the Design Requirements for Remote Internet-Based E-Voting
Systems. In 2021 IEEE World AI IoT Congress (AIIoT) (pp. 0386-0390). IEEE.
[11] Ganesan, M. M. (2021). Biometric E-Voting with Multi Factor Authentication Using Iot Technology. Turkish Journal of
Computer and Mathematics Education (TURCOMAT), 12(13), 759-761.
[12] Lakshmi, D., Lakshmi, K. B., Anjali, G., & Hamsadwani, V. (2018). Effective and Secure E-Voting Application in GSM
Module using IOT.
[13] Choudhry, S., Khosla, M., & Mehta, P. B. (Eds.). (2016). The Oxford handbook of the Indian constitution. Oxford University
Press.
[14] Haenni, R., Dubuis, E., & Ultes-Nitsche, U. (2008). Research on e-voting technologies. Bern University of Applied Sciences,
Tech. Rep, 5.
[15] Reddy, G. S., Radha, S., Taufiq, K. T., Reddy, K. D. S., Reddy, K. P. K., & Nagabushanam, P. (2022, January). Security based
Electronic Voting Machine using Xilinx tool. In 2022 2nd International Conference on Power Electronics & IoT Applications
in Renewable Energy and its Control (PARC) (pp. 1-4). IEEE.
[16] Adekunle, S. E. (2020). A Review of Electronic Voting Systems: Strategy for a Novel. International Journal of Information
Engineering & Electronic Business, 12(1).
[17] Gurubasavanna, M. G., Shariff, S. U., Mamatha, R., & Sathisha, N. (2018, August). Multimode authentication based electronic
voting kiosk using raspberry pi. In 2018 2nd International Conference on I-SMAC (IoT in Social, Mobile, Analytics and
Cloud) (I-SMAC) I-SMAC (IoT in Social, Mobile, Analytics and Cloud)(I-SMAC), 2018 2nd International Conference on (pp.
528-535). IEEE.
[18] Hasta, K., Date, A., Shrivastava, A., Jhade, P., & Shelke, S. N. (2019, December). Fingerprint based secured voting.In 2019
International Conference on Advances in Computing, Communication and Control (ICAC3) (pp. 1-6). IEEE.

IJCRTT020017 International Journal of Creative Research Thoughts (IJCRT) www.ijcrt.org 86

You might also like