0% found this document useful (0 votes)
33 views90 pages

Batch 12ELECTRONIC - VOTING - MACHINE - USING - ARDUINO - FINAL1

The document describes a project to develop an electronic voting machine using an Arduino board. It includes an introduction to embedded systems and the project. The system will use a fingerprint sensor and buttons for voter identification and selection. An LCD will display the interface. Hardware and software implementation details are provided.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views90 pages

Batch 12ELECTRONIC - VOTING - MACHINE - USING - ARDUINO - FINAL1

The document describes a project to develop an electronic voting machine using an Arduino board. It includes an introduction to embedded systems and the project. The system will use a fingerprint sensor and buttons for voter identification and selection. An LCD will display the interface. Hardware and software implementation details are provided.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 90

ELECTRONIC VOTING MACHINE USING ARDUINO

A project report submitted to

JAWAHARLAL NEHRU TECHNOLOGY UNIVERSITY,


KAKINADA

In partial fulfilment of the requirements for the award of degree of

BACHELOR OF TECHNOLOGY

In

ELECTRONICS AND COMMUNICATION ENGINEERING

Under the esteemed guidance of

Mr. V. DEVASAHAYAM M. Tech

Assistant Professor

BY

P. SIVA NAGA MANI (21NP5A0417 )

P.YASASWINI (21NP5A0418)

B. NAGAJYOTHI (20NP1A0409)

P. VIJAYA LAKSHMI (20NP1A0440)

DEPARTMENT OF ELECTRONICS & COMMUNICATION


ENGINEERING
VIJAYA INSTITUTE OF TECHNOLOGY FOR
WOMEN
Enikepadu, Vijayawada-521108 Andhra Pradesh
May-2024
DEPARTMENT OF ELECTRONICS AND COMMUNICATION
ENGINEERING

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

Mr .V. DEVASAHAYAM M. Tech Ms.K.PRASUNA M.Tech (Ph.D)

Project Guide Head of the Department

EXTERNALEXAMINER
ACKNOWLEDGEMENT

We extend our heartfelt thanks to Mr.V.Devasahayam M.Tech Assistant professor,our


project guide, for providing us with constant guidance and motivation throughout the
project. The valuable insights and constructive criticism provided by our guide were
instrumental in shaping our project and improving its quality.

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)

P. VIJAYA LAKSHMI ( 20NP1A0440)


List of Contents

Chapter CONTENTS Page No.


No
List of Figures I

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

2 Literature Review 10-12


3 ARCHITECTURE OF EMBEDDED SYSTEM 13-22
3.1 Hardware Architecture 13-19
3.2 Memory 20-22

4 OVERVIEW OF THE PROJECT 23-28


4.1 Introduction 23
4.1.1 Our proposal 23-24
4.2 Block diagram 24-25
4.3 Working 25
3.6.1 Explanation about Hardware parts 25-26
3.6.2 Working Principle 27
4.4 Flow Chart 28

5 DESCRIPTION OF HARDWARE COMPONENTS 29-37

5.1 Schematic Diagram 29


5.2 Arduino UNO 29
5.2.1 Introduction 29-30
5.2.2 Pin Diagram 30
5.2.3 Pin Description 30-31
5.3 Button Pannels 32
5.3.1 Description 32
5.3.2 Features 32-33
5.4 Fingerprint Sensor module 33
5.4.1 Description 33
5.4.2 Features 34
5.4.3 Pin Diagram 35
5.4.4 Pin Description 35
5.4.5 Technical Specification 35
5.5 LCD 36
5.5.1 Description 36
5.5.2 Features 36
5.5.3 Pin Diagram 36
5.5.4 Pin Description 37

6 SOFTWARE IMPLEMENTATION 38-64


6.1 Introduction 38
6.1.1 Arduino IDE 8
6.2 Source Code 39
6.2.1 Enrollment 39
5.2.1.1 Code for Enrollment 39-54
6.2.2 Identification 55
6.2.3 Verification 55
6.2.3.1Code for Verification and Identification 55-71

7 RESULT ANALYSIS 65-76


