Batch 12ELECTRONIC - VOTING - MACHINE - USING - ARDUINO - FINAL1
Batch 12ELECTRONIC - VOTING - MACHINE - USING - ARDUINO - FINAL1
BACHELOR OF TECHNOLOGY
In
Assistant Professor
BY
P.YASASWINI (21NP5A0418)
B. NAGAJYOTHI (20NP1A0409)
BONAFIDE CERTIFICATE
This is to certify that this project entitled “Electronic Voting Machine Using Arduino” is
a bonafide work of “P. Siva Naga Mani (21NP5A0417), P. Yasaswini (21NP5A0418), B.
NagaJyothi (20NP1A0409),P. Vijaya Lakshmi(20NP1A0440)” who carried out the
project work under my supervision. The work embodied in this project has not been
submitted elsewhere for any other degree
EXTERNALEXAMINER
ACKNOWLEDGEMENT
We would like to express our gratitude to Dr. Murali Kalipindi M.Tech., PhD,
ourproject coordinator, for providing us with the necessary resources and support to carry
out our project successfully. The timely inputs and feedback provided by the project
coordinator were invaluable in meeting project deadlines.
We would like to thank Ms K. Prasuna MTech., (PhD), the Head of the Department of
Electronics and Communication Engineering, for providing us with the necessary
facilities and resources for carrying out our project. The HOD's constant encouragement
and support were instrumental in our success.
We would like to express our sincere thanks to Dr.G. Chenchamma M.Tech., PhD, the
Principal, for providing us with the necessary infrastructure and support for carrying out
our project. The principal’s constant encouragement and support were invaluable in
meeting our project goals.
We extend our sincere thanks to the management of Vijaya Institute of Technology for
Women for providing us with the necessary support and resources to carry out our project.
The management's constantsupport and encouragement were instrumental in oursuccess.
Finally, we would like to thank all the individuals who have contributed to our project in
various ways. We are grateful for their support and guidance, which helped us to
successfully complete our project.
Project Associates
P. SIVA NAGA MANI ( 21NP5A0417 )
P.YASASWINI ( 21NP5A0418)
B. NAGAJYOTHI ( 20NP1A0409)
List of Tables II
Nomenclature III
Abstract IV
1 Introduction 1-9
Problem Statement 1-2
1.1 Embedded system 2
1.1.1 Introduction to embedded system 2-3
1.1.2 Definition of embedded system 3
1.1.3 Features of embedded system 4
1.1.4 Characteristics of embedded system 4
1.1.5 Applications of embedded system 5-7
1.2 Recent trends in embedded systems 7
1.2.1 Processor power 7-8
1.2.2 Memory 8
1.2.3 Operating system 8
1.2.4 Communication interfaces and 8
network capability
1.2.5 Programming languages 8
1.2.6 Development tools 9
1.2.7 Programmable hardware 9
CONCLUSION 77
FUTURE ENHANCEMENT 78
REFERENCES 79-80
LIST OF FIGURES
i
LIST OF TABLES
ii
NOMENCLATURE
RST Reset
INT Interrupt
iii
Fingerprint based Electronic-Voting Machine
ABSTRACT:
The main goal of this project is to develop an electronic voting device that will make it
harder for people to cheat on manual voting machines and earlier electronic voting
models. The thesisinvestigates and suggests a method with several levels of verificationto
guarantee the device's dependability. Each voter is only added tothe system after being
identified and verified against the provided database of registered voters thanks to the
biometric fingerprint sensor. Following the matching of the fingerprint with the
information submitted, the voter will be able to select their preferred candidate from a
panel of buttons. To the voter’s delight, the final vote is then shown on an LCD. In
addition to being transparent, the suggested project has the ability to function
independently while inoperation.
iv
CHAPTER 1
INDRODUCTION
Problem Statement:
This study report primarily focuses on developing a model of embedded system that deals
with fingerprint legal system which might facilitate in progression of election in sturdy
and secure manner. The system integrates totally different hardware parts like micro-
controller, fingerprint module, LEDs, switches that facilitates a perfect legal system. For
the implementation of this method, DY50 fingerprint sensing element is employed
torequire user finger print image and storein internal memory, these pictures area unit
more processed and analyzed exploitation Arduino. The computer program is enforced
exploitation liquid crystal display screen, that is especially accustomed print user
directions throughout the execution of the pick method and therefore the result.
Existing System:
The automated vote systems are developed before some years agone. The prevailing
systems have alone been approved in some growth obtained countries. That too, not
altogether developed countries. as a result of the protection has not however been totally
preserved. we have a tendency to captive onto automation in the main to consider security.
however, the prevailing systems didn't guarantee.
The existing system isn't terribly efficient and reliable and conjointly manual approaches
are needed for verification, which consumes longer. At present, balloting unit and
1
management unit are wont to conduct the option. pick unit is employed by the electro to
settle on the candidates whereas control unit isemployed by the Polling officer to allow
the user for option. But in the existing system, felonious option is feasible by the invalid
elector, that is sensitive to security attack, which ends that some people lose their right
in choosing the government
A system is an arrangement in which all its unit assemble work together according to a
set of rules. It can also be defined as a way of working, organizing or doing one or many
tasks according to a fixed plan. For example, a watch is a time displaying system. Its
components follow aset of rules to show time. If one of its parts fails, the watch will stop
working. So we can say, in a system, all its sub components depend on each other.
As its name suggests, Embedded means something that is attached to another thing. An
embedded system can be thought of as a computer hardware system having software
embedded in it. An embedded system canbe an independent system or it can be a part of
a large system. An embedded system is a microcontroller or microprocessor based system
which is designed to perform a specific task. For example, a fire alarm is an embedded
system; it will sense only smoke.
2
The main aim of the project is to develop an electronic voting device that will make it
harder for people to cheat on manual voting machines and earlier electronic voting
models, which increases the System Security, Accuracy and Reliability.
An organisation in which every component functions as a unit under a set of rules is called
a system. A method of working, organising, or completing one or more tasks in
accordance with a predetermined plan is another way to characterise it. One device for
displaying the time is a watch. To indicate time, its parts adhere to a set of rules. The
watch won't function if one of its components breaks. We can therefore conclude that
every subcomponent of a system depends on every other component.
A object that is attached to another thing is called embedded, as the name would imply.
A computer hardware system with software embedded in it is called an embedded system.
Embedded, as the name implies, refers to something that is joined to another entity. You
might think of an embedded system as a computer hardware system with software
embedded in it.
.An embedded system is a special purpose computer system that is used in a particular
task. Embedded system is a system that is combination of software and hardware
implemented for specific application.
3
1.1.3 Features of embedded system:
Using the embedded gadget definition it’s far possible to recognize the numerous basic
traits one.
Embedded systems are designed for a specific challenge. Even though they use laptop
strategies, they cannot be used as a widespread reason computer the use of a spread of
different programs for one of a kind project. On this manner, their function can be focused
on what they need to do, and they can consequently be made inexpensive and greater
correctly.
The software program for embedded systems is usually called firmware. In preference to
being saved on a disc, where many applications can be stored, the single programmed for
an embedded gadget is usually saved on the chip and its miles called firmware.
Commonly, an embedded device executes a particular operation and does the similar
always. As an example: a pager is continuously functioning as apager.
All of the computing structures have boundaries on layout metrics, but the ones can be in
particular tight. Several embedded systems have to continuously react to modifications
inside the system and also calculate precise outcomes in actual time without any put- off.
Ithas to be based totally on a microcontroller or microprocessor primarily based.
An embedded system is built in with hardware and software program where the hardware
is used for safety and performance and software is used for more flexibility and
capabilities.
4
1.1.5 Applications of embedded system:
Security systems
Telephone and banking
Defense and aerospace Communication
Digital Cameras
Set top Boxes
High Definition TV
DVD’s
5
Networked information appliances
Reliability:
When we use a desktop, the system ‘hangs’ and we need to reset the computer. Generally,
this does not cause any problem. However, this is not the case with the embedded systems
used in mission-critical applications. They must work with reliability. Many embedded
systems used in industrial automation and defense equipment need to work in extreme
environmental conditions such as very high/low temperature,
high humidity. Besides, they should be able to withstand bump and vibrations. Hence,
very
Power consumption:
Most of the embedded systems operate through a battery. To reduce the battery drain and
avoid frequent recharging of the battery, the power consumption of embedded systems
has to be very low. To reduce power consumption such hardware components should be
used that consume less power. Besides emphasis should be on reducing the components
count of the hardware. To reduce component programmable gate arrays. Reducing the
component count apart from reducing the power consumption also increases the reliability
of the system.
Cost:
However the embedded systems used in consumer electronics or office automation, the
cost are of utmost importance.
6
Size:
Size is certainly a factor for many embedded systems. We do not like a mobile phone that
has to be carried on our backs.
The size and weight are the important parameters in embedded systems used in aircrafts,
space crafts, missiles etc,, because in such cases every inch and every gram matters. To
reduce the size and weight, again the hardware engineers have to design their boards by
reducing the component count to the maximum possible extent.
Unlike desktops, which have full-fledged input/output devices, embedded systems do not
have sophisticated interfaces for input and output. Some embedded systems do not have
any user interface at all. They take electrical signals as input and produce electrical signals
as output. In many embedded systems, the input is through a small function keypad
or a set of buttons. The output is displayed either on a set of LED or a small LCD.
Embedded systems are meant for a specific task. So, once the software is transferred to
the embedded systems, the same will run throughout its life. However, in some cases, it
may be necessary to upgrade the software. Nowadays, software up gradation is done by
downloading the software on to the embedded.
In good old days, developing embedded systems was confined to a very few ‘specialists’.
Most of the embedded software was written only in assembly language andhence writing,
debugging and maintaining the code were very difficult and time consuming. With the
availability ofpowerful processor and advanced development tools,embedded software
development is no longer ‘rocket science’.
7
The clock speed and the memory addressing capability of these processors are also
increasing. Very powerful digital signal processor are available for real time analysis of
audio and video signals. As a result, the power of desktop computers is now available on
palmtops.
1.2.2 Memory:
The cost of memory chips is reducing day by day. As a result, the embedded systems can
be made functionally rich by incorporatingadditional features such as networking
protocols and even geographical user interfaces. The cost of memory chips used to
discourage developers from porting an operating system onto the target hardware. As a
Memory chips are becoming cheaper, porting an operating system is no longer as issue.
Now, wrist watches with embedded Linux operating system are available.
Unlike the desktops on which the options for an operating system are limited, a variety of
operating systems are available which can be ported onto the embedded system. The main
advantage of embedding an operating system
is that the software development will be very fast and maintaining the code is very easy.
The software can be developed in a high-level language such as C. So, time to market the
system gets reduced.
With the availability of low cost chips, embedded systems can be provided networking
capability through communication interfaces suchas Ethernet, 802.11 wireless LAN are
Infrared. Network enabling of an embedded system has many advantages it can be
accessed over a network for remo:te control or monitoring.
8
1.2.6 Development tools:
Availability of number of tools for development, debugging and testing as well as for
modeling the embedded systems is now paving way for fast development of robust and
reliable systems. Development tools such as MATLAB and Simulink can be used to
model an embedded system to generate code, substantially reducing the development
time.
Programmable Logic Devices (PLD’S) and Field Programmable Gate Arrays (FPGA’S)
pave the way of reducing the components of an embedded system, leading to small, low
cost components.
After developing the proto-type of an embedded system, foe mass production, an FPGA
can be developed which will have all the functionality of the processor, peripherals as
well as application specific circuitry. “System On Chip” is catchword that reflects the
current developments in programmable hardware a single chip.
9
CHAPTER 2
Literature Review
Rahil Rezwan, Huzaifa Ahmed, M. R. N. Biplob, S. M. Shuvo, Md. Abdur Rahman proposed
The Fingerprint scanner module used for this project is GT 511C3 from ADH-Tech. The device
is able to capture fingerprint, save it, manipulate it, match fingerprint with the database. It has on
board 32-bit CPU which accepts code. The module has 4 external wires, two of them which
communicate with the arduino. Other two wires are biasing voltage and ground. The finger print
scanner module’s receiving pin cannot handle more than 3.3 volts. That is why avoltage divider
circuit was used so that the finger print scanner can get approximately 3.3 volts. Other wires were
directly connected[1].
Mr.kalash Srivastava, M.P.S Chawla The usage of technical devices in the electoral process
is no longer innovation in the 21st century as many countries have already implemented electronic
voting for fast vote tallying and to improve the turnout. In this modern age, it is even possible to
vote online from home. Electronic voting machines (EVM) aim to create a reliable and secure
system of casting a vote in compliance with democratic elections and referendums' fundamental
principles. An electronic voting system should have transparency to the people while checking
individual voters' identities and recording voting electronically by eliminating the need for paper
ballot. The system should possess the feature of facilitating citizens to cast the votes with
extensive access to the system while assuring anonymity of voter [2].
10
A. Tirupathi Rao; N. Pattabhi Ramaiah; V. Raghavendra Reddy; C. KrishnaMohan
Therefore, multi-steps security is required to achieve the reliance of citizens on this system. A
national database system must verify the voter's identity at the beginning of the votingprocess to
ensure only a single vote cast per registered voter. The paper-based voting method, reportedly,
was first used in Victoria, Australia in 1856. Around 1960, electronic voting machinesstarted to
appear as punch cards were incorporated in the voting process . In these systems, mostlythe vote
counting process was carried out electronically. However, near the year 2000s, the modern
generation of voting machines, Direct Recording Electronic (DRE), started to come intoexistence.
The DRE systems are basically computer-based models with an interactive user interface for
casting votes . Looking at the existing e-voting systems, a microprocessor is used tooperate the
EVM, while an electronic memory records the votes. At the end of the election, the stored votes
in memory are used to produce results faster than the tedious process of tally countingin the manual
election system. Over the last decade, different groups have tried to design EVM using
microcontrollers. One such group proposed a voting system to ensure voter identity with multiple
authentication processes like fingerprint scanning and facial recognition or retina scan [4].
R.Prabha, X.Trini, V.Deeika and C.Iswarya The system proposed in this paper aims to
ensure data confidentiality and a fair election process by maintaining two steps authentication
from administrators to activate the EVMs. For valid voter identification, a biometric
authentication process has been implemented. During the vote casting process, the voter’s
information is updated in a secured file. Therefore, a voter's choice and identity remain secrets,
11
which is one of the major requirements for the E-voting system's success. This paper's proposed
system is a standalone device that can operate without any computer and can easily be portable,
promoting its usage in remote areas. Arduino Unos are used as the processing units for this system,
which consumes a minimal amount of power, and at the same time, no use of ballot papermakes
the system completely eco-friendly. Overall, the low-cost feature, along with administrative
control and database exportation of the proposed electronic voting machine(EVM), will have wide
acceptance to the developing nations' governments to implement a transparent and cost-effective
electoral system. Here in this document, section II illustrates the system architecture in detail,
while section III demonstrates the actual implemented system. The implemented system is
evaluated and the results are discussed in section IV. Section V talks aboutsome prospective future
improvements o f the developed system and lastly, section VI summarizes the presented work[6].
12
CHAPTER 3
ARCHITECTURE OF EMBEDDED SYSTEM
This will give you necessary foundation to take up the hardware development. The
various building blocks of embedded system hardware are shown in figure below.
Central Processing Unit (CPU) consists of the following features CPU is considered as
the brain of the computer.
13
CPU itself has following three components.
Memory or Storage Unit
Control Unit
ALU(Arithmetic Logic Unit)
Memory Unit:
This unit can store instructions, data, and intermediate results. This unit supplies
information to other units of the computer when needed.
It is also known as internal storage unit or the main memory or the primary storage or
Random Access Memory (RAM).
Primary memory and secondary memory are two types of memories in the computer.
Functions of the memory unit are –
It stores all the data and the instructions required for processing.
14
It stores the final results of processing before these results are released to an output device.
This unit controls the operations of all parts of the computer but does not carry out any
actual data processing operations.
It is responsible for controlling the transfer of data and instructions among other units of
a computer.
It obtains the instructions from the memory, interprets them, and directs the operation of
the computer.
It communicates with Input/output devices for transfer of data or results from storage.
Arithmetic Section
Logic Section
Arithmetic Section:
The first low power usage is obtained through charge sharing. the second, predictable
power usage, is sought by ensuring that the power required to complete and operation is
independent of its inputs.
Logic Section:
Processor Architecture:
15
In addition to manipulate the data, processors job is to read the data and instructions, from
memory, read and write data to output devices, and read data from output devices to do
these functions the processor communicates with other devices using the three buses, a
bus being a group of signals. These buses are
Based on the number of memory and data buses used, there are two types of
architectures for processors these are
ADDRESS
DATA
CPU MEMORY(INSTRUCTION
&
16
The Von Neumann architecture is the mostly used architecture has only one memory chip
which stores both instruction and data. The processor interacts with the memory through
address and data buses to fetch instructions and data.
The term "von Neumann architecture" has evolved to mean any stored- program computer
in which an instruction fetch and a data operation cannot occur at the same time because
they share a common bus. This is referred to as the von Neumann bottleneck and often
limits the performanceof the system.
The design of a von Neumann architecture machine is simpler than a Harvard architecture
machine which is also a stored-program system but has one dedicated set of address and
data buses for reading and writing to memory, and another set of address and data buses
to fetch instructions.
Von Neumann Architecture design consists of a Control unit, Arithmetic and Logical unit
(ALU), Memory Unit, Registers and Inputs/Outputs. Von Neumann Architecture is based
on the stored program computer concept, where instruction data and program dataare
stored in the same memory.
Interrupts:
An interrupt is a control signal sent to the microprocessor to draw its attention. The
processor, on receiving the interrupt request, stops its current operation and starts
executing the subroutine associated with the interrupt signal. Every interrupt signal will
have its own subroutine which contains the code to respond to the interrupt.
17
However, the processor acknowledges an interrupt only if its priority is higher than that
of the process that's currently being executed by the processor
The CISC approach attempts to minimize the number of instructions per program,
sacrificing the number of cycles per instruction. Computers based on the CISC
architecture are designed to decrease the memory cost. Because, the large programs need
more storage, thus increasing the memory cost and large memory becomes more
expensive.
To solve these problems, the number of instructions per program canbe reduced by
embedding the number of operations in a single instruction, thereby making the
instructions more complex.
RISC (Reduced Instruction Set Computer) is used in portable devices due to its power
efficiency.
A reduced instruction set computer, or RISC (/risk/), is one whose instruction set
architecture (ISA) allows it to have fewer cycles per instruction (CPI) than a complex
instruction set computer (CISC).[1]
Various suggestions have been made regarding a precise definition of RISC, but the
general concept is that such a computer has a small set of simple and general instructions,
rather than a large set of complex and specialized instructions.
18
The main idea of the CISC Architecture is to make hardware complex as a single
instruction will do all loading, evaluating and storing operations just like a multiplication
command will do stuff like loading data, evaluating and storing it.
For Example, Apple iPod and Nintendo DS. RISC is a type of microprocessor architecture
that uses highly-optimized set of instructions.
RISC does the opposite, reducing the cycles per instruction at the cost of the number of
instructions per program.
The main idea behind RISC Architecture is to make Architecture is to make hardware
simpler by using an instruction set composed of a few basic steps for loading, evaluating
and storing operations just like a load command will load data, store command will store
Nintendo DS and Apple iPod are two examples. A kind of microprocessor architecture
called RISC makes use of an extremely efficient set of instructions.
In contrast, RISC reduces the number of instructions per program while increasing the
number of cycles per instruction.
19
Fig. 3.7: RISC Architecture
Memory :
Memory is major part of computers that categories into several types. Memory is best
storage part to the computer users to save information, programs and etc, The computer
memory offer several kinds of storage media some of them can store data temporarily and
some them can store permanently.
Memory consists of instructions and the data saved into computer through Central
Processing Unit (CPU).
Memory is the faculty of the brain by which data or information is encoded ,stored , and
retrieved when needed. It is the retention of information over time for the purpose of
influencing future action.
20
Fig 3.8: Memory types
Primary Memory also called as volatile memory because the memory can’t store the data
permanently.
Primary memory select any part of memory when user want to save the data in memory
but that may not be store permanently on that location.It also has another name i.e. RAM.
RAM:
The primary storage is referred to as random access memory (RAM) due to the random
selection of memory locations. It performs both read and write operations on memory. If
power failures happened in systems during
memory access then you will lose your data permanently. So, RAM is volatile memory.
RAM categorized into following types.
DRAM
SRAM
DRDRAM
21
Secondary memory is external and permanent memory that is useful to store the external
storage media such as floppy disk, magnetic disks, magnetic tapes and etc cache devices.
Secondary memory deals with following types of components
ROM is permanent memory location that offer huge types of standards to save data. But
it work with read only operation. No data lose happen whenever power failure occur
during the ROM memory work in computers.
Sometimes called an A-D, ADC is short for Analog-to-Digital Converter and is a tool that
converts the continuous analog signal to a multilevel digital signal without altering its
content. There are four commonly used ADCs used today; the parallel converter, the
successive approximation ADC, voltage-to-frequency ADC and the integrating ADC.
Digital- to-analog conversion is a process in which signals having a few (usually two)
defined levels or states (digital) are converted into signals having a theoretically infinite
number of states (analog).
22
CHAPTER 4
OVERVIEW OF THE PROJECT
4.1 Introduction:
A democratic system of governance may include elections, when people are free to choose
their own leaders and make specific decisions about a range of issues, such as legislation,
constitutional amendments, or other issues. A voting system is a gift that laysforth the
election's guiding ideas. While political elections are the most common type, there are
numerous other professions where elections play a vital role in how their structures work.
For businesses, non-profits, and informal organizations, elections are important.
The main goal of this study report is to create an embedded system model that handles
the fingerprint legal system and could help elections proceed in a reliable and secure way.
The system incorporates a variety of hardware components, including switches, LEDs,
microcontrollers, and fingerprint modules, to enable an ideal legal system. The DY50
fingerprint detecting element is used in this method's implementation to capture user
fingerprint images, which are then stored in internal memory. Arduino is then used to
process and analyze these images. The computer software is forced to use a liquid crystal
display screen, which is particularly used to print user instructions while the choose
method and its outcome are being executed.
This project is used for system security and Avoid forgery and also to increase its
Accuracy and Reliability.
The projected technique drafting board of choice method is all eligible voters’ details are
needed therefore it's to store in database. Once the voter’s fingerprint is registered that
voter is eligible to vote so, citizen will vote for desired candidate in election. The higher
than figure is clearly explained the flow of proposed technique. To store the fingerprint
details of citizen Arduino led light has to be high. Then for store a fingerprint number
must set for fingerprint model. The template stored in DY50 flash memory. this can be
the enrollment method. Finally, registered voter is eligible to vote. Liquid crystal display
screen displays the instruction for guide the voter to make a successful election.
23
Four Authority are fixed in hardware instead of button. Infrared sensing element is for
choosing desired candidate during the election. after giving vote in the Election the voter
was not allowed to vote again. If it’s happened the display will show invalid or it won’t
show candidates in the display. at the same time the number of voters count will increase
and additionally it'll storein EEPORM memory of Arduino. This can be the total method
of projected technique. the method is consisting of enrollment, identification, verification.
The proposed mechanical device technique is consisting of fingerprint module, it is used
to scan voter’s finger for enrollment and identification. Users finger hasto match with
database that is already keep. Result image of the module must send to the personallaptop
for verification.
It's process of fingerprint templates. The enrollment section, the modulescans a finger
double to make identity. The image is extracted with the position and direction of finger
alignment are available in database. If the fingerprint matches with database it will allow
to vote. First method of the proposed system is to store the finger print value in database.
The method is named as enrollment. using this information user will cast their votes.
Identification is for identify the given fingerprint supported the info that is already keep.
If the fingerprint matches it'll enable you to vote otherwise it'll print as invalid.
Verification is to verify whether or not the used is eligible for voting ornot. One to 1
matching is used during this method. Finally, voters cast their vote and it'll be kept. The
elements that are used in the project are Arduino, fingerprint sensor, universal
asynchronous receiver and transmitter (UART), personal computer and these are the main
components used in the proposed system. The specification about the componentsis
described here.
24
Fig.4.1: Block Diagram
4.3 Working:
25
2) Fingerprint sensor module
3) Arduino UNO board
4) 16x2 LCD display
Here's a detailed explanation of the working principle of a fingerprint-based Electronic
Voting Machine (EVM) project based on the hardware components mentioned:
Button Panels:
There are 2 Button Pannel’s. First Pannel contains 5 buttons. They are:-
“Match, Up, Down, Ok, Enroll” .Which are used for our fingerprint purpose. These are
inputs to the system.
Out of 4, three are Candidate’s buttons(Parties) and last one is Result Button.
The button panels serve as the user interface for the EVM, allowing voters to interact with
the system. Each button represents a candidate or option on the ballot. When a voter
presses a button corresponding to their choice, it triggersan event in the Arduino Uno
board
The fingerprint sensor module is used for voter authentication. When a voter arrives at
the polling station, they place their finger on the fingerprint sensor. The sensor captures
the fingerprint image and sends it to the Arduino Unoboard for processing.
The Arduino Uno board serves as the central processing unit of the EVM. It receives
inputs from the button panels and the fingerprint sensor module, processes the data, and
controls the operation of the LCD display.
LCD Display:
The LCD display provides visual feedback to voters and election officials. It displays the
ballot options, voter instructions, and voting results. The Arduino Uno board sends
commands to the LCD display to update the content based on user interactions and voting
outcomes
26
4.3.2 Working Principle:
Voter Authentication:
When a voter places their finger on the fingerprint sensor module, the module captures
the fingerprint image and sends it to the Arduino Uno board. The Arduino Uno board
processes the fingerprint image using fingerprint recognition algorithms to extract unique
features. It compares the extracted features with the stored fingerprint templates in its
database to authenticate the voter's identity. If the voter is successfully authenticated, the
Arduino Uno board grants them access to the voting functionality.
Voting Process:
Authenticated voters are presented with the ballot options on the LCD display. They use
the button panels to select their preferred candidates or options. When a voter presses a
button, the Arduino Uno board registers the vote and updates the display to indicate the
selection. Voters can review and change their selections before confirming their final
choices.
Vote Casting:
Once voters confirm their choices, the Arduino Uno board records the votes securely in
its memory, associating each vote with the authenticated voter's identity. It tallies the
votes cast for each candidate or option in real-time.
Results Display:
Throughout the voting process, the Arduino Uno board updates the LCD display to show
the current ballot options, voter instructions, and voting results. After the voting period
ends, it calculates the final results based on the accumulated votes and displays the
outcome on the LCD display. By integrating the button panels, fingerprint sensor module,
Arduino Uno board, and LCD display, the fingerprint-based EVM provides a secure,
efficient, and user-friendly voting experience while ensuring the integrity and
transparency of the electoral process.
27
4.4 Flow Chart:
Fig.4.3:Flow chart
28
CHAPTER 5
DESCRIPTION OF HARDWARE COMPONENTS
5.1 Schematic Diagram:
The schematic diagram for the Fingerprint based Electronic- Voting Machine as shown
in figure below
Arduino is composed of two major parts there are: 1.Arduino Hardware 2.Arduino IDE
29
The Arduino Hardware:
Arduino is an ASCII text file physical computing platform supported an easy I/O board
and a development atmosphere that implements the processlanguage. Arduino uno may
be a microcontroller board and altogether it's fourteen digital input and output pins, out
of that vi is used for PWM outputs, six pins are analog inputs, a USB association, an
influence jack, sixteen MHz oscillator. These are the outline of Arduino that is employed
within the projected system. Arduino consists of 2 major components there are:
The ATmega328 microcontroller, commonly used in Arduino Uno and similar boards,
has a total of 28 pins.
1) VCC (Pin 7, 20): This pin is the supply voltage input. It typically connects to the
positive terminal of the power source (e.g., +5V) to power the microcontroller.
30
2) GND (Pin 8, 22): This pin is the ground reference voltage. It connects to the negative
terminal of the power source (e.g., ground) to complete the circuit.
3) RESET (Pin 1): This pin is used to reset the microcontroller. A LOW pulse on this pin
resets the microcontroller.
4) ADC (Analog Pins A0-A5, Pins 23-28): These pins are analog input channels for the
built-in Analog-to-Digital Converter (ADC). They allow the microcontroller to read
analog signals from sensors or other devices.
5) Digital I/O Pins (Pins 2-13): These pins are general-purpose digital input/output pins.
They can be configured as either inputs or outputs using software. Pins 0 and 1 are also
used for serial communication (RX and TX).
6) PWM (Pins 3, 5, 6, 9, 10, 11): These pins support Pulse Width Modulation (PWM)
output. They can generate analog-like output voltages by varying the duty cycle of the
PWM signal.
7) SPI (Pins 10, 11, 12, 13): These pins are used for Serial Peripheral Interface (SPI)
communication. They allow the microcontroller to communicate with other devices using
the SPI protocol.
8) I2C (Analog Pins A4, A5): These pins are used for Inter-Integrated Circuit (I2C)
communication. They enable the microcontroller to communicate with other devices
using the I2C protocol.
9) TX (Pin 1): This pin is the transmit pin for serial communication. It is used to send
data from the microcontroller to another device.
10) RX (Pin 0): This pin is the receive pin for serial communication. It is used to receive
data from another device into the microcontroller.
31
Arduino Specifications:
Microcontroller ATMEGA328
Supply voltage 5V
Operating voltage 7 – 12V
Maximum supply 20V
voltage
Digital I/O pins 14
Analog input pins 6
DC current for 3.3V Pin 50 mA
DC current per I/O pin 40 mA
Flash Memory 32 KB
SRAM 2KB
EEPROM 1KB
Clock Speed 16 Hz
5.3.1 Description:
5.3.2 Features:
• Labeled Buttons
• Logical Arrangement:
• Feedback Mechanism
• Durability
• Accessibility Features
• Integration
• Security Measures.
32
• Scalability
• User-Friendly Interface
5.4.1 Description:
The fingerprint voting system is also a model for image Embedded system. Itintegrates
hard-ware specifically fingerprint detector (DY50), liquid crystal display for the display,
switches, push but-tons for the triple-crown implementation of assorted inputs andoutputs
functions. These hardware elements are later embedded with process unit i.e.,ARM based
mostly micro-controller, Arduino device that is programed in C- programming language
to store data, execute all completely different user input commands and manufacture
results supported user inputs. further over microcontroller operates in dynamic due to
management all corresponding hardware peripherals. associate degree optical biometric
fingerprint (DY50) is utilized to input and browse the fingerprint data. Ituses TTL serial
and would possibly hook up with a microcontroller to send data, observe prints, hash and
search.
33
5.4.2 Features:
34
5.4.4 Pin Description:
1. VCC (Power): This pin is connected to a power source (usually +5V) to supply
power to the fingerprint sensor module.
2. GND (Ground): This pin is connected to the ground (0V) to complete the circuit
and provide a reference voltage for the module.
3. TX (Transmit): This pin is used for serial communication and transmits data from
the fingerprint sensor module to the microcontroller or other devices.
4. RX (Receive): This pin is used for serial communication and receives data from
the microcontroller or other devices to the fingerprint sensor module.
Technical Specifications:
35
5.5 LCD:
5.5.1 Description:
5.5.2 Features:
Displayformat:20x4(4-Rows&20-Columns).
Built-in controller: ST 7066(or equivalent).
Dutycycle:1/16.
Viewingarea:123.5*43mm.
Charactersize:4.84*9.22mm.
+5V power supply (also available for+3).
Back light: LED (Yellow-Green).
36
5.5.4 Pin Description:
3 Vo Contast Adjust
37
CHAPTER 6
SOFTWARE IMPLEMENTATION
6.1 Introduction:
Since the beginning of the Arduino, it's not a microcontroller any longer however a
scheme and setting that is ported to completely different architectures. The key benefits
to my information are:
Debugging the Arduino atmosphere give best debugging atmosphere thatis cross-
platform and is accepted by each member of the family.
No technologist or selling flash by dirty ways that, with most of the businesses already
providing on-board computer program still compared to tons of microcontroller (8051)
transfer may be a click away.
when you do not ought to take datasheet out and figure what the design is what area unit
the addresses of the microcontroller to write down straightforward functions like delay or
interrupt. Style of the board is extremely fastidiously crafted for beginners be it retard
Switch or ISP header to the polarity of power; the possibilities are steep thatyou simply
would be blow it.
Peripherals and standard Design: Arduino system has fantastic standard design, you'll
merely add the already designed shields tothe board with none wire, simply plug and play
with peripherals like motor defend, Bluetooth defend, Wi-Fi and what not already created
38
Libraries: plenty of libraries and IC's have already been designedfor a similar that is
crucial plenty of times.
6.2.1 Enrollment
Before beginning the whole method of the developed system, 1st we've got to make to
create base of fingerprint templates of valid voters. R 305 fingerprint module is employed
to require impression of finger. User has to enter identical finger twice to get one templet,
that reduces the matter of alignment throughout verification method. every templet is
known by completely different names of voters and hold on during this module. Hex
codes are accustomed communicate with the module. when the pre-processing stage of
making information, system is prepared to use.
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
#include <LiquidCrystal.h>
#include <SoftwareSerial.h>
int getFingerprintIDez();
LiquidCrystal lcd(8,9,10,11,12,13);
// SoftwareSerial mySerial(17,14);
//rx tx
#define btn_1 4
#define btn_2 5
#define btn_3 6
39
#define btn_4 7
#define BUZZ 3
char otp_send_buff[]={'\0','\0','\0','\0','\0'};
void setup()
Serial.begin(9600);
delay(100);
mySerial.begin(9600);
Serial.begin(9600);
delay(100);
pinMode(BUZZ,OUTPUT);
delay(100);
pinMode(btn_1,INPUT);
delay(100);
pinMode(btn_2,INPUT);
delay(100);
pinMode(btn_3,INPUT);
delay(100);
pinMode(btn_4,INPUT);
delay(100);
40
lcd.begin(16, 2);
delay(100);
lcd.print("Invalid vote");
delay(100);
while (!Serial);
Serial.begin(9600);
finger.begin(57600);
if (finger.verifyPassword())
} else
getFingerprintIDez(); delay(50);
uint8_t getFingerprintID()
case FINGERPRINT_OK:
case FINGERPRINT_NOFINGER:
41
Serial.println("No finger detected"); return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
return p;
default:
Serial.println("Unknown error");
return p;
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image converted");
break;
case FINGERPRINT_IMAGEMESS:
return p;
case FINGERPRINT_PACKETRECIEVEERR
Serial.println("Communication error");
return p;
case FINGERPRINT_FEATUREFAIL:
return p;
42
case FINGERPRINT_INVALIDIMAGE:
Serial.println("Unknown error");return p;
// OK converted!
p = finger.fingerFastSearch();
if (p == FINGERPRINT_OK) {
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_NOTFOUND) {
return p;
} else {
Serial.println("Unknown error");
return p;
// found a match!
Serial.print("Found ID #");
Serial.print(finger.fingerID);
43
Serial.println(finger.confidence);
p = finger.fingerFastSearch();
// found a match!
Serial.print("Found ID #");
Serial.print(finger.fingerID);
loop_finger();
Serial.println(finger.confidence);
return finger.fingerID;
void loop_finger()
// if(Serial.available()>0)
//{
// Finger_verification_calling();
if(finger.confidence>10)
//Serial.read();
44
// Serial.read();
// Serial.read();
lcd.clear();
delay(100);
lcd.print("Finger verified");
delay(100);
lcd.setCursor(0, 1);
delay(100);
delay(100);
send_sms();
lcd.setCursor(0, 1);
delay(100);
delay(3000);enter_otp();
//}
void enter_otp()
{ j=0;
while(j<3)
lcd.clear();
delay(100);
45
lcd.print("Finding Parties ");
delay(100);
lcd.setCursor(5, 1);
delay(100);
i=0;
/*while(i<4)
otp_enter_buff[i++]=getkey();
lcd.print(otp_enter_buff[i-1]);
}*/ delay(2000);
//Serial.println(otp_enter_buff);
if(1==1)
{ if(2==2)
{ if(3==3)
{ if(4==4)
ok_not = 1;
else
ok_not = 0;
46
Else
ok_not = 0;
else
ok_not = 0;
else
ok_not = 0;
if(ok_not == 1)
lcd.clear();
delay(100);
lcd.print("Details Received");
delay(100);
lcd.setCursor(0, 1);
delay(100);
delay(2500);
47
j=10; // otp matched ready to vote
else
{ j++;
if(j>=3)
digitalWrite(BUZZ,1);
lcd.clear();
delay(100);
delay(100);
lcd.setCursor(0, 1);
delay(100);
delay(5000);
digitalWrite(BUZZ,0);
else
lcd.clear();
delay(100);
delay(100);
lcd.setCursor(0, 1);
48
delay(100);
delay(2000);
if(j==10)
lcd.clear();
delay(100);
lcd.print("1.DMK");
delay(100);
lcd.setCursor(9, 0);
delay(100);
lcd.print("2.PMK");
delay(100);
lcd.setCursor(0, 1);
delay(100);
lcd.print("3.ADMK");
delay(100);
lcd.setCursor(9, 1);
delay(100);
lcd.print("4.NOTA");
49
delay(100);
vote = getkey();
lcd.clear();
tot_vote++;
lcd.clear();
delay(100);
delay(100);
/*if(vote=='1')
digitalWrite(3,0);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);
if(vote=='2')
digitalWrite(3,1);
digitalWrite(4,0);
digitalWrite(5,1);
digitalWrite(6,1);
50
}
if(vote=='3')
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,0);
digitalWrite(6,1);
if(vote=='4')
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,0);
delay(100);
lcd.print("Total vote:");
delay(100);
lcd.print(tot_vote);
delay(100);
send_thanks();
lcd.clear(); delay(100);
51
lcd.print("Vote for nation");
delay(100);
otp_send_buff[0] = (char)(random(1,4)+0x30);
delay(100);
otp_send_buff[1] = (char)(random(1,4)+0x30);
delay(100);
otp_send_buff[2] = (char)(random(1,4)+0x30);
delay(100);
otp_send_buff[3] = (char)(random(1,4)+0x30);
delay(100);
Serial.println("AT");
delay(2000);
Serial.println("AT+CMGF=1");
delay(2000);
Serial.println("AT+CMGS=\"+918903456276\"\r");
delay(2000);
delay(500);
Serial.println(otp_send_buff);
delay(500);
Serial.println((char)26);
52
delay(2000);
void send_thanks(void)
Serial.println("AT");
delay(2000);
Serial.println("AT+CMGF=1");
delay(2000);
Serial.println("AT+CMGS=\"+918903456276\"\r");
delay(2000);
delay(1500);
Serial.println((char)26);
delay(2000);
char getkey()
int a=0;
while(a<1)
b = digitalRead(btn_1);
delay(50);if(b==0)
53
ret = '1';
while(digitalRead(btn_1));
a++;
c = digitalRead(btn_2);
delay(50);
if(c==0)
ret = '2';
while(digitalRead(btn_2));
a++;
d = digitalRead(btn_3);
delay(50);
if(d==0)
ret = '3';
while(digitalRead(btn_3));
a++;
e = digitalRead(btn_4);
delay(50);
if(e==0)
54
ret = '4';
while(digitalRead(btn_4));
a++;
return (ret);
6.2.2 Identification:
This method is employed to examine the citizen identity and also the main target of this
method is to spot that that citizen has accessed the system. once user place the fingeron
optical sensor of module then the options of that finger is extracted and match (1: n) with
all templates that is antecedently hold on in information. If fingerprint ismatchedwithany
of the guides then info holds on model that template is employed for more process. once
fingerprint isn't matched with any matching, citizen is asserted as invalid citizen, asthat
fingerprint template isn't kept within the database.
6.2.3 Verification :
Verification is that the method to visualize whether or not the user is valid for vote or not.
One to at least one matching (1:1) is performed during this method [5]. It also can monitor
that elector has voted once or a lot of. more than one vote by a similar candidateisn't
allowed during this system. when identification, initial it's checked that the user hasvoted
or not. If user has not voted then solely vote is allowed. during this method, what
percentage item points area unit matched is additionally checked. This shows the
arrogance level of matching throughout verification.
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
#include <LiquidCrystal.h>
55
#include <SoftwareSerial.h>
int getFingerprintIDez();
LiquidCrystal lcd(8,9,10,11,12,13);
// SoftwareSerial mySerial(17,14);
int admk=0;
int dmk=0; i
nt pmk=0; i
nt nota=0;
#define btn_1 4
#define btn_2 5
#define btn_3 6
#define btn_4 7
#define BUZZ 3
char otp_send_buff[]={'\0','\0','\0','\0','\0'};
char otp_enter_buff[]={'\0','\0','\0','\0','\0'};
int i=0,j=0,vote=0;
int tot_vote=0;
int ok_not=0;
void send_sms(void);
// otpchar getkey();
void enter_otp();
void send_thanks(void);
void loop_finger();
56
void setup()
Serial.begin(9600);
delay(100);
mySerial.begin(9600);
Serial.begin(9600);
delay(100);
pinMode(BUZZ,OUTPUT);
delay(100);
pinMode(btn_1,INPUT);
delay(100);
pinMode(btn_2,INPUT);
delay(100);
pinMode(btn_3,INPUT);
delay(100);
pinMode(btn_4,INPUT);
delay(100);
lcd.begin(16, 2);
delay(100);
lcd.print("Invalid vote");
delay(100);
while (!Serial);
Serial.begin(9600);
57
finger.begin(57600);
} else {
while (1);
void loop()
getFingerprintIDez();
delay(50);
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
58
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
return p;
default:
Serial.println("Unknown error");
return p;
// OK success!
p = finger.image2Tz();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image converted");
break;
case FINGERPRINT_IMAGEMESS:
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
case FINGERPRINT_FEATUREFAIL:
return p;
case FINGERPRINT_INVALIDIMAGE:
59
return p;
default:
Serial.println("Unknown error");
return p;
// OK converted!
p = finger.fingerFastSearch();
if (p == FINGERPRINT_OK) {
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_NOTFOUND) {
return p;
else {
Serial.println("Unknown error");
return p; }
// found a match!
Serial.print("Found ID #");
Serial.print(finger.fingerID);
Serial.println(finger.confidence);
60
}
p = finger.image2Tz();
p = finger.fingerFastSearch();
Serial.print(finger.fingerID);
loop_finger();
Serial.println(finger.confidence);
return finger.fingerID;
void loop_finger()
if(finger.confidence>10)
lcd.clear();
delay(100);
lcd.print("Finger verified");
delay(100);
lcd.setCursor(0, 1);
delay(100);
61
lcd.print(" Area Searching... ");
delay(100);
send_sms();
lcd.setCursor(0, 1);
delay(100);
delay(3000);
enter_otp();
//}
void enter_otp()
{ j=0;
while(j<3)
lcd.clear();
delay(100);
delay(100);
lcd.setCursor(5, 1);
delay(100);
i=0;
/*while(i<4)
62
otp_enter_buff[i++]=getkey();
lcd.print(otp_enter_buff[i-1]);
}*/ delay(2000);
//Serial.println(otp_enter_buff);
if(1==1)
{ if(2==2)
{ if(3==3)
{ if(4==4)
ok_not = 1;
else
ok_not = 0;
else
ok_not = 0;
else
63
ok_not = 0;
else
ok_not = 0;
if(ok_not == 1)
lcd.clear();
delay(100);
lcd.print("Details Received");
delay(100);
lcd.setCursor(0, 1);
delay(100);
delay(2500);
j=10;
else
{ j++;
if(j>=3)
64
{
digitalWrite(BUZZ,1); l
cd.clear();
delay(100);
delay(100);
lcd.setCursor(0, 1);
delay(100);
delay(5000);
digitalWrite(BUZZ,0);
else
lcd.clear();
delay(100);
delay(100);
lcd.setCursor(0, 1);
delay(100);
delay(2000);
65
}
if(j==10)
lcd.clear();
delay(100);
lcd.print("1.DMK");
delay(100);
lcd.setCursor(9, 0);
delay(100);
lcd.print("2.PMK");
delay(100);
lcd.setCursor(0, 1);
delay(100);
lcd.print("3.ADMK");
delay(100);
lcd.setCursor(9, 1);
delay(100);
lcd.print("4.NOTA");
delay(100);
tot_vote++;
lcd.clear();
66
delay(100);
delay(100);
/*if(vote=='1')
digitalWrite(3,0);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);
if(vote=='2')
digitalWrite(3,1);
digitalWrite(4,0);
digitalWrite(5,1);
digitalWrite(6,1);
if(vote=='3')
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,0);
digitalWrite(6,1);
67
if(vote=='4')
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,0);
}*/
lcd.setCursor(0, 1);
delay(100);
lcd.print("Total vote:");
delay(100);
lcd.print(tot_vote);
delay(100);
send_thanks();
lcd.clear(); delay(100);
delay(100);
void send_sms(void)
// otp
68
otp_send_buff[0] = (char)(random(1,4)+0x30);
delay(100);
otp_send_buff[1] = (char)(random(1,4)+0x30);
delay(100);
otp_send_buff[2] = (char)(random(1,4)+0x30);
delay(100);
otp_send_buff[3] = (char)(random(1,4)+0x30);
delay(100);
Serial.println("AT");
delay(2000);
Serial.println("AT+CMGF=1");
delay(2000);
Serial.println("AT+CMGS=\"+918903456276\"\r");
delay(2000);
delay(500);
Serial.println(otp_send_buff);
delay(500);
Serial.println((char)26);
delay(2000);
void send_thanks(void)
Serial.println("AT");
69
delay(2000);
Serial.println("AT+CMGF=1");
delay(2000);
Serial.println("AT+CMGS=\"+918903456276\"\r");
delay(2000);
delay(1500);
Serial.println((char)26);
delay(2000);
char getkey()
while(a<1)
b = digitalRead(btn_1);
delay(50);if(b==0)
ret = '1';
while(digitalRead(btn_1));
a++;
c = digitalRead(btn_2);
delay(50);
70
if(c==0) {
ret = '2';
while(digitalRead(btn_2));
a++;
d = digitalRead(btn_3);
delay(50);
if(d==0) {
ret = '3';
while(digitalRead(btn_3));
a++;}
e = digitalRead(btn_4);
delay(50);
if(e==0) {
ret = '4';
while(digitalRead(btn_4));
a++;
return (ret);
71
CHAPTER 7
RESULT ANALYSIS
7.1 Experimental results:
The developed paradigm has been tested underneath totally different in operation conditions. The
work is completed within the sequence begin from the primary stage that is pre-processing. The
results of pre- processing stage are displayed on Serial Monitor. The system is programmedto
show 3 statements in making the database. initial it shows, R 305 module is connected properlyor
not. when inserting identical finger twice on opticalsensor of module it shows, each fingerprintis
matched properly or not. when matching the fingerprints serial monitor displayed, templates are
kept or not. Alternativeoutcomes and directions associated with identification, verification and
mechanical device are showed on 16 x 2 liquid crystal display and serial monitor each.
72
7.2 Enrollment and Identification:
73
Fig 7.5 Place Finger
62
74
7.3 Results
Advantages:
Applications:
National Elections:
75
In national elections, EVMs play a crucial role in managing the voting process across
a country's entire population. They offer enhanced security measures to safeguard
against electoral fraud, ensuring the integrity and fairness of the electoral process.
EVMs can handle large voter turnout efficiently, making them well-suited for national
elections with millions of voters.
Local Elections:
EVMs are equally valuable in local elections, including municipal, state, or regional
contests. They simplify the voting process for voters and election officials alike,
reducing administrative burdens and potential errors. EVMs ensure accurate
representation and decision-making at the local level, promoting democracy and civic
engagement within communities.
By providing timely and transparent election results, EVMs enhance public trust in
local government institutions and electoral processes.
Corporate Elections:
Union Elections:
In labour unions, EVMs offer a democratic means of electing union officials and
representatives. They streamline the election process, allowing for efficient tallying
of votes and timely declaration of results.
76
CONCLUSION
In conclusion, the development and implementation of a fingerprint- based Electronic
Voting Machine (EVM) project represent a significant advancement in modernizing
electoral processes and promoting democratic principles. This project offers numerous
advantages, including enhanced security, accuracy, accessibility, and transparency in
elections across various domains, including national, local, corporate, and community
levels. By leveraging biometric authentication technology, such as fingerprint
recognition, the project ensures the integrity of the voting process, mitigates fraud risks,
and fosters public trust in democratic institutions. Furthermore, the user-friendly interface
and scalability of EVMs make them suitable for diverse voting scenarios, including
remote voting and special interest group elections. Overall, the successful execution of
this project contributes to strengthening democratic governance, promoting civic
engagement, and upholding the fundamental principles of democracy worldwide.
77
FUTURE ENHANCEMENT
In future, the system is expanded by as well as the subsequent features to that as
listedbelow:
Implementation via neural network and fuzzy logic is tired order to reinforce the
performance of fingerprint matching throughout identification and verification.
The developed model is tested with sizable number of databases, by matching
with time quality supported minutiae points.
It's conjointly attainable to develop a high-resolution fingerprint matching
framework that utilizes three levels of options.
78
REFERENCES
[1] Mr.kalash Srivastava, M.P.S Chawla “ Fingerprint based Electronic Voting Machine
with Inbuilt Identification and Verification System(2018)”, journal of Advances in
electronic devices, vol.3, no.3,pp.3-13
[2] A.M.jagtap, Vishakha kesarkar, Anagha supekar” Electronic Voting System using
Biometrics, Raspberry Pi and TFT module(2018)”, IEEE Xplore, vol-3, no-4,pp- 5386-
9439
[3] Ifthekhar Ahammad, Pradip lal biswas, juwel Chowdhury, obaedur Rahim rizbhi,
Sanjana sirah and ashraful isla, “Towards a secure and automated platform for
fingerprint-based electronic voting machine(2019)”, IEEE Xplore, vol.1,no.1,pp.34-41.
[5] R.Prabha, X.Trini, V.Deeika and C.Iswarya,” A Survey on E-Voting System Arduino
software(2016)“, International Journal of Advanced Research in
Electrical,vol.5,no.2,pp.36- 47.
79
Electronic Voting Machines”, IEEE,vol-4,no.8,pp.140-114.
[11] Vipul Awasthi; MPS Chawla, “Fingerprint analysis using minutiae extraction”
School of Electronics, Devi Ahilya Vishwavidyalaya, Indore (M.P), 7 June. 2012.
80