Finger Print Based Voting System
Finger Print Based Voting System
Finger Print Based Voting System
Set by:
June, 2022
Addis Ababa, Ethiopia
DECLARATION
We want to assure that this paper absolutely belongs to us. It is prepared as a report for
our project according to the thesis writing format prepared by AASTU. We have done this
project for the partial fulfillment of BSc degree in electronic communication engineering.
Finally, it is a must to tell you how much effort we have made to do this project and come
up with tangible outcomes. No one has made similar projects and this will serve as a primary
reference.
Name: Signature
----------------
Approved By:
Advisor: ________________________
Signature: _______________________
i|Page
Abstract
This final year project deals with the design and development of a Fingerprint Electronic Voting
System. The suggested fingerprint voting system allows the user to scan his fingerprint, in order
to check his eligibility by comparing his current fingerprint with the one already stored in the
system’s database. By making use of that database effectively with the help of Arduino, the
problem of bogus voting can be completely eliminated. The counting of the votes will be
immediately and that makes the voting process efficient, fast, and secure.
Fingerprint Based Secured Voting system is basically an embedded system. The user, who wants
to poll his vote, has to punch his finger in the fingerprint scanner at the counter of the polling
booth. Based on fingerprint identity of user, verification can be done by using the database. After
Successful verification, the user will be allowed to pass through the voting section of the polling
booth.
ii | P a g e
Contents
DECLARATION ............................................................................................................................. i
ACKNOWLEDGEMENT .............................................................Error! Bookmark not defined.
Abstract ........................................................................................................................................... ii
LIST OF FIGURES ........................................................................................................................ v
LIST OF TABLES ......................................................................................................................... vi
LIST OF ACRONYMS ................................................................................................................ vii
CHAPTER ONE ............................................................................................................................. 1
INTRODUCTION .......................................................................................................................... 1
1.1. Background ...................................................................................................................... 1
1.2. Motivation ................................................................................................................. 1
1.3. Problem of statement ................................................................................................ 2
1.4. Objective of the project ............................................................................................. 2
1.4.1. General objective of the project ...................................................................... 2
1.5. Scope of the project .................................................................................................. 3
1.6. Significant of the project ........................................................................................... 3
1.7. Outline of the project ................................................................................................ 4
CHAPTER TWO ............................................................................................................................ 5
LITERATURE REVIEW ............................................................................................................... 5
CHAPTER THREE ........................................................................................................................ 8
METHODOLOGY AND SYSTEM DESIGN ............................................................................... 8
3.1. Introduction ............................................................................................................... 8
3.2. System Architecture .................................................................................................. 9
3.2.1. Voter registration .......................................................................................... 10
3.2.2. Authentication function ................................................................................ 12
3.2.3. Voting function ............................................................................................. 12
3.3. System block diagram ............................................................................................. 14
3.4. Schematic Circuit diagram of the system ............................................................... 15
3.5. The material used in this project ............................................................................. 15
3.5.1. Personal computer ......................................................................................... 15
3.5.2. Arduino ......................................................................................................... 16
3.5.3. Fingerprint module........................................................................................ 17
3.5.4. Liquid crystal display (LCD) ........................................................................ 18
3.5.5. Push button.................................................................................................... 19
iii | P a g e
3.5.6. LED ............................................................................................................... 19
3.6. Software requirement .............................................................................................. 20
3.6.1. Arduino IDE.................................................................................................. 20
3.6.2. Proteus 8 Professional ................................................................................... 20
3.6.3. SQLite database ............................................................................................ 20
3.6.4. Python ........................................................................................................... 20
3.7. System design ......................................................................................................... 21
3.7.1. Client/server architectural design ................................................................. 21
3.8. Database design ...................................................................................................... 28
CHAPTER FOUR ......................................................................................................................... 31
RESULT AND DISCUSSION ..................................................................................................... 31
4.1. Voting test and results ............................................................................................. 31
CHAPTER FIVE .......................................................................................................................... 43
CONCLUSION AND RECOMMENDATION ............................................................................ 43
5.1. CONCLUSION ............................................................................................................... 43
5.2. Recommendation ............................................................................................................. 44
Bibliography ................................................................................................................................. 45
Appendix 1 .................................................................................................................................... 46
Appendix 2 .................................................................................................................................... 47
Appendix 4 .................................................................................................................................... 56
iv | P a g e
LIST OF FIGURES
FIGURE3. 1FLOW DIAGRAM OF METHODOLOGY ................................................................................ 8
v|Page
FIGURE4. 11. SYSTEM RESET AND BACK TO FIRST PAGE ................................................................. 42
LIST OF TABLES
vi | P a g e
LIST OF ACRONYMS
AASTU Addis Ababa Science and Technology University
LCD Liquid Crystal Display
LED Light Emitting Diode
E-voting Electronics Voting
PC Personal Computer
GND Ground
GUI Graphical User Interface
ID Identification Card
SQL Standardized Query Language
vii | P a g e
CHAPTER ONE
INTRODUCTION
1.1. Background
Election is the way of democratic world but conducting an election in fair manner has been the
challenge of every electoral body especially in the country with high corruption, weak rule or
law and less transparency. On the top of that conducting election cost millions and billions of
dollars. This study report mainly focuses on developing a prototype of embedded system that
deals with fingerprint voting system which can help in progression of election in robust and
secure manner. The system integrates different hardware components like Arduino, fingerprint
module that facilitates a flawless voting system.
In the traditional elections a voter used to cast his vote by using ballot paper. This is a long-time
consuming process; it’s really takes long time and the probability of error is very high. This
situation remains till the scientists discovered the different types of electronic voting machine.
The electronic voting systems are utilized much more as a device to help people to cast their
opinion and vote. To let the exercising of the right, just about all voting machine all over the
globe consist of voter identity and authorization, the voting and saving of the votes cast,
counting the votes and finally give the election final results.
The use of fingerprint as an ID is an excellent strategy considering that just about every person in
the globe is born with unique fingerprint even twins born with totally different fingerprints. The
fingerprint is naturally unchangeable throughout life. This fingerprint based e-voting system
have two stages of the electoral where the first for people registration to identify the right to elect
and later on, at voting time, to allow voters to cast their vote by confirming if the man or woman
meets all the requirements required to vote and that known as authentication
1.2. Motivation
The problems facing the voting system in Ethiopia include common practice of voters'
impersonation and multiple voting by false voters, snatching of the electoral materials such as
ballot boxes, ballot papers by an unauthorized group of people, massive rigging by party agents
1|Page
in collaboration with the polling officials and fighting and burning of valuable properties
resulting from lack of truth in the electoral process. The challenges of elections also include
insecurity of votes, poor funding, bad attitudes of the political class, poor structure of polling
units, rigging and inability to prosecute election offenders. It is very obvious that traditional
methods of voting using papers, ballot boxes and manual counting of votes have provided room
for the desperate politicians to alter election results; this, in turn, makes the populace lose
confidence in the integrity of the election across the globe. Those things motivate to design these
projects.
We are presenting a new Electronic Voting System with Fingerprint scanning that will overcome
the drawbacks of the current voting methods that are used in our countries. Currently, the voting
system in our country is inefficient and vulnerable to outer threats, the only thing that the
security checks is a voter ID card, which these days are faked by many. It is slow and counting
the votes manually can take a long time. In some rural areas, where there is not much security
available, polling booths are captured and often most ballots are destroyed. So, the development
of such a system which is online will cut out these possibilities and many votes can be saved
through this system, even if such incidents occur.
2|Page
To design a fingerprint based electronic voting system which is controlled by Arduino: -
Design and implement database for record keeping on elections.
Integrating the control unit with the database.
To simulate fingerprint-based e-voting system model using proteus and SQLite database
To make a system that requests the voter to give his/her Fingerprint as a personality
proof.
Implement Secured network platform that provides authenticated voting process.
To develop voting system for automatic Counting and secured system.
Provide platform for viewing current election reports.
Implement the designed fingerprint-based e-voting system
The design and simulation of electronic voting system model will offer a good voting system to
the people who elect their wanted candidates using fingerprint-based technology. The application
of fingerprint technology to voting paves the way for a secure, efficient and more convenient
voting across, Ethiopia there by providing significant economic impact. Moreover, the
technology adopted also provides potent technology transfer to paper-based voting system into
possible development of an electronic voting machine.
Advantages of Fingerprint Based Voting System:
It provides chance to avoid invalid votes
It reduces the polling time
Easy to carrying to polling center from the polling box
Reduce the staff of voting center
It provides easy and accurate counting without any troubles
Provisioning of voting preventive measures
4|Page
CHAPTER TWO
LITERATURE REVIEW
The critical looking of different documents, journals and books is required to complete a
successful project. This section describes review of past and related works in the field of voting
system. To understand new and more efficient methods we have reviewed and will continue
reviewing past related studies.
In the old system of voting, votes are cast by ballot paper. After entering the polling station, the
officer checks identity proof (election ID card) of voters and allocated a ballot paper to a voter.
The voter votes by marking the ballot paper with candidate’s name and symbol by rubber stamp,
inside a voting compartment in the polling station. Then voter folds the ballot paper and inserts it
in a ballot box
In Paper Based Process the election workers will visit the residential addresses to ensure that
those persons actually live there and ascertain that they have given the correct information about
themselves. After validation, an identification card will be issued to the voter. A lot of paper
work was concerned in the whole procedure. Appropriate training will be required for the staff
members in charge of polling duty. At polling date, the concerned staff members are required to
be present half hour prior to the opening of the polling booth/station to check that all
arrangements have been done correctly. Atiya Parveen1(2013)
Drawback of paper based voting process;
Time consuming
the probability of error is very high
long-distance communication is not available, less accuracy, less security
Worked on Optical scan voting system which was usually safer because they naturally provide a
voter verifiable paper which enables hand-counted audits and recounts that rely on direct voter
input. Tigran Antonyan (2008)
Drawback of optical scan voting system is;
Suffer from various security vulnerabilities
This paper explains "document ballot voting system” which was marked by hands on ballot
paper in this scheme. Counting of votes done electronically. The examples of this system are
Punch card voting, mark sense and Digital pen voting systems.
5|Page
Drawback of paper-based electronic voting system is;
This process can be boring and error prone and costly
This uses mechanical or electro-optical component like touch screen to provide ballot display.
This machine was programmed to record voting data and then tabulates the voting data. Finally,
the results may be stored on removable memory or provided as printed copy. There may be a
means of transmitting the individual ballots or vote totals to a central location for formation of
final results. Michael D (2007)
Drawback of micro-controller based smart electronic voting machine system is;
Expense
they will still ultimately fail if there are substantial usability problems
Use of telephonic network, private computer network and internet.
Worked on “Scope and Limitation of Electronic Voting System”. A public network Direct-
Recording Electronic voting system is an election system that uses electronic ballots and
transmits vote data from the polling place to another location over a public Network. The Vote
data may be transmitted as individual ballots as they are cast or periodically as batches of ballots
throughout the Election Day or as one batch at the close of voting. This scheme includes Internet
voting as well as telephone voting. Two methods are used in Public network DRE voting system
they are pre count or central count method. The central count method forms a table from multiple
pre counts at a central location. The Internet voting can use remote locations (voting from any
Internet capable computer) or can use traditional polling locations with voting booths consisting
of Internet connected computers. Corporations and organizations can use Internet voting to elect
officers and Board members and for other proxy elections. It uses electronic ballot, records the
vote data and transmits it to a central location through public network. The voted data may be
transmitted at the end of Election Day as a single batch or may be transmitted periodically
throughout the day as batches of ballot. Internet voting and telephonic voting are included in this
system .
Drawback of public network DRE voting system is;
Public Network DRE Voting System Frustrated workers attempting to determine voter
intent from ambiguous punch cards.
6|Page
propose a scheme called “Punch Card Method” based on the Votomatic system. This system uses
a special card where each possible hole is pre-scored and allowing perforations to be made by the
voter pressing a stylus through a guide in the voting machine. Scoring of the punch cards was
also done by hand and not by a punch card reader. Sahibzada Muhammad Ali (2014)
Drawback of punch card voting system is;
A problem with this system is the incomplete punch; this can lead to a smaller hole than
expected
The paper proposes a voting system based on three ballots. Overview of proposed architecture.
The voter has to cast three votes on the three ballots and all the three votes will have a unique
numeric identifier. On the three ballot papers all the candidates will be marked once randomly
and the voter also marks the desired candidate. Thus, the desired candidate has two marks and
the remaining candidates will have only one mark. The voter then chooses one ballot randomly
and then that is given as a vote receipt. Once the elections are done, the electoral authority
publishes the vote receipts so that the voter can verify if their votes were counted. As per the
proposed block diagram the voters first present themselves to the registration agent to get a
credential that would enable them to cast their vote (event 1). The registration agent then obtains
ballot Ids (BIDs; event 2) and generates credentials that are returned to the voters. After
authentication (event 3), voters cast their vote using a voting console (event 4). The vote is then
stored in the electronic ballot box (event 5) and a vote receipt is issued (event 6). On the result
day, counting phase (event 7) starts and the electoral authority publishes the vote receipts on the
electronic election bulletin board (event 8) Vaibhav Bhatia (2012)
According to steganography techniques are advantageous to non-suspicion over cryptography
and watermarking. In the steganography technique, it does not attract the attention of fraudsters,
internet surveillance is difficult and the secret message is difficult to prove its existence. .D.
Maio (2016)
7|Page
CHAPTER THREE
METHODOLOGY AND SYSTEM DESIGN
1.1. Introduction
Methodology as word suggests is the development steps or method that outlines the way to
achieve certain goal or in this case design and build a prototype Fingerprint voting system. In
other words, it is a constructive framework. The aim and the objective are clearer due to the data
and information has been gathered from the previous literatures. The design model is the result
of the hardware and software integration. The design model shows the prototypes, elements,
architecture and components of the system. However, in order to make this project successful the
.
hardware and the software must be well integrated and organized Methodology flow block
System design
testing
Result analysis
documentation
8|Page
1.2. System Architecture
Voter
Server Client
registration
Authentication
Database Controller
function
Voting
function
Display
confirmation
1. Voter registration
2. Authentication function
3. Voting function
9|Page
1.2.1. Voter registration
This process can also be called as pre-election process where the voter’s fingerprints are loaded
into database of the system. Voter’s enrollment can be done by LCD displays a message called
place finger for enroll. Same finger needs to be placed twice so that voter is enrolled. Suppose if
there is any error in placing the finger then it displays an error message. If it is successful then
the voter is enrolled. Then in the client (polling station) the voter’s insert their information. After
the registration is completed all the information are loaded to the database inside the server.
10 | P a g e
start
No
Has been
registered
Yes
Process
Database
Generate voter’s id
Save in database
Display success
message
End
11 | P a g e
figure3. 3 Voters Registration flow chart
12 | P a g e
start
Scan fingerprint
Unregistered / not
verification
allowed to vote
Match found
Cast vote
Candidate selected
Vote successful
Display confirmation
Count added to
candidate
yes
Making the system Is there
ready for next voter another voter
No
Switches for
candidates
LCD
display
PC Arduino
LED
Fingerprint
module
14 | P a g e
1.4. Schematic Circuit diagram of the system
15 | P a g e
1.5.2. Arduino
We can use Arduino for controlling. It controls LCD, push button and fingerprint module by
receiving input commands, controlling fingerprint module and sending commands to the LCD
that display messages that direct the user to how to use the system properly. Arduino controls the
complete voting processes like reading button; incrementing vote value, generating a result, and
sending vote and result in LCD Display.
The Arduino Mega 2560 is a microcontroller board based on the ATmega2560.
It has: -
54 digital input/output pins (of which 15 can be used as PWM outputs)
16 analog inputs
4 UARTs (hardware serial ports)
a 16 MHz crystal oscillator a power jack, and a reset button
Features:
Microcontroller: ATmega2560
Operating Voltage: 5V
Input Voltage (recommended): 7-12V
Input Voltage (limits): 6-20V
Digital I/O Pins: 54 (of which 14 provide PWM output)
Analog Input Pins :16
DC Current per I/O Pin:40 mA
DC Current for 3.3V Pin:50mA
Flash Memory : 256 KB of which 8 KB used by boot loader
SRAM :8 KB
EEPROM:4 KB
Clock Speed:16 MHZ
16 | P a g e
1.5.3. Fingerprint module
Biometric identification from a fingerprint made by an impression of the ridges in the skin of a
thumb or finger is often used as evidence in criminal investigations. Now we can use the same
biometric identification technique to build our own hobby projects like as biometric authenticate
and control system with the help of readily-available Fingerprint Identification Modules.
Fingerprint module’s processing, shown in figure below includes two parts: fingerprint
enrollment 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.
Features :
• Interface UART: (TTL logical level)/ USB 1.1 Working current Typical: 100mA
/Peak: 150mA Matching Mode 1:1 and 1:N.
17 | P a g e
• Baud rate: (9600*N)bps, N=1~12 (default N=6)
Pin Description :
It has six pins; their function description is shown on table 3-1 bellow.
Table 3 1 fingerprint module pin description
4 NC - Not connected
5 NC - Not connected
18 | P a g e
figure3. 8. LCD (20*4)
Features :
Type: Character.
20 characters * 4 lines.
Contrast Control:
To have a clear view of the characters on the LCD, contrast should be adjusted. To adjust the
contrast, the voltage should be varied. For this, a variable resistor is used which can behave like
a variable voltage device. As the voltage of this variable resistor is varied, the contrast of the
LCD can be adjusted.
1.5.6. LED
Connect the long leg of the LED (anode) to the other end of the resistor. Connect the short leg of
the LED (cathode) to the GND.
To turn on an LED, the Arduino needs to send a HIGH signal to one of its pins. To turn off the
LED, it needs to send a LOW signal to the pin. You can make the LED flash by changing the
length of the HIGH and LOW states.
19 | P a g e
1.6. Software requirement
1.6.1. Arduino IDE
This is software used to run arduino code. Can be programmed using Arduino software. Arduino
IDE can be downloaded and installed freely from https://www.arduino.cc/en/Main/Software.
ATMega328 microcontroller in Arduino Uno comes pre burned with boot loader so it’s easy to
equip the programs in the board without the use of the external hardware programmer. Basics of
Arduino Programming Arduino coding operate with two major blocks. The first one is called
void setup. Void setup defines input and output pins. It helps start initializing variables and also
start using library. The second block is called void loop. Void loop is where all the code and
logics are placed in the brackets. Unlike void setup the functions in this loop run infinitely,
restarting after every end until certain condition is met.
1.6.4. Python
The system displays selective overall data using graphical representations. In addition, the
system allows managing voters’ records.
20 | P a g e
Evidently, this project is divided into two categories: Voter, and Admin Panel. In an overview of
this application, a voter can simply register into the system. Initially, the system only allows a
voter to cast vote and view his/her ballot. In fact, the system restricts users after casting a vote.
This means, that one user can only cast vote once. Besides, a voter can only list out his/her ballot
which displays the name of voted candidates.
21 | P a g e
The system has a client side with fingerprint scanning form as a user interface which will be
replaced by voters table existing in the database in order to matches data. The system uses the
verification mode. The enrolment mode handles the registration process in order to register the
eligible users in the system; the output of the enrolment mode will be store in the database of the
system. The second mode which is the verification mode handles the process of checking the
eligibility of the user by taking the user’s fingerprint and matches it with the database’s
fingerprints; if the system found any similar fingerprint in the database then the user is eligible to
cast his vote. The vote of the user will be count and store in the database
22 | P a g e
Indicates the server is inactivate
23 | P a g e
figure3. 11. Activated server
Each election is identified by a unique name and has associated with it a set
of candidates.
24 | P a g e
client and server programs on the same computer. Because .Net programs running on
the same computer can communicate using TCP as though these programs were
located on different machines, the system you develop would then be easy to redeploy
in the more realistic setting where clients and server are located on separate
computers.
the port number on which the server should listen on for incoming connections,
the names of the various elections it will conduct, and
A list of candidates for each of these elections.
The election file is in XML format. A <config> tag contains 2 elements: <port>,
which contains the port, and <elections>, which contains information about possible
elections. Each election has a name and contains the names of the candidates:
The server has a GUI that allows an election official to declare an election as being
open or closed. An open election contains before the name. A vote in some election is
counted only if it is received by the server while that election is open.
When an election is declared closed, the server's GUI displays the vote counts for
each candidate in the named election; when an election is declared open, the vote
count for every candidate in the named election is reset to x. At any given time, every
election is either open or closed; initially, all elections are closed.
25 | P a g e
Client / Server Interaction.
When the client is started, it displays a GUI that allows a voter to specify the name of
an election. (The voter must specify this name; no communication with the server
occurs until this name has been provided.) The client program then makes a TCP
connection to the server, and it sends the election name over that connection to the
server.
The server replies with the list of candidates for that election. The voter selects
exactly one from among those candidates, signifies that a vote be cast for this
candidate, and thereby causes the client to send this vote to the server. Upon receipt,
the server verifies that that the named election exists, is open, and that the named
candidate is part of that election; if these checks are satisfied then the server
increments the vote count for the appropriate candidate by one.
26 | P a g e
figure3. 13. Client-server interaction
27 | P a g e
figure3. 15. Voter’s registration
28 | P a g e
Database
Fingerprint
Registrations
Table Candidates’
Table
Name
Candidate
Age
Votes
Sex
Profession
Contact
Kebele
Woreda
Region
Fingerprint id
29 | P a g e
figure3. 17. Database specifications of registration part
30 | P a g e
CHAPTER FOUR
RESULT AND DISCUSSION
4.1. Voting test and results
The result of the voting test shows that after taking the voter fingerprint image and process it by
the voting system. If the fingerprint matches then the voter has the right to cast his vote. If the
fingerprint wasn’t stored in the system’s database, a warning message is shown, so the voter
can’t perform his vote, or in case the voter aimed to votes another time, the system going to give
a warning message, in order to alter the security of the election. There are four candidates exist at
the voting page, during the voting process, checking the voters identity will be the first step in
the process, then the voter will be asked to vote for his favorite candidate by clicking on the
button which located beside each nominee.
Steps to voting test and results
1. The system asked to put her/him fingerprint
31 | P a g e
Step 2: Waiting response from the server, if the voters’ fingerprint is matched or not matched
and also the voters’ voted or not.
Step 3: if the voters’ fingerprint is matched and not voted, then the server sent acknowledgment
to the client granted to access the vote and the LCD display please press the party button.
32 | P a g e
figure4. 3. Access granted
Step 4: after pressing the party’s push button, the server updating the results and the LCD
displays the next voting is ready and back to the first steps.
33 | P a g e
figure4. 4. Vote casting
34 | P a g e
figure4. 5. Updated results at the server
Step 5: if the voters’ fingerprint is not matched and, then the server denied and the LCD displays
“not allowed to vote and not registered”. And also the voters’ vote again the server denied and
the LCD display “not allowed voting. “then system rested and back to the first pages.
35 | P a g e
figure4. 6. Fingerprint mismatch and voting again
36 | P a g e
4.2. Hardware implementation results
37 | P a g e
figure4. 8. Waiting responses from the server
38 | P a g e
39 | P a g e
figure4. 9. Server access granted
40 | P a g e
figure4. 10. Server denied
41 | P a g e
figure4. 11. System reset and back to first page
42 | P a g e
CHAPTER FIVE
CONCLUSION AND RECOMMENDATION
5.1. CONCLUSION
In total, this system overcomes most of the problems that are faced in the traditional
approach of the voting system the efficiency of this system depends upon the web interface, its
usability. This will surely ensure a safer voting method which is very much what is required for
the healthy growth of a developing nation.
The proposed fingerprint based voting system which is better and faster than the previous
system. The new system prevents access to illegal voters, provides ease of use, transparency and
maintains the integrity of the voting process. The system also solves the problem of rigging,
means it does not allows a user to vote multiple times since his fingerprint is recorded once in an
election. The system does not allow the voter to vote for more than once in the same election.
The fingerprint-based voting system has provided a chance to avoid invalid votes, it
reduces the polling time, easy carrying to polling centre from the polling box, Reduce the staff of
the voting centre, it provides easy and accurate cutting without any trouble.
The developed system provides an interface to the user where the user will be shown the
list of candidates along with their basic pieces of information. The voter needs to be first
registered with the system after that only he/she will be allowed to the vote in the election.
The system provides the result in a very short span of time without any errors. It reduces
the possibility of changing votes or favouring any candidate. The system is totally automated and
does allow even the admins to change the vote. It does not allow the admins to see who has been
the vote cast by the voter.
Not only this, but It will also save the time which is spent in distributing and restoring the
boxes to the polling stations. It able started with minimum system configuration and a fingerprint
sensor.
43 | P a g e
5.2. Recommendation
In big elections, there are huge number of people want to cast their votes, in order to avoid the
congestion at the voting point there is need to provide online Access be connected to the main
computer/server in order to allow many people to perform voting at the same time and prevent
congestion. Therefore, this application should be built online with server architecture.
44 | P a g e
Bibliography
1.Atiya Parveen1, Sobia Habib2, Saoud Sarwar3. “Scope and Limitation of Electronic Voting
System” Ijcsmc, Vol. 2, Issue. 5, May Atiya Parveen1(2013)
, Pg.123 – 128.
2.TigranAntonyan, SedaDavtyan, SotiriosKentros, AggelosKiayias, Laurent Michel, Nicolas
Nicolaou, Alexander Russell, Alexander A. Shvartsman. “State-wide Elections, Optical Scan
0Voting Systems, and the Pursuit of Integrity “February TigranAntonyan(2008)
3.Michael D. Byrne, Kristen K. Greene, Sarah P. Everett “Usability of Voting Systems: Baseline
Data for Paper, Punch Cards, and Lever Machines” April 28-May 3,. Michael D (2007)
4.Sahibzada Muhammad Ali, ChaudharyArshad Mehmood, AhsanKhawja, RahatNasim,
Muhammad Jawad, SaeedaUsman, Sikandar Khan, SaqibSalahuddin, MianAtifIhsan. “Micro-
Controller Based Smart Electronic Voting Machine System” IEEE. Sahibzada Muhammad Ali
(2014)
5.Vaibhav Bhatia, Rahul Gupta. “A Novel Electronic Voting Machine Design with Voter
Microcontroller IEEE. Vaibhav Bhatia (2012)
6.D. Maio, D. Maltoni, A. K. Jain, and S. Prabhakar (2003). Handbook of Fingerprint
Recognition. Springer Verlag. Maio (2016)
45 | P a g e
Appendix 1
Table 3 2 cost analysis
No. Name of the Component Cost Quantity Cost of each Total Cost
item in ETB in ETB
1 PC 20000 1 20000 20000
2 Fingerprint Module 1600 1 1600 1600
3 Arduino Mega 1350 1 1350 1350
4 LCD 200 1 200 200
5 Cable 5 30 5 150
6 Push Button 20 4 20 80
7 Resistor 30 4 30 120
8 LED 15 2 15 30
9 Breadboard 150 1 150 150
Year 2022
Activities
April May June
Week Week Week Week Week Week Week Week Week Week
2 3 4 1 2 3 4 1 2 3
Project proposal
Literature review
installing
software
necessary
Designing database
Software
implementation of
the project
46 | P a g e
Hardware
implementation of
the project
Documentation
Power point
preparation and
presentation
The schedule is subjected to change depending on the work load.
Appendix 2
Project of Arduino IDE Code
#include <AltSoftSerial.h>
AltSoftSerial altser;
#include <LiquidCrystal.h>
LiquidCrystal LCD(13,12,11,10,7,6);
bool mesege_received=false;
String msg="";
String msgg;
int passkey[]={1,2,3,4};
bool SWITCH_STATE=false;
bool state=true;
bool state2=true;
bool state3=true;
bool state4=true;
bool state6=true;
bool serial=false;
void serial_check();
void wait();
void wait2();
bool party1=false;
bool party2=false;
47 | P a g e
bool party3=false;
bool party4=false;
void party_button();
void reset();
void setup() {
LCD.begin(20,4);
Serial.begin(9600);
altser.begin(9600);
for(int i=10;i<=13;i++){
pinMode(i,OUTPUT);
}
for(int i=2;i<=5;i++){
pinMode(i,INPUT);
}
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
}
void loop() {
byte ch;
byte d='#';
int j=0;
if(altser.available()){
while(altser.available()){
ch =altser.read();
msg+=(char)ch;
wait();
Serial.print(msg);
while(1){
48 | P a g e
serial_check();
if(serial){
serial=false;
break;
}
}
msg="";
break;
}
}
wait2();
}
void serial_check(){
byte d='#';
if (Serial.available()) {
while(Serial.available()){
byte b = Serial.read();
if(char(b)!= d ){
msgg+=char(b);
}else{
if(msgg == "1"){
press_pls();
party_button();
check();
//Serial.println('1');
49 | P a g e
msgg="";
}else if (msgg == "0"){
//Serial.println('0');
if(state6){
LCD.clear(); LCD.setCursor(0,0); LCD.print("YOUR ARE NOT");
LCD.setCursor(5,1); LCD.print("REGISTERED OR");
LCD.setCursor(3,2); LCD.print("TRYING TO VOTE ");
LCD.setCursor(6,3); LCD.print("AGAIN...");
delay(1500);
LCD.clear(); LCD.setCursor(0,1); LCD.print("SYSTEM RESETED");
delay(1500);
state6=false;
msgg="";
reset();
}
}
msg="";
serial=true;
break;
}
}
}
}
void wait(){
if(state){
delay(1500);
50 | P a g e
LCD.clear(); LCD.setCursor(1,0); LCD.print("FINGER ID SENT");
LCD.setCursor(3,1); LCD.print("TO THE SYSTEM...!");
LCD.setCursor(3,3); LCD.print("WAITING RESPONSE..");
delay(1400);
state=false;
}
}
void wait2(){
if(state2){
LCD.clear(); LCD.setCursor(7,0); LCD.print("PLEASE");
LCD.setCursor(1,1); LCD.print("PUT YOUR FINGER !!");
LCD.setCursor(5,3); LCD.print("WAITING...");
delay(1300);
state2=false;
}
}
void press_pls(){
if(state3){
LCD.clear(); LCD.setCursor(3,0); LCD.print("ACCESS GRANTED");
LCD.setCursor(4,1); LCD.print("PLEASE PRESS ");
LCD.setCursor(4,2); LCD.print("THE BUTTON !!");
state3=false;
}
}
void party_button(){
while(1){
if(digitalRead(5)){
party1=true;
51 | P a g e
break;
}else{
party1=false;
}
if(digitalRead(4)){
party2=true;
break;
}else{
party2=false;
}
if(digitalRead(3)){
party3=true;
break;
}else{
party3=false;
}
if(digitalRead(2)){
party4=true;
break;
}else{
party4=false;
}
}
}
void check(){
if(party1){
Serial.print("1");
52 | P a g e
end_of_votind();
reset();
}else if(party2){
Serial.print("2");
end_of_votind();
reset();
}else if(party3){
Serial.print("3");
end_of_votind();
reset();
}else if(party4){
Serial.print("4");
end_of_votind();
reset();
}
}
void end_of_votind(){
if(state4){
LCD.clear(); LCD.setCursor(0,1); LCD.print("VOTING COMPLITED..!!");
delay(1300);
LCD.clear();LCD.setCursor(5,1); LCD.print("READY FOR");
LCD.setCursor(3,2); LCD.print("THE NEXT USE..");
delay(1500);
state4=false;
}
}
void reset(){
state=true;
state2=true;
53 | P a g e
state3=true;
state4=true;
state6=true;
serial=false;
party1=false;
party2=false;
party3=false;
party4=false;
}
54 | P a g e
55 | P a g e
Appendix 4
Hardware implementation
56 | P a g e
57 | P a g e