7.1 Experimental results 72
7.2 Enrollment and Identification 73
7.2.1 Matching with the data base 73
7.2.2 Verification Results 73-74
7.3 Results 75
Advantages 75
Applications 75-76

CONCLUSION 77
FUTURE ENHANCEMENT 78
REFERENCES 79-80
LIST OF FIGURES

Figure no. Name of figure Page no


3.1 Hardware architecture 13
3.2 Block diagram of CPU 14

3.3 Interaction between CPU & memory 15


3.4 Von Neumann architecture 15
3.5 Harvard architecture 17

3.6 CISC architecture 18


3.7 RISC architecture 20

3.8 Memory types 21


4.1 Block Diagram 25
4.2 Fingerprint based Electronic voting machine 25
4.3 Flow Chart 28
5.1 Schematic 29

5.2 Diagram of Arduino UNO Board 30


5.3 Button Pannels 33

5.4 Fingerprint Sensor 33


5.5 Pin diagram of Fingerprint sensor module 34
5.6 LCD Pin Diagram 36
7.1 Hardware Kit 72

7.2 Enrollment Results 73


7.3 Welcome LCD 73
7.4 Match Key 73
7.5 Place Finger 74

7.6 Please Vote 74


7.7 Authorized Voter 74

i
LIST OF TABLES

Table no. Name of table Page no.

4.1 Technical Specification of ArduinoBoard 32

4.2 Technical Specification of FingerprintSensor 35

4.3 Pin Description of LCD 37

ii
NOMENCLATURE

ADC Analog to DigitalConverter

DAC Digital to AnalogConverter

ROM Read Only Memory

RAM Random Access Memory

ALE Address Latch Enable

RST Reset

SFR Special FunctionRegister

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.

Keywords:-Electronic voting machine, Arduino Uno, LCD,


Fingerprint sensor

iv
CHAPTER 1
INDRODUCTION

Problem Statement:

Election could be a feature of democratic government within which individuals govern


themselves and are ready to specific their selections relating to varied problems, like
constitutional amendments, piece of legislation or selecting the correct person as
theirleader. A voting system is gift to layout the principles of the election. Political
election is that the most typical style of election however there are many alternative fields
wherever election is significant a part of their structure functions. Election is significant
for business,informal organizations and non-profit organizations.

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

Problems faced due to existing System:


In the recent times of modernization, privacy is a crucial issue everywhere the globe. In
majority of democratic countries, government is elective through the method of option.
the present system isn't terribly economical and reliable and additionally manual
approaches are needed for verification, that consumes longer. At present, ballot unit and
management are wanting to conduct the option. ballot unit is employed by the elector to
decide on the candidates whereas management unit is employed by the Polling officer to
permit the user for option But within the existing system, prohibited balloting is feasible
by the invalid elector, that is sensitive to security attack, which ends up that some folks
lose their right in choosing the govt.

In projected system is privacy protected authentication system within which information


of biometric identities is formed exploitation fingerprint templates.

1.1 Embedded System:


1.1.1 Introduction to Embedded systems:

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.

A system is a configuration where every component functions as a unit under a set of


rules. It can also be a method of functioning, setting up, or carrying out one or more tasks
in accordance with a predetermined schedule. A watch, for instance, is a device that
displays the time. Its parts display time by adhering to a set of regulations. Should any
component malfunction, the watch will cease to function. Thus, we can state that every
subcomponent of a system depends on every other component.

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.

So we can define an embedded system as a Microcontroller based, software driven, and


reliable, real-time control system.

1.1.2 Definition of embedded system:

Embedded system is defined as, for a particular/specific application implementing the


software code to interact directly with that particular hardware what we built. Software is
used for providing features and flexibility, hardware is used for performance. There are
many definitions of embedded system but all of these can be combined into a single
concept

.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:

 Embedded systems execute pre-programmed functions and they have a particular


set of requirements. They are programmed hardware devices that run on hardware
chips that are programmable
 Embedded systems perform a specific function or a set of specific functions unlike
a computer, which is used to carry out a wide number of functions.
 They are not always independent devices. Embedded systems form smaller parts
of a much larger device that carries out a specific task.
 The program scripted for an embedded system is called a firmware and is stored
on a read-only or flash memory.

1.1.4 Characteristics 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:

Embedded systems are used in different applications like automobiles,


telecommunications, smart cards, missiles, satellites, computer networking and digital
consumer electronics.

Embedded Systems in Automobiles and in telecommunications:

 Motor and cruise control system


 E-Com and Mobile access
 Robotics in assembly line
 Wireless Communication
 Mobile computing and networking

Embedded Systems in Smart Cards, Missiles and Satellites:

 Security systems
 Telephone and banking
 Defense and aerospace Communication

Embedded Systems in Peripherals & Computer Networking:

 Displays and Monitors


 Networking Systems
 Image Processing

Embedded Systems in Consumer Electronics:

 Digital Cameras
 Set top Boxes
 High Definition TV
 DVD’s

Categories of Embedded Systems:

Based on functionality and performance requirements, embedded systems can be


categorized as:

 Standalone embedded systems


 Real time systems

5
 Networked information appliances

Specialties of embedded systems:

As compared to desktop computers, workstations, or mainframes, embedded systems


have many specialties. Developers need to keep these specialties in mind while designing
embedded systems.

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

stringent environmental specifications have to be met by such systems. They ability to


work in extreme environmental conditions is known as ruggedness. Not only the military
equipment, have even the consumer applications such as the mobile phone needed to be
every rugged. Many people keep dropping their mobile phone on the floor, but it still
works because it is very rugged.

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.

Limited User Interface:

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.

Up gradation Software Capability:

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.

1.2 Recent trends in embedded systems:

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’.

1.2.1 Processor power:

The growing importance of embedded systems can be gauged by the availability of


processors. About 150 varieties of processors are available from ground 50
semiconductor vendors. Powerful 8-bit, 16-bit, 32-bit and 64-bit microcontrollers and
microprocessors are available to cater the different marketing segments.

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.

1.2.3 Operating system:

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.

1.2.4 Communication interfaces and network capability:

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.

1.2.5 Programming languages:

Development of embedded software was done mostly in assembly languages. However,


due to availability of cross compiler, most of the development is now done in high level
languages such as C. The OOPS like C++ and Java are now catching up.

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.

1.2.7 Programmable hardware:

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].

M. Adhiyaman; D. Ezhilmaran This technology uses electronic machines as ballots to cast


and count votes and exhibit the results at the end of an election. While many countries have
already succeeded in using the electronic voting machine as efficient and accurate tool to
implement E-voting system, still many developing and underdeveloped countries like Bangladesh
are deficient in modernizing the electoral process on a large scale due to a lack of confidence
regarding the secrecy of voters' identity and, assurance of EVM's integrity and accuracy among
the political parties. The driving factors for successfully implementing EVM in the electoral
process in countries like Bangladesh are providing acceptable and accessible usable features
among the citizens while preserving the voters' privacy and maintaining the security of the design
and implementation of the system in a cost-effective way. Electronic voting machines (EVMs)
should have a secured mechanism capable of withstanding any fraudulent behaviors. In the current
digital systems era, information theft or hacking becomes a threat to electronic voting systems
like other regular life interests [3].

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].

Vinayachandra, K Geetha Poornima,M Rajeshwari1,and K Krishna Prasad


However, the proposed system lacks any hardware implementation, and the secondary
authentication process might not be feasible for remote areas. Another paper claims high accuracy
and low-cost implementation of EVM with the fingerprint security to identify the registered voter
and match the database to ensure a single voter's denial of multiple votes. Checks the registered
voter's identity by matching the fingerprint with two separate local and central databases and
removes any unregistered voter from the database. Some literatures were found to use only the
internal memory o f the fingerprint sensor for the verification of voters without another match
with the national database system; therefore, scopes of fraudulent acts remain in these systems
and heavily limits the functionality of fingerprint sensor. Several of the proposed electronic voting
systems require the connection with a personal computer to match the entire database of voter
information. Some reported designs used a printer connected to the system to print ballot papers
to serve as a backup for eliminating any discrepancy in electronic vote counting, however, the
systems are complicated, bulky, and simultaneously using ballot paper makes them not entirely
ecofriendly [5].

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

In this we will study the details of architecture of embedded systems. In desktop


computers, the hardware platform is dominated by Inteland the software platform is
dominated by windows. But, for embedded system development, we have a wide
variety of processors and operating systems.

3.1 Hardware Architecture:

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.

Figure 3.1 Hardware architecture

Central Processing unit:

Central Processing Unit (CPU) consists of the following features CPU is considered as
the brain of the computer.

CPU performs all types of data processing operations.

 It stores data, intermediate results, and instructions (program).


 It controls the operation of all parts of the computer.
 It performs the basic arithmetical, logical operations of a computer system.

13
CPU itself has following three components.
 Memory or Storage Unit
 Control Unit
 ALU(Arithmetic Logic Unit)

Figure 3.2 Block diagram of CPU

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).

Its size affects speed, power, and capability.

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.

It stores intermediate results of 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.

Functions of this unit are :

It is responsible for controlling the transfer of data and instructions among other units of
a computer.

It manages and coordinates all the units of the 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.

It does not process or store data.

ALU (Arithmetic Logic Unit):

This unit consists of two subsections namely,

Arithmetic Section

Logic Section

Arithmetic Section:

Function of arithmetic section is to perform arithmetic operations like addition,


subtraction, multiplication, and division. All complex operations are done by making
repetitive use of the above operations. Allthe arithmetic circuits for an ALU of an 8051
microcontroller is implemented in asynchronous charge sharing logic.

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:

Function of logic section is to perform logic operations such as comparing, selecting,


matching, and merging of data.

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

Fig. 3.3: Interaction between CPU & Memory

Based on the number of memory and data buses used, there are two types of
architectures for processors these are

 Von Neumann Architecture


 Harvard Architecture

ADDRESS

DATA
CPU MEMORY(INSTRUCTION
&

Fig. 3.4: Von Neumann Architecture

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.

Fig 3.5: Harvard Architecture

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

CISC and RISC:

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.

Another common RISC trait is their load/store architecture,[2]in which memory is


accessed through specific instructions rather than as a part of most instructions.

Fig. 3.6: CISC Architecture

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.

Pipelining is one of the unique Feature of RISC.

It is performed by overlapping the execution of several instructions in a pipeline fashion.

It has a High performance advantage over CISC.

Both approaches try to increase the CPU performance

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

the data. Both approaches try to increase the CPU performance

The primary goal of the CISC Architecture is to increase hardware complexity by


allowing all loading, evaluating, and storing operations to be performed by a single
instruction, much like how a multiplication command may perform similar tasks for data
loading, evaluation, and storage.

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.

Types of Computer memory:

1. Primary Memory / Volatile Memory.

2. Secondary Memory / Non Volatile Memory.

20
Fig 3.8: Memory types

1. Primary Memory / Volatile Memory:

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

2. Secondary Memory / Non Volatile Memory:

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

Read Only Memory (ROM) :

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.

ADC and DAC:

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).

A common example is the processing, by a modem, of computer data into audio-


frequency (AF) tones that can be transmitted over a twisted pair telephone line. The circuit
that performs this function is a digital-to-analog converter (DAC).

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.

4.1.1 Our proposal:

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.

4.2 Block Diagram:

Here block diagram of Fingerprint based Electronic-Voting Machine is shown below


figure

24
Fig.4.1: Block Diagram

4.3 Working:

Fig.4.2: Fingerprint based Electronic-Voting machine

4.3.1 Explanation about Hardware parts:


The main components of this project is :-
1) Button Pannel’s

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.

Second Pannel contains 4 buttons. They are:-

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

Fingerprint Sensor Module:

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.

Arduino Uno Board:

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

Fig.5.1: Schematic Diagram

5.2 Arduino UNO:


5.2.1 Introduction:
Arduino is an opensource physical computing platform supported an easy I/O board and
a development environment that implements the processing language. Arduino uno is a
microcontroller board and totally it's 14 digital input and outputpins, out of which 6 are
often used for PWM outputs, 6 pins are analog inputs, 6pins are analog inputs, a USB
connection, a power jack, 16 MHz crystal oscillator. These are the description of Arduino
which is used in the proposed system.

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 Arduino IDE:

The Integrated Development environment (IDE) is a special program running on laptop


the pc that allows you to write sketches (a little computer program) forthe ARDUINO
board in an easy language, the sketch tells the board what to do.

5.2.2 Pin Diagram:

Fig5.2: Diagram of Arduino UNO board

5.2.3 Pin Description :

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

Table 5.1 :Technical specifications of Arduino UNO

5.3 Button Pannels:

5.3.1 Description:

Button panels in a fingerprint-based Electronic Voting Machine (EVM) project serve


as the interface for voters to select candidates or options. They consist of labelled buttons
arranged logically for easy navigation. Voters use these buttons to make their choices,
receiving feedback to confirm selections. The panels are durable, accessible, and
integrated with the EVM system for secure and efficient voting.

5.3.2 Features:

• Labeled Buttons

• Logical Arrangement:

• Feedback Mechanism

• Durability

• Accessibility Features

• Integration

• Security Measures.

32
• Scalability

• User-Friendly Interface

Fig 5.3 Button pannels

5.4 Fingerprint Sensor module:

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.

Fig 5.4: Fingerprint sensor

33
5.4.2 Features:

 Integrated image collecting and algorithm chip together.


 Low power consumption, low cost, small size, excellent
performance.
 Professional optical technology, precise module manufacturing
techniques.
 Good image processing capabilities, can capture up to
resolution 500 dpi(dots perinch).

5.4.3 Pin Diagram:

Fig:5. 5: Pin diagram of Fingerprint sensor module

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:

Supply voltage 3.6 – 6.0 VDC

Operating current 120mA max

Peak current 150mA max

Fingerprint imaging time <1.0 seconds

Signature file 256 bytes

Template file 512 bytes

Storage capacity 127 templates

Safety ratings (1-5 low to high safety)

Interface TTL Serial

Baud rate 9600,19200,28800,38400,5760


0
Working temperature rating -20C to +50C

Full dimensions 56 * 20 * 21.5 cm

Table:5.2 Technical Specification of Fingerprint sensor

35
5.5 LCD:

5.5.1 Description:

A liquid crystal display (LCD) is a flat-panel display or other electronically modulated


optical device that uses the light-modulating properties of liquid crystals. Liquid crystals
do not emit light directly ,instead using a backlight or reflector to produce images in color
or monochrome.

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).

5.5.3 Pin Diagram:

Fig56: LCD Pin Diagram

36
5.5.4 Pin Description:

Pin no Symbol Function


V
1 ss Power supply(GND)
Vd
2 d
Power supply(+5v)

3 Vo Contast Adjust

4 R Instruction/Data Register Select


S
5 R DataBusLine
/
W
6 E Enable Signal
7-14 DB0-DB7 Data BusLine

1 A Power supply for LED B/L(+)


5
1 K Power supply for LED B/L(-)
6

Table. 5.3: Pin Description of LCD.

37
CHAPTER 6
SOFTWARE IMPLEMENTATION

6.1 Introduction:

6.1.1 Arduino IDE:


The whole purpose of the "Arduino Platform" is to permit for simple and quick
prototyping. having the ability to simply attach a show and be ready todisplay messages
thereon in a very matter of minutes, rather than hours, simply surprisingly powerful and
convenient once you have a concept in yourhead and just need to visualize if it works.
When you want additional management and are literally thinking on changing your
epitome into a true product, then yes, you would like to urge at heart into the
microcontroller and obtain eliminate all the surplus fat, trim the circuit to simply the clean
bones,optimize the code and build them simply graspable etc. For prototyping, the
Arduino platform provides you loads of pre- wiring and free code libraries thatmay allow
you to consider testing your plan rather than payment some time building supporting
electronic equipment or writing plenty of low-level code.

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 Source code:

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.

6.2.1.1 Code for Enrollment:

#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

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); int admk=0;

int dmk=0; int pmk=0; int nota=0;

#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'};

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();

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);

Serial.println("Finger detect test");

finger.begin(57600);

if (finger.verifyPassword())

{ Serial.println("Found fingerprint sensor!");

} else

Serial.println("Did not find fingerprint sensor :("); while (1);

Serial.println("Waiting for valid finger...");} void loop()

getFingerprintIDez(); delay(50);

uint8_t getFingerprintID()

uint8_t p = finger.getImage(); switch (p) {

case FINGERPRINT_OK:

Serial.println("Image taken"); break;

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;

} // OK success! p=finger. image2Tz();

switch (p) {

case FINGERPRINT_OK:

Serial.println("Image converted");

break;

case FINGERPRINT_IMAGEMESS:

Serial.println("Image too messy");

return p;

case FINGERPRINT_PACKETRECIEVEERR

Serial.println("Communication error");

return p;

case FINGERPRINT_FEATUREFAIL:

Serial.println("Could not find fingerprint features");

return p;

42
case FINGERPRINT_INVALIDIMAGE:

Serial.println("Could not find fingerprint features");return p; default:

Serial.println("Unknown error");return p;

// OK converted!

p = finger.fingerFastSearch();

if (p == FINGERPRINT_OK) {

Serial.println("Found a print match!");

} else if (p == FINGERPRINT_PACKETRECIEVEERR) {

Serial.println("Communication error");

return p;

} else if (p == FINGERPRINT_NOTFOUND) {

Serial.println("Did not find a match");

return p;

} else {

Serial.println("Unknown error");

return p;

// found a match!

Serial.print("Found ID #");

Serial.print(finger.fingerID);

Serial.print(" with confidence of ");

43
Serial.println(finger.confidence);

// returns -1 if failed, otherwise returns ID #int getFingerprintIDez() { uint8_t p =


finger.getImage();

if (p != FINGERPRINT_OK) return -1;p= finger.image2Tz(); if (p !=


FINGERPRINT_OK) return -1;

p = finger.fingerFastSearch();

if (p != FINGERPRINT_OK) return -1;

// found a match!

Serial.print("Found ID #");

Serial.print(finger.fingerID);

loop_finger();

Serial.print(" with confidence of ");

Serial.println(finger.confidence);

return finger.fingerID;

void loop_finger()

// if(Serial.available()>0)

//{

//char rec = Serial.read();

// 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);

lcd.print(" Area Searching... ");

delay(100);

send_sms();

lcd.setCursor(0, 1);

delay(100);

lcd.print(" Finded success ");

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.print("Entered OTP: ");

//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);

lcd.print(" Ready to vote ");

delay(2500);

47
j=10; // otp matched ready to vote

else

{ j++;

if(j>=3)

digitalWrite(BUZZ,1);

lcd.clear();

delay(100);

lcd.print("Maximum try out");

delay(100);

lcd.setCursor(0, 1);

delay(100);

lcd.print(" Access denied ");

delay(5000);

digitalWrite(BUZZ,0);

else

lcd.clear();

delay(100);

lcd.print("OTP not matched");

delay(100);

lcd.setCursor(0, 1);

48
delay(100);

lcd.print(" Try again ");

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();

if(vote=='1' || vote=='2' || vote=='3' || vote=='4')

tot_vote++;

lcd.clear();

delay(100);

lcd.print(" Thanks for vote ");

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);

}*/ lcd.setCursor(0, 1);

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);

void send_sms(void) // otp

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);

Serial.println("Your OTP: ");

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);

Serial.println("Thank you for vote.");

delay(1500);

Serial.println((char)26);

delay(2000);

char getkey()

int a=0;

int b,c,d,e;char ret;

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.

6.2.3.1 Code for Verification and Identification:

#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);

/rx tx Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

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);

Serial.println("Finger detect test");

57
finger.begin(57600);

if (finger.verifyPassword()) { Serial.println("Found fingerprint sensor!");

} else {

Serial.println("Did not find fingerprint sensor :(");

while (1);

Serial.println("Waiting for valid finger...");

void loop()

getFingerprintIDez();

delay(50);

uint8_t getFingerprintID() { uint8_t p = finger.getImage();

switch (p) {

case FINGERPRINT_OK:

Serial.println("Image taken");

break;

case FINGERPRINT_NOFINGER:

Serial.println("No finger detected");

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:

Serial.println("Image too messy");

return p;

case FINGERPRINT_PACKETRECIEVEERR:

Serial.println("Communication error");

return p;

case FINGERPRINT_FEATUREFAIL:

Serial.println("Could not find fingerprint features");

return p;

case FINGERPRINT_INVALIDIMAGE:

Serial.println("Could not find fingerprint features");

59
return p;

default:

Serial.println("Unknown error");

return p;

// OK converted!

p = finger.fingerFastSearch();

if (p == FINGERPRINT_OK) {

Serial.println("Found a print match!");

} else if (p == FINGERPRINT_PACKETRECIEVEERR) {

Serial.println("Communication error");

return p;

} else if (p == FINGERPRINT_NOTFOUND) {

Serial.println("Did not find a match");

return p;

else {

Serial.println("Unknown error");

return p; }

// found a match!

Serial.print("Found ID #");

Serial.print(finger.fingerID);

Serial.print(" with confidence of ");

Serial.println(finger.confidence);

60
}

// returns -1 if failed, otherwise returns ID #int getFingerprintIDez() { uint8_t p =


finger.getImage();

if (p != FINGERPRINT_OK) return -1;

p = finger.image2Tz();

if (p != FINGERPRINT_OK) return -1;

p = finger.fingerFastSearch();

if (p != FINGERPRINT_OK) return -1;

// found a match! Serial.print("Found ID #");

Serial.print(finger.fingerID);

loop_finger();

Serial.print(" with confidence of ");

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);

lcd.print(" Finded success ");

delay(3000);

enter_otp();

//}

void enter_otp()

{ j=0;

while(j<3)

lcd.clear();

delay(100);

lcd.print("Finding Parties ");

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.print("Entered OTP: ");

//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);

lcd.print(" Ready to vote ");

delay(2500);

j=10;

// otp matched ready to vote

else

{ j++;

if(j>=3)

64
{

digitalWrite(BUZZ,1); l

cd.clear();

delay(100);

lcd.print("Maximum try out");

delay(100);

lcd.setCursor(0, 1);

delay(100);

lcd.print(" Access denied ");

delay(5000);

digitalWrite(BUZZ,0);

else

lcd.clear();

delay(100);

lcd.print("OTP not matched");

delay(100);

lcd.setCursor(0, 1);

delay(100);

lcd.print(" Try again ");

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);

vote = getkey(); lcd.clear();

if(vote=='1' || vote=='2' || vote=='3' || vote=='4')

tot_vote++;

lcd.clear();

66
delay(100);

lcd.print(" Thanks for vote ");

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);

lcd.print("Vote for nation");

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);

Serial.println("Your OTP: ");

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);

Serial.println("Thank you for vote.");

delay(1500);

Serial.println((char)26);

delay(2000);

char getkey()

int a=0; int b,c,d,e;char ret;

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.

Fig 7.1 Hardware Kit

When finger is placed on fingerprint module throughout the method of


Identificationand verification, then serial monitor shows the name of example that is
matched with placed finger and additionally provides the arrogance level supported
trivialities points matched. If user has not voted, then only vote is allowed to the user
otherwise not permissible for ballot. when the method of verification, ballot is to be
done and also the liquid crystal display is employed to point out that the vote given by
the user goes to thatcandidate when pressing the vote button (IR sensor).

72
7.2 Enrollment and Identification:

Fig 7.2 Enrollment results

7.2.1 Matching with the data base:


The eligibility of an elector to vote is proscribed to just one time for one balloting session,
because the system is meant to deny balloting by aborting access to vote for constant
finger image over once. The portion of the code that checks the standing of elector either
has already voted or not is outlined within the void loop. The standing is monitored by
flag register, once the vote is casted the flag is assigned to zero whole number, therefore
if constant user tries to vote for secondtime the flag value is evaluatedbefore authorizing
vote access to vote, and if flag has worth one, the procedure is aborted. Thus, the
authenticity of the system is maintained.

7.2.2 Verification Results:

Fig 7.3 Welcome LCD Fig7.4 Match Key

73
Fig 7.5 Place Finger

Fig 7.6 Please vote

62

Fig 7.7 Authorized Voter

74
7.3 Results

The result of a fingerprint-based Electronic-Voting Machine is a trustworthy and easy-to


use system for voting. It ensures that only eligible voters can cast their votes by checking
their fingerprints. This makes thevoting process secure and prevents any cheating. The
machine is designed to be simple for everyone to understand and use. It works smoothly
and gives quick updates on the voting results. With this system, people can trust that their
votes are counted accurately, promoting fairness in elections. It aims to ensure accurate
voter authentication, protect against fraud and tampering, and inspire public confidence
in the electoral process.

Advantages:

 Enhanced Security: Fingerprint authentication ensures that only eligible voters


can cast their votes, reducing the risk of fraud or impersonation.
 Accuracy and Integrity: The system provides accurate and reliable voting
results, enhancing the integrity of the electoral process.
 Prevention of Duplicate Voting: Fingerprint authentication prevents voters from
casting multiple votes, ensuring fairness and transparency in elections.
 Efficiency: Fingerprint authentication speeds up the voting process, reducing
waiting times and improving overall efficiency.
 Transparency: The system promotes transparency and accountability by
providing verifiable voting records and audit trails.
 Public Confidence: By ensuring fairness, accuracy, and security, the project
helps build trust and confidence among voters and stakeholders.
 Scalability and Adaptability: The system can be scaled and adapted to
accommodate different voting scenarios and technological advancements.
 Reduced Costs: Over time, implementing EVMs can lead to cost savings
compared to traditional paper-based voting methods.
 Modernization: Adopting fingerprint-based EVMs demonstrates a commitment to
modernizing the electoral process and embracing technology to improve
democracy.

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:

EVMs bring transparency and efficiency to corporate decision-making processes,


particularly in shareholder meetings and board elections. They enable shareholders to
cast their votes securely and remotely, ensuring widespread participation and
representation.

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.

[4] Rahil rezwa,Huzaifa ahmed, M.R.N.Biplob, S.M.shuvo, MD.Abdur Rahman,”


Biometrically secured electronic voting machine(2017)”,IEEE
Region, vol.4,no.5,pp.21-23.

[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.

[6] Vinayachandra, K Geetha Poornima,M Rajeshwari1,and K Krishna Prasad, “Arduino


Based Authenticated Voting Machine(AVM) using RFID and Fingerprint for the Student
Elections”, Journal of physics, vol 5, no-3, pp.12-16.

[7] A. Tirupathi Rao; N. Pattabhi Ramaiah; V. Raghavendra Reddy; C. Krishna


Mohan,“Nearest Neighbor Minutia Quadruplets Based Fingerprint Matching with
Reduced Time and Space Complexity” IEEE 14th International Conference on Machine
Learning and Applications (ICMLA), 9-11 Dec. 2015.

[8] Dibya Dahal ,“Electronic Fingerprint Voting System”, Metropolia applieduniversity,


vol.6,no.7, pp.289-445

[9] Bhuvanapriya.R, Rozil banu.S, Sivapriya.P, Kalaiselvi.V.K.G,“Smart


voting”,IEEE,vol.10,no.9,pp.143-159.

[10] Scott Wolchok,Eric Wustrow,“Security Analysis of India’s

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.

[12] M. Adhiyaman; D. Ezhilmaran, "Fingerprint matching and similarity


checkingsystem using minutiae based technique”, IEEE International Conference on
Engineering and Technology (ICETECH), 20-20 March 2015.

80

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy