FBEVMFIN
FBEVMFIN
BACHELOR OF TECHNOLOGY
In
ELECTRONICS AND COMMUNICATION ENGINEERING
Submitted by
CH. ANOK RAJU - 216M1A0412
K. SOMAJEEVAN - 216M1A0448
M. DEEPIKA - 216M1A0463
K. KRISHNA CHAITANYA - 216M1A0444
CERTIFICATE
This is to certify that the Project work entitled “FINGERPRINT BASED ELECTRONIC VOTING
MACHINE USING IOT” is a Bonafide record work carried out by CH. ANOKRAJU (216M1A0412),
(216M1A0444), under the guidance and supervision of partial fulfilment of the requirements for the
EXTERNAL EXAMINER
DEPARTEMENT OF ELECTRONICS AND COMMUNICATION
ENGINEERING
DEPARTMENT VISION
To become a renowned center for learning technological trends in Electronics and communication
Engineering.
DEPARTMENT MISSION
M1-Technical Knowledge: To impart the latest technical knowledge to the students enabling them
to face the ever-changing demands of the present-day world.
M2-Innovation and Inquisitiveness: To inculcate and encourage the spirit of innovation and
inquisitiveness among students.
M3-Ethics: To nurture and promote ethical values in students
PSO1: Provide sustainable solutions in the field of Communication and Signal Processing.
PSO2: Apply current technologies in the field of VLSI and embedded systems for professional
growth.
PEO1: Graduates shall demonstrate successful professional careers with strong fundamental
Knowledge in mathematics science and engineering to meet the real-time Requirements of the
industry.
PEO2: Graduates shall learn continuously with a focus on advanced emerging trends in the field
of ECE and allied branches to meet societal needs.
PEO3: Graduates will demonstrate traits like team work, communication skills, and ethical and
professional attitude for life - long learning.
PEO4: Graduates will interact with their peers in other disciplines in industry and society
and contribute to the country’s economic growth.
HEAD OF DEPARTEMENT
DEPARTEMENT OF ELECTRONICS AND
COMMUNICATION ENGINEERING
PALACHARLA, in partial fulfilment of the requirement for the award of the degree of bachelor of
Technology in a Bonafide record of my own work carried out under the supervision of Mr. Y.
Also, I declare that the matter embodied in this project work has not been submitted for the award of any
We also express my deep gratitude for the wonderful guidance and support given by
We also express my sincere thanks to both teaching and non- teaching staff of ELECTRONICS
AND COMMUNICATION ENGINEERING, department for their kind cooperation and all sorts
of help in bringing out this project work successfully
In this proposed system, we have designed a power efficient IoT based Electronic Voting Machine using
Finger Print Module. This system is designed using an Arduino UNO, LCD Module, Solar Panel, Finger
Print module as major key components. User has to register his / her in Finger print module. A unique key
will be generated on every user registration. To start Voting process, admin has to press Start switch on
Voting machine system. Now each candidate has to scan their fingers on fingerprint module and press the
candidate switch for voting. After successful registration of votes, a thank you message will displayed on
LCD Module and buzzer sound will be produced. If unregistered person will try to enter vote than an
Error sound will be produced. GSM Modem is added in this to send SMS to Electro officer after Admin
Scan fingers
12V Transformer based power supply is used power this entire system. 7805 voltage regulator is used to
regulate 12V to +5V that will be needed for microcontroller and 7812 Voltage Regulator is used to
regulate 12V dc output, i.e. used to also to charge 12V battery. Filter Capacitor are used to remove ripple
and give a stabilize DC output.
CONTENTS
CHAPTER 1- INTRODUCTION...................................................................1-6
1.1 BACKGROUND OF STUDY……………………………… 2
1.2 ELECTRONIC-VOTING SYSTEM OVERVIEW…………… 2
1.3 PROBLEM STATEMENT……………………………….… 3
1.4 AIM AND OBJECTIVES…………………………………. 3
1.5 SIGNIFICANCE OF THE PROJECT………………………. 4
1.6 SCOPE/LIMITATIONS OF THE WORK…………………… 4
1.7 PROJECT OUTLINE........................................................................5-6
3.5 GSM..................................................................................................16-17
4.5 TOOLS…………………..………………………………. 23
4.6 SKETCHBOOK………………………………………………… 24
4.7 TABS, MULTIPLE FILES, AND COMPILATION……………. 24
4.8 UPLOADING………………………………….………………… 24
4.9 LIBRARIES……………………………….………….…………. 25
4.10 LANGUAGE SUPPORT ………………………………….…… 25
4.11 BOARDS………………………………….………….………… 26
4.12 THE COMPILATION PROCESS……………………………… 26
4.13 CODE................................................................................................27-39
REFERNENCES……………………………………………………….. 56
LIST OF FIGURES
CHAPTER 1
INTRODUCTION
1
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
CHAPTER 1
INTRODUCTION
Decisions must be taken between multiple choices in every democratic setting with people with varying
and inconsistent opinions. This occurs in the corporate world, the educational world, social organisations,
and, most notably, in government. Voting is one of the methods for making such a decision. Voting is a
formal mechanism for individuals to show their support or opposition to a motion. This method is often
used in the governance field of many organisations to appoint or nominate a chief. Elections are one of the
most important fields where voting is used. The formal process of nominating a candidate for public office
or endorsing or refusing a political proposal is known as an election.
E-voting (Electronic Voting) as a term encompasses a broad range of voting systems that apply electronic
elements in one or more steps of the electoral cycle. In a broad sense, e-voting can take many forms,
including e-collection, e-verification, internet voting, remote online voting, and so on. A voting system is
any system that can provide both electronic and online voting, according to the concept of a system as
something that takes an input and produces an output. E-registration, verification, e-collation, remote
online voting, and real-time result display may all be included. For an E-voting system (EVS) to work
properly, it must have the following components. An interactive voting user interface on an electronic
device which provides a friendly environment for voters to authenticate and cast their votes, it also serves
as a means of collection the individual votes and storing them in the local and central database.
Anadministrativedashboardforvotersregistration,detailsupdateandelectionscoordination and monitoring. A
database management system for the storage of election, voting and voters data. A result display
interface. E-voting systems reduce overall election costs and increase voter participation by providing
voters with a simple and convenient way to vote. Most importantly, they address the issue of voters
travelling long distances to a specific location for their votes to be counted, as well as ballot box
snatching, which is common in the United States.
2
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
The election process has seen significant technological advancements, especially in the areas of result
collation and transmission. Owing to a lack of legislative basis, the Independent National Electoral
Commission INEC has not completely incorporated the use of technology for collation. However, ICT is
used in most elections around the world to some extent, at least to summarise and aggregate votes. This
electronic adaptation is the culmination of a long period of evolution during which not only the processes
for casting votes, but also the technical means for doing so, have evolved significantly.
Aim
The aim of this project is to develop and implement a low-cost, real-time automated electronic voting
system.
Objectives
2. Design and develop election voting system that verifies the identity of the voters by their
biometric data.
3. Design and develop an electronic device that incorporates fingerprints technology for voter’s
accreditation, authentication and verification.
4. Design and develop an administration dashboard for the election administrators.
5. Run simulations and compare the results of the designed e-voting system.
3
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
The project's benefits are itemised as follows, in light of the rapid growth of computer technology in
practically all fields of activity and its application in relation to knowledge management:
To the University
1. It will provide a means conduct a less stressful and fair elections at different levels (faculty,
departments, school wide etc.) in the university.
2. It will offer an in-depth knowledge of the practical approach to Coeducation.
To the Society
1. It will provide INEC (Independent National Electoral Commission) with a means to conduct
less costly and fair elections.
2. The secure and flexible system safeguards data and information to account for credible elections.
3. It will serve to reduce the workload in the process of conducting election.
5. It will enable INEC reduce the time wasted in collating and announcing election result.
7. It will serve to eliminate invalid votes, curb election violence as votes is counted immediately as
they are cast.
4
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
This project's main goal is to encourage the Independent National Electoral Commission to use electronic
devices to collect voter information and allow voters to cast votes more easily and comfortably, resulting
in a more reliable, successful, and cost-effective election. The dynamic nature of the elections application
interface and database structure allows for different organizations set up and conduct basic elections too.
Its online interface enables real-time election monitoring and result collation. Some of its major
limitations are:
1. It requires network access: Since the collection and sending of votes to the database requires an
internet access which may not be readily available in some urban area would seem a limiting
factor, though the local database and the printed vote can be used for counting until network is
restored.
2. Setting up an e-voting system is expensive: Due to the fragile nature of such a system and the
fact that its major components are currently not available locally, it will be very costly to set up,
but its usage and maintenance costs are much lower than the current ballot paper system.
3. It depends on electricity to a point: In as much as it has an in-built battery that can last for the
required election duration on daily basis, a case of low battery would require it to recharge,
which may not be possible if there is no electric power at the moment.
This project work on e-voting system is made up of five chapters: introduction, literature review,
methodology and system design, systems implementation and result analysis, conclusion and
recommendation.
In the chapter one of this project, the introduction which briefly explains voting and elections in general, is
seen. It goes on to clarify the context of an e-voting system, as well as the system's goal and goals, as well
as its meaning, scope, and constraints.
5
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
The second chapter dealt with a study of previous literature and the technologies used in e-voting systems.
We also looked at the various approaches to e-voting systems, their application, critique, and literature
reviews, as well as the various gaps in the current literature.
The block diagram of the project work, the various methodologies used in development stages, and the
different phases of the project work, which include analysis, design, microcomputer programming,
display programming, testing, and fabrication, are all shown in chapter three. We extensively cover the
requirements of the project, the mathematical models used designs and software incorporated in the work.
In chapter four, we talk about the measures taken and methods used in the project's actual implementation
We can see checks being run to ensure that the project is running smoothly, as well as the results and their
importance. We can also see the challenges that have been faced, as well as the methods and solutions that
have been used to solve them or not.
6
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
CHAPTER 2
LITERATURE REVIEW
7
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
CHAPTER 2
LITERATURE REVIEW
Jain, A., Hong, L., & Pan Kanti, S. 1(2000)– "Biometric Identification and Security in Electronic
Systems"Summary:Jain et al. (2000) explored biometric authentication techniques and their significance in
modern electronic systems. The study emphasized how fingerprint recognition enhances security and
eliminates fraudulent activities in sensitive applications like electronic voting. The authors demonstrated
the uniqueness and reliability of fingerprints compared to traditional authentication methods, such as
passwords and PINs. Their findings support the idea that biometric-based voting systems can provide a
secure and tamper-proof electoral process. The study also addressed the challenges of fingerprint
recognition, including environmental factors and sensor quality.Relevance:This research laid the
foundation for fingerprint-based voting systems, highlighting the advantages of biometric authentication in
ensuring election security.
2
Maltoni, D., Maio, D., Jain, A. K., & Prabhakar, S. (2003) – "Handbook of Fingerprint
Recognition"Summary:This comprehensive study provided insights into various fingerprint recognition
techniques, including image acquisition, feature extraction, and pattern matching. The authors analysed the
accuracy of fingerprint sensors and algorithms, emphasizing the importance of real-time processing for
authentication applications. The study also discussed different fingerprint databases used for evaluating
system performance.Relevance:The findings are crucial for implementing a robust fingerprint-based voting
system that can quickly and accurately authenticate voters, ensuring a seamless electoral process.
3
Kumar, R., & Sharma, R. (2015) – "Biometric-Based Electronic Voting System Using
IoT"Summary:Kumar and Sharma proposed an IoT-enabled electronic voting system that integrates
fingerprint authentication. Their work focused on cloud-based vote storage, ensuring real-time data
transmission and security. They implemented a prototype using an Arduino microcontroller, fingerprint
sensor, and IoT cloud services to demonstrate the effectiveness of biometric authentication in reducing
electoral fraud.Relevance:This study is essential for understanding how IoT enhances security and
transparency in electronic voting by enabling remote data verification and secure vote counting.
8
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
Patil, P., Deshmukh, A., & Kulkarni, S. 4(2016) – "IoT-Based Secure Electronic Voting System Using
Fingerprint Authentication"Summary:Patil et al. developed an electronic voting system that uses fingerprint
authentication and IoT for secure communication. Their system ensures that only registered voters can cast
their votes, preventing duplicate and unauthorized voting. The research also covered data encryption
techniques to protect vote integrity and avoid hacking attempts.Relevance:Their findings contribute to the
development of highly secure and efficient electronic voting machines, enhancing voter confidence in the
electoral process.
5
Nithya, S., & Kumar, M. (2017) – "Security Challenges in Biometric-Based Voting
Systems"Summary:This research analyzed the potential security threats in biometric voting systems and
how IoT integration can mitigate them. The authors identified risks such as fingerprint spoofing,
unauthorized access, and data breaches. They proposed using advanced encryption and multi-factor
authentication (MFA) to enhance security.Relevance:The study provides insights into strengthening
fingerprint-based voting systems against cyber threats, ensuring a trustworthy election process.
6
Reddy, P. N., & Kumar, A. (2018) – "Efficiency of Biometric Electronic Voting
Machines"Summary:Reddy and Kumar compared fingerprint-based voting systems with traditional
electronic voting machines (EVMs). Their study showed that biometric authentication reduces human
errors and prevents multiple voting. They conducted experiments to analyze voter verification time,
demonstrating that fingerprint authentication is both fast and reliable.Relevance:Their research proves that
biometric voting systems offer higher accuracy and security compared to conventional voting methods.
7
Sharma, V., & Gupta, R. (2019) – "Secure Voting Systems Using Biometric
Authentication"Summary:This study focused on the implementation of fingerprint-based voting systems
with real-time IoT communication. The authors integrated a database that updates voter records instantly,
preventing double voting. Their system also allows remote monitoring of election results, improving
transparency.Relevance:Their work is valuable for designing scalable and secure fingerprint-based
electronic voting machines that prevent voter impersonation.
8
Bharadwaj, S., & Singh, R. (2020) – "Blockchain and IoT in Biometric Voting
Systems"Summary:Bharadwaj and Singh proposed integrating blockchain with fingerprint-based voting
systems to enhance data security. They discussed how blockchain technology can store immutable voting
records, preventing any manipulation or fraud. Their research also highlighted the role of IoT in real-time
9
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
vote verification.Relevance:Their findings suggest that blockchain and IoT can revolutionize biometric-
based electronic voting by ensuring transparency and data integrity.
9
Rajput, M., & Verma, K. (2021) – "Multi-Layer Security Approach for IoT-Enabled Electronic
Voting"Summary:This study proposed a multi-layer security system that combines fingerprint authentication,
OTP verification, and cloud-based vote tallying. The authors designed a voting prototype that uses real-
time monitoring to detect and prevent suspicious activities.Relevance:Their research highlights the
importance of multi-factor authentication in biometric-based voting systems, ensuring only legitimate users
can participate in elections.
10
Khan, A., & Alam, S. (2022) – "Smart Voting System Using IoT and Biometric
Authentication"Summary:Khan and Alam developed an advanced voting system that utilizes IoT and
fingerprint authentication for a seamless election process. Their system provides real-time election
monitoring, secure cloud storage, and instant result generation. They emphasized how IoT connectivity
allows election commissions to access live voting data securely.Relevance:Their work contributes to the
future of biometric-based voting systems, ensuring efficiency, scalability, and security for large-scale
elections.
11
Zakiah Mohd Yusoff &Yusradini Yusnoor (2023) – “ Fingerprint Biometric Voting Machine Using
Internet of Things” Summary: This study proposes a fingerprint biometric voting system integrated with
IoT to enhance election security and efficiency. Utilizing the Arduino Uno microcontroller and a
fingerprint sensor, the system authenticates voters and stores results in the cloud, ensuring only registered
voters can cast ballots and providing real-time fraud alerts.
12
Surabhi K.R. & Suneha S. (2024) – “Electronic Voting Machine Using Fingerprint” Summary: This
paper explores the integration of fingerprint recognition technology into electronic voting machines to
enhance voter authentication and electoral integrity. The proposed system features real-time fingerprint
matching, encrypted data storage, and a user-friendly interface to streamline the voting process
10
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
CHAPTER 3
HARDWARE
SPECIFICATIONS
11
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
CHAPTER 3
HARDWARE SPECIFICATIONS
The power supply section is the section which provide +5V for the components to work. IC LM7805 is
used for providing a constant power of +5V.
The ac voltage, typically 220V, is connected to a transformer, which steps down that ac voltage down to
the level of the desired dc output. A diode rectifier then provides a full-wave rectified voltage that is
initially filtered by a simple capacitor filter to produce a dc voltage. This resulting dc voltage usually has
some ripple or ac voltage variation.
A regulator circuit removes the ripples and also retains the same dc value even if the input dc voltage
varies, or the load connected to the output dc voltage changes. This voltage regulation is usually obtained
using one of the popular voltage regulator IC units.
3.2 MICROCONTROLLER
A Microcontroller (or MCU) is a computer-on-a-chip used to control electronicdevices. It is a type
of microprocessor emphasizing self-sufficiency and cost-effectiveness, in contrast to a general-purpose
microprocessor (the kind used in a PC). A typical microcontroller contains all the memory and interfaces
needed for a simple application, whereas a general purpose microprocessor requires additional chips to
provide these functions.
central processing unit - ranging from small and simple 8-bit processors to sophisticated 32- or 64-bit
processors
12
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
clock generator - often an oscillator for a quartz timing crystal, resonator or RC circuit
Microcontrollers are inside many kinds of electronic equipment (see embedded system). They are the vast
majority of all processor chips sold. Over 50% are "simple" controllers, and another 20% are more
specialized digital signal processors (DSPs) (ref?). A typical home in a developed country is likely to have
only one or two general-purpose microprocessors but somewhere between one and two dozen
microcontrollers. A typical mid range vehicle has as many as 50 or more microcontrollers. They can also
be found in almost any electricaldevice: washing machines, microwave ovens, telephones etc.
13
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
ESP32 is a powerful and versatile microcontroller developed by Esp res if Systems, widely used in IoT,
embedded systems, and automation applications. As the successor to the ESP8266, it offers enhanced
performance, connectivity, and power efficiency. It features a dual-core or single-core Ten silica Xtensa
LX6 processor with a clock speed of up to 240 MHz, 520 KB of SRAM, and support for up to 16 MB of
flash memory. ESP32 also provides wireless connectivity through Wi-Fi (802.11 b/g/n) and Bluetooth 4.2,
including both Classic and BLE. It includes 34 programmable GPIOs and supports multiple
communication protocols like SPI, I2C, UART, ADC, DAC, PWM, and CAN. Additionally, it is designed
for ultra-low power consumption, featuring multiple sleep modes for energy-efficient applications.
The architecture of ESP32 is based on the dual-core Ten silica Xtensa LX6, integrating rich peripherals,
wireless communication modules, and robust security features, making it suitable for real-time
applications. It supports multitasking with Free RTOS, ensuring efficient concurrent execution of tasks.
Security is a priority, with features like Secure Boot, Flash Encryption, and Cryptographic Accelerators. Its
energy- efficient deep sleep modes, consuming as low as 10 µA, make it an ideal choice for battery-
powered applications. These attributes enable ESP32 to be utilized in various fields, such as IoT solutions,
wearable health monitoring devices, robotics, AI-driven systems, smart agriculture, and embedded systems,
including home automation, security, and industrial control systems.
Programming the ESP32 is flexible and can be done using various platforms, including the Arduino IDE,
which is beginner-friendly, and the official Espressif IoT Development Framework (ESP-IDF) for more
professional development. MicroPython allows programming with Python, making it accessible to a wider
audience, while PlatformIO provides an alternative development environment. The advantages of ESP32
include its affordability compared to similar microcontrollers, extensive connectivity options, open-source
support with an active community, and high-performance dual-core processing capabilities.
In conclusion, ESP32 is a cost-effective, flexible, and powerful microcontroller that suits a broad range of
applications, from simple DIY projects to advanced industrial solutions. Its extensive connectivity features,
power efficiency, and robust architecture make it a preferred choice for IoT and embedded system
developers worldwide.
14
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
The fingerprint voting system is also a model for image Embedded system. It integrates hard-ware
specifically fingerprint detector (DY50), liquid crystal display for the display, switches, push but-tons for
the triple-crown implementation of assorted inputs and outputs 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. It uses TTL serial and would possibly hook up
with a microcontroller to send data, observe prints, hash and search. The module has nonvolatile storage of
its own and may store 162 fingerprints in it.
The major hardware used in this method includes of fingerprint device as shown in figure three, conjointly
called biometric authentication module. This device produces a digital print of the ridges within the skin of
the fingers that might be unambiguously outlined for authentication.
15
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
3.5 GSM
GSM is abbreviated as Global System for Mobile Communication10. GSM modem has a slot for inserting
SIM (Subscriber Identity Module). GSM network contains Mobile Station, Base station subsystem and
Network subsystem. Mobile station contains IMEI number and SIM has IMSI number. Base station
subsystem contains Base Transceiver Station which has antennas for communication and Base Station
Controller which controls multiple base stations. Network subsystem contains VLR (Visitor Location
Register), HLR (Home Location Register), AuC (Authentication Center) and EIR (Equipment Identity
Register). MSC (Mobile Switching Center) is the major part which is the gate way for communication
between mobile station and PSTN. HLR stores the information about the subscriber and the current
location of subscriber. VLR provides the services to the subscribers of HLR who are visitor users. AUC
gives the security of the user and to identify the location of the subscriber. EIR is also for security purpose
and to
identify the mobile station. MAX232 is connected to GSM modem so that it is useful for serial data
transmission. OSS (Operation Support System) is used to control the traffic of users.
LCD: LCD is a liquid crystal display9 and there are 14-pin and 16-pin displays. Among them 16-pin
display is used which has additional features than 14-pin like background color transition
and more than 80 characters are displayed. RS pin resets the display after some delay, 4 data lines are
connected to MCU. Software: Initially after switch on the hardware circuit we
designed, program variables are initialized, LCD is initialized9 by using cmd_lcd( ) and GSM modem is
initialized using (AT+CMGF) command. On the LCD we get the message as CHECK HB/Temp”. After
pressing the Reset Switch the Heart beat and Temperature calculation takes place. Heart beat sensor gets
the beats count for 10sec and converts it beats per minute value (bpm) by using the formula mentioned
below Count = 6 * Count/ / it is a heartbeat in bpm
In order to get the accurate value of heart beat, we’ve measured three readings and displaying the average
value of three readings on the LCD.
Finally the measured readings of Heartbeat and Temperature are sent to the concerned medical expert by
using AT+CMGS command10 After sending sm Test and Result Heart rate sensor and LM35 sensor senses
the heart rate and temperature of person by taking the average of ten readings by fixing maximum and
minimum values (normal range of heart beat is 60-100bpm and 98.6oF) and the data is transferred to
16
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
MCU. Crystal oscillator generates 11.0952MHz of signals used for operation and by enable input MUC
works, stores the data in EPROM chip which is displayed on LCD. MCU stores the
digital data after converting the analog data from sensor unit through ADC, for some delay unit of time and
resets the reading in MCU as well as in LCD also. MAX232 receives the digital
data and converts into serial form suitable for GSM communication so that data is received by the user
(doctor) by verifying the IMEI number. The doctor advises precautions for the temporary observation of
the patient from serious condition.
17
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
CHAPTER 4
SOFTWARE SPECIFICATION
AND IMPLEMENTATION
18
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
CHAPTER 4
SOFTWARE SPECIFICATION
The Arduino Integrated Development Environment - or Arduino Software (IDE) - contains a text
editor for writing code, a message area, a text console, a toolbar with buttons for common functions
and a series of menus. It connects to the Arduino and Genuino hardware to upload programs and
communicate with them.
Programs written using Arduino Software (IDE) are called sketches. These sketches are written in the
text editor and are saved with the file extension .ino. The editor has features for cutting/pasting and for
searching/replacing text. The message area gives feedback while saving and exporting and also
displays errors. The console displays text output by the Arduino Software (IDE), including complete
error messages and other information. The bottom righthand corner of the window displays the
configured board and serial port. The toolbar buttons allow you to verify and upload programs, create,
open, and save sketches, and open the serial monitor.
NB: Versions of the Arduino Software (IDE) prior to 1.0 saved sketches with the extension .pde. It is
possible to open these files with version 1.0, you will be prompted to save the sketch with the .ino
extension on save.
Verify
Checks your code for errors compiling it.
Upload
Compiles your code and uploads it to the configured board. See uploading below for details.
Note: If you are using an external programmer with your board, you can hold down the "shift"
key on your computer when using this icon. The text will change to "Upload using Programmer"
19
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
Open Presents a menu of all the sketches in your sketchbook. Clicking one will open it within the
current window overwriting its content.
Note: due to a bug in Java, this menu doesn't scroll; if you need to open a sketch late in the list,
use the File | Sketchbookmenu instead.
Additional commands are found within the five menus: File, Edit, Sketch, Tools, Help. The menus are
context sensitive, which means only those items relevant to the work currently being carried out are
available.
4.2 File
New Creates a new instance of the editor, with the bare minimum structure of a sketch already
in place.
Open Allows to load a sketch file browsing through the computer drives and folders.
Open Recent Provides a short list of the most recent sketches, ready to be opened.
Sketchbook Shows the current sketches within the sketchbook folder structure; clicking on any
name opens the corresponding sketch in a new editor instance.
Examples Any example provided by the Arduino Software (IDE) or library shows up in this
menu item. All the examples are structured in a tree that allows easy access by topic or library.
Close Closes the instance of the Arduino Software from which it is clicked.
Save Saves the sketch with the current name. If the file hasn't been named before, a name will
be provided in a "Save as.." window.
Saveas... Allows to save the current sketch with a different name.
PageSetup It shows the Page Setup window for printing.
Print
Sends the current sketch to the printer according to the settings defined in Page Setup.
20
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
Preferences
Opens the Preferences window where some settings of the IDE may be customized, as the
language of the IDE interface.
Quit
Closes all IDE windows. The same sketches open when Quit was chosen will be automatically
reopened the next time you start the IDE.
4.3 EDIT
Undo/Redo
Goes back of one or more steps you did while editing; when you go back, you may go forward
with Redo.
Cut
Removes the selected text from the editor and places it into the clipboard.
Copy
Duplicates the selected text in the editor and places it into the clipboard.
Copy for Forum Copies the code of your sketch to the clipboard in a form suitable for posting
to the forum, complete with syntax colouring.
Copy as HTML Copies the code of your sketch to the clipboard as HTML, suitable for
embedding in web pages.
Paste
Puts the contents of the clipboard at the cursor position, in the editor.
Select All Selects and highlights the whole content of the editor.
Comment/Uncomment
Puts or removes the // comment marker at the beginning of each selected line.
Increase/Decrease Indent :Adds or subtracts a space at the beginning of each selected line,
moving the text one space on the right or eliminating a space at the beginning.
Find
Opens the Find and Replace window where you can specify text to search inside the current
sketch according to several options.
Find Next: Highlights the next occurrence - if any - of the string specified as the search item in
the Find window, relative to the cursor position.
21
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
Find Previous : Highlights the previous occurrence - if any - of the string specified as the search
item in the Find window relative to the cursor position.
4.4 SKETCH
Verify/Compile
Checks your sketch for errors compiling it; it will report memory usage for code and variables
in the console area.
Upload
Compiles and loads the binary file onto the configured board through the configured Port.
Upload Using Programmer
This will overwrite the bootloader on the board; you will need to use Tools > Burn
Bootloader to restore it and be able to Upload to USB serial port again. However, it allows
you to use the full capacity of the Flash memory for your sketch. Please note that this
command will NOT burn the fuses. To do so a Tools -> Burn Bootloader command must be
executed.
Export Compiled Binary
Saves a .hex file that may be kept as archive or sent to the board using other tools.
Show Sketch Folder
Opens the current sketch folder.
Include Library
Adds a library to your sketch by inserting #include statements at the start of your code. For
more details, see libraries below. Additionally, from this menu item you can access the Library
Manager and import new libraries from .zip files.
Add File...
Adds a source file to the sketch (it will be copied from its current location). The new file
appears in a new tab in the sketch window. Files can be removed from the sketch using the tab
menu accessible clicking on the small triangle icon below the serial monitor one on the right
side of the toolbar.
22
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
4.5 TOOLS
Auto Format
This formats your code nicely: i.e. indents it so that opening and closing curly braces line up,
and that the statements inside curly braces are indented more.
Archive Sketch
Archives a copy of the current sketch in .zip format. The archive is placed in the same directory
as the sketch.
Fix Encoding & Reload
Fixes possible discrepancies between the editor char map encoding and other operating systems
char maps.
Serial Monitor
Opens the serial monitor window and initiates the exchange of data with any connected board
on the currently selected Port. This usually resets the board, if the board supports Reset over
serial port opening.
Board
Select the board that you're using. See below for descriptions of the various boards.
Port
This menu contains all the serial devices (real or virtual) on your machine. It should
automatically refresh every time you open the top-level tools menu.
Programmer
For selecting a hardware programmer when programming a board or chip and not using the
onboard USB-serial connection. Normally you won't need this, but if you're burning a
bootloader to a new microcontroller, you will use this.
Burn Bootloader
The items in this menu allow you to burn a bootloader onto the microcontroller on an Arduino
board. This is not required for normal use of an Arduino or Genuine board but is useful if you
purchase a new AT mega microcontroller (which normally come without a bootloader). Ensure
that you've selected the correct board from the Boards menu before burning the bootloader on
the target board. This command also set the right fuses.
23
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
4.6 SKETCHBOOK
The Arduino Software (IDE) uses the concept of a sketchbook: a standard place to store your programs
(or sketches). The sketches in your sketchbook can be opened from the File > Sketchbook menu or
from the Open button on the toolbar. The first time you run the Arduino software, it will automatically
create a directory for your sketchbook. You can view or change the location of the sketchbook location
from with the Preferences dialog.
Beginning with version 1.0, files are saved with a .ion file extension. Previous versions use the .pie
extension. You may still open .pie named files in version 1.0 and later, the software will automatically
rename the extension to .ion.
Allows you to manage sketches with more than one file (each of which appears in its own tab). These
can be normal Arduino code files (no visible extension), C files (.c extension), C++ files (.cop), or
header files (.h).
4.8 UPLOADING
Before uploading your sketch, you need to select the correct items from the Tools > Board and Tools >
Port menus. The boards are described below. On the Mac, the serial port is probably something
like /dev/tty.usbmodem241 (for an Uno or Mega2560 or Leonardo) or /dev/tty.usbserial-1B1 (for a
Demilune or earlier USB board), or/dev/tty.USA19QW1b1P1.1 (for a serial board connected with a
Key span USB-to-Serial adapter). On Windows, it's probably COM1 or COM2 (for a serial
board) or COM4, COM5, COM7, or higher (for a USB board) - to find out, you look for USB serial
device in the sports section of the Windows Device Manager. On Linux, it
should be /dev/ttyACMx ,/dev/ttyUSBx or similar. Once you've selected the correct serial port and
board, press the upload button in the toolbar or select the Upload item from the Sketch menu. Current
Arduino boards will reset automatically and begin the upload. With older boards (pre-Decimal) that
lack auto-reset, you'll need to press the reset button on the board just before starting the upload. On
most boards, you'll see the RX and TX LEDs blink as the sketch is uploaded. The Arduino Software
(IDE) will display a message when the upload is complete, or show an error.
24
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
When you upload a sketch, you're using the Arduino bootloader, a small program that has been loaded
on to the microcontroller on your board. It allows you to upload code without using any additional
hardware. The bootloader is active for a few seconds when the board resets; then it starts whichever
sketch was most recently uploaded to the microcontroller. The bootloader will blink the on-board (pin
13) LED when it starts (i.e. when the board resets).
4.9 LIBRARIES
Libraries provide extra functionality for use in sketches, e.g. working with hardware or manipulating
data. To use a library in a sketch, select it from the Sketch > Import Library menu. This will insert one
or more #include statements at the top of the sketch and compile the library with your sketch. Because
libraries are uploaded to the board with your sketch, they increase the amount of space it takes up. If a
sketch no longer needs a library, simply delete its #includestatements from the top of your code.
There is a list of libraries in the reference. Some libraries are included with the Arduino software.
Others can be downloaded from a variety of sources or through the Library Manager. Starting with
version 1.0.5 of the IDE, you do can import a library from a zip file and use it in an open sketch. See
these instructions for installing a third-party library.
25
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
Since version 1.0.1 , the Arduino Software (IDE) has been translated into 30+ different languages. By
default, the IDE loads in the language selected by your operating system. (Note: on Windows and possibly
Linux, this is determined by the locale setting which controls currency and date formats, not by the
language the operating system is displayed in.)
If you would like to change the language manually, start the Arduino Software (IDE) and open
the Preferences window. Next to the Editor Language there is a dropdown menu of currently supported
languages. Select your preferred language from the menu, and restart the software to use the selected
language. If your operating system language is not supported, the Arduino Software (IDE) will default to
English.
You can return the software to its default setting of selecting its language based on your operating system
by selecting System Default from the Editor Language drop-down. This setting will take effect when you
restart the Arduino Software (IDE). Similarly, after changing your operating system's settings, you must
restart the Arduino Software (IDE) to update it to the new default language.
4.11 BOARDS
The board selection has two effects: it sets the parameters (e.g. CPU speed and baud rate) used when
compiling and uploading sketches; and sets and the file and fuse settings used by the burn bootloader
command. Some of the board definitions differ only in the latter, so even if you've been uploading
successfully with a particular selection, you'll want to check it before burning the bootloader. You can find
a comparison table between the various board.
Arduino Software (IDE) includes the built-in support for the boards in the following list, all based on the
AVR Core. The Boards included in the standard installation allows to add support for the growing number
of new boards based on different cores like Arduino Due, Arduino Zero, Edison, Galileo and so on.
The Arduino code is actually just plain old c without all the header part (the includes and all). when you
press the 'compile' button, the IDE saves the current file as Arduino’s in the 'lib/build' directory then it calls
a make file contained in the 'lib' directory. This makes file copies Arduino’s as project into 'lib/tamp'
adding
26
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
'wiringlite.inc' as the beginning of it. this operation makes the Arduino/wiring code into a proper c file
(called project).
After this, it copies all the files in the 'core' directory into 'lib/tamp'. these files are the implementation of
the various Arduino/wiring commands adding to these files adds commands to the language. The core files
are supported by pascal sting’s Procyon aver-lib that is contained in the 'lib/Avril' directory. At this point
the code contained in lib/tamp is ready to be compiled with the c compiler contained in 'tools'. If the make
operation is successful then you'll have ploughed ready to be downloaded into the processor.
4.13 CODE
#include <LiquidCrystal.h>
#include <stdio.h>
#define RXD2 16
#define TXD2 17
String gsm_data_string="";
unsigned char
rcv,count,gchr='x'; char
pastnumber[11];
#include <WiFi.h>
#include <HTTPClient.h>
HTTPClient http;
int httpResponseCode;
String servername = "http://projectsfactoryserver.in/storedata.php?name=";
27
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
String accountname =
"iot1144"; String field1 =
"&s1=";
String field2 = "&s2=";
String field3 = "&s3=";
String field4 = "&s4=";
String payload="";
char res[130];
int party1_count=0,party2_count=0,party3_count=0,total_count=0;
int sts0=0,sts1=0,sts2=0,sts3=0;
int cardno=0;
void okcheck2()
{
unsigned char rcr;
do{
rcr = Serial.read();
}while(rcr != 'K');
}
28
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
void okcheck()
{
unsigned char rcr;
do{
rcr = Serial.read();
}while(rcr != 'K');
}
void serialFlush()
{ while(Serial.available() > 0)
{ char t = Serial.read();
}
}
void serialFlush2()
{ while(Serial2.available() > 0)
{ char t = Serial2.read();
}
}
int fpenroll(char);
int fpsearch();
29
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
int buzzer = 4;
int shifter = 2;
int sti=0;
String inputString = ""; // a string to hold incoming data
boolean stringComplete = false; // whether the string is complete
void beep()
{
digitalWrite(buzzer, LOW);delay(3000);digitalWrite(buzzer, HIGH);
}
void iot_send()
{
lcd.setCursor(15,1);lcd.print("U");
http.begin(servername + accountname + field1 + gsm_data_string);
httpResponseCode = http.GET();
if(httpResponseCode>0)
{
payload="";
//Serial.print("HTTP Response code: ");
//Serial.println(httpResponseCode);
payload = http.getString();
//Serial.println(payload);
}
else
{
;
//Serial.print("Error code: ");
//Serial.println(httpResponseCode);
}
30
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
delay(5000);
lcd.setCursor(15,1);lcd.print(" ");
}
void fp_identification_rfid()
{
lcd.clear();lcd.setCursor(0, 0);lcd.print("Identifing..");
idk = fpsearch();
if(err == 1)
{err=0;
lcd.clear();lcd.print("FP Not Found...");beep();delay(2000);delay(2000);
}
if(idk >= 0 && idk <= 9)
{
lcd.clear();lcd.setCursor(0, 0);lcd.print("IDENTIFIED:");lcd.print((int)idk);
//Serial.print("Finger Found id:");Serial.print(idk);Serial.println("");
if(idk == 0){sts0++;if(sts0 >= 3){sts0=3;}
if(sts0 >= 2)
{
31
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
32
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
gsm_data_string="";
gsm_data_string="2nd_Time_Vote_Not_Allowed";
iot_send();
goto mn;
delay(3000);
}
// if(cardno != 3){lcd.clear();lcd.print("Unmatch");digitalWrite(buzzer,
LOW);delay(3000);digitalWrite(buzzer, HIGH);delay(1500);goto mn;}
}
if(idk == 3){sts3++;if(sts3 >= 3){sts3=3;}
if(sts3 >= 2)
{
lcd.clear();lcd.print("2nd time Vote Not
Allowed"); beep();
gsm_send("2nd_Time_Vote_Not_Allowed");
gsm_data_string="";
gsm_data_string="2nd_Time_Vote_Not_Allowed";
iot_send();
goto mn;
delay(3000);
}
// if(cardno != 4){lcd.clear();lcd.print("Unmatch");digitalWrite(buzzer,
LOW);delay(3000);digitalWrite(buzzer, HIGH);delay(1500);goto mn;}
}
delay(2000);
lcd.clear();lcd.print("Autherised......");
delay(2000);delay(2000);
lcd.clear();lcd.print("Poll Ur Vote");
while(1)
{
if(digitalRead(party1) == LOW)
33
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
{while(digitalRead(party1) == LOW);
party1_count++;
lcd.clear();lcd.print("Ur vote For P1");
delay(3000);
break;
}
if(digitalRead(party2) == LOW)
{while(digitalRead(party2) == LOW);
party2_count++;
lcd.clear();lcd.print("Ur vote For P2");
delay(3000);
break;
}
if(digitalRead(party3) == LOW)
{while(digitalRead(party3) == LOW);
party3_count++;
lcd.clear();lcd.print("Ur vote For P3");
delay(3000);
break;
}
}
}
mn:delay(100);
}
Serial2.write(store[i]);
dummy = 0x0f+id;
Serial2.write((uint8_t)id);
Serial2.write((uint8_t)0x00);
Serial2.write((uint8_t)dummy);
res[9] = 1;//
delay(1000);//wait some time to get replay from r305
34
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
while(Serial2.available()){res[ct] = Serial2.read();ct++;}ct=0;
if(res[9] == 0){return id;}
else{err=6;return -1;}
}
int fpsearch()
{
ct=0;
serialFlush2();
//enroll buffer send 12 bytes
for(int i =0;i<12;i++)
Serial2.write(enroll[i]);
res[9] = 1;//
delay(1000);//wait some time to get replay from r305
while(Serial2.available()){res[ct] = Serial2.read();ct++;}ct=0;
if(res[9] == 0){}
else{err=1;return -1;}
//generate ch buffer
for(int i =0;i<13;i++)
Serial2.write(generate_ch[i]);
res[9] = 1;
delay(1000);//wait some time to get replay from r305
while(Serial2.available()){res[ct] = Serial2.read();ct++;}ct=0;
if(res[9] == 0){}
else{err=2;return -1;}
35
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
else{err=1;return -1;}
void gsminit()
{
Serial.write("AT\r\n"); okcheck2();
Serial.write("ATE0\r\n"); okcheck2();
Serial.write("AT+CMGF=1\r\n"); okcheck2();
Serial.write("AT+CNMI=1,2,0,0\r\n"); okcheck2();
36
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
Serial.write("AT+CSMP=17,167,0,0\r\n"); okcheck2();
lcd.clear();
lcd.print("SEND MSG STORE");
lcd.setCursor(0,1);
lcd.print("MOBILE NUMBER");
do{
rcv = Serial.read();
}while(rcv != '*');
readSerial(pastnumber);pastnumber[10] = '\0';
/*
pastnumber1[0] = pastnumber[0];pastnumber1[1] = pastnumber[1];pastnumber1[2] =
pastnumber[2];pastnumber1[3] = pastnumber[3];pastnumber1[4] = pastnumber[4];pastnumber1[5] =
pastnumber[5];
pastnumber1[6] = pastnumber[6];pastnumber1[7] = pastnumber[7];pastnumber1[8] =
pastnumber[8];pastnumber1[9] = pastnumber[9];pastnumber1[10] = '\0';
*/
/*
pastnumber3[0] = pastnumber[20];pastnumber3[1] = pastnumber[21];pastnumber3[2] =
pastnumber[22];pastnumber3[3] = pastnumber[23];pastnumber3[4] = pastnumber[24];pastnumber3[5] =
pastnumber[25];
pastnumber3[6] = pastnumber[26];pastnumber3[7] = pastnumber[27];pastnumber3[8] =
pastnumber[28];pastnumber3[9] = pastnumber[29];pastnumber3[10] = '\0';
*/
lcd.clear();
lcd.print(pastnumber);
delay(4000); delay(5000);
Serial.write("AT+CMGS=\"");
Serial.write(pastnumber);
Serial.write("\"\r\n"); delay(3000);
Serial.write("Reg\r\n");
37
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
Serial.write(0x1A);
delay(4000); delay(5000);
}
a=value/10000;
b=value%10000;
c=b/1000; d=b
%1000;
e=d/100; f=d
%100;
g=f/10;
h=f%10;
a=a|0x30;
c=c|0x30;
e=e|0x30;
g=g|0x30;
h=h|0x30;
Serial.write(a);
Serial.write(c);
Serial.write(e);
Serial.write(g);
Serial.write(h);
}
38
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
{
unsigned int a,b,c,d,e,f,g,h;
a=value/10000;
b=value%10000;
c=b/1000; d=b
%1000;
e=d/100; f=d
%100;
g=f/10;
h=f%10;
a=a|0x30;
c=c|0x30;
e=e|0x30;
g=g|0x30;
h=h|0x30;
//lcd.write(a);
//lcd.write(c);
lcd.write(e);
lcd.write(g);
lcd.write(h);
}
39
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
CHAPTER 5
METHODOLOGY
AND SYSTEM
DESIGN
40
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
CHAPTER 5
5.1 METHODOLOGY
Methodology is the systematic, theoretical analysis of the methods applied to a field of study. The aim of
this chapter is to give an introduction about the general research methodology and waterfall methodology
for development used in this project.
In the information age, it seems that the use of information technology is an unavoidable trend for the
evolution of organisations in the twenty-first century, whether public or private. Electronic democracy,
which is governance-oriented, and e-government, which is service-oriented, are two examples of
information technology's application in public affairs. E-voting, as a critical component of eGovernment
systems, would inevitably contribute to the use of information technology to increase the performance of
the public sector and citizen engagement through electronic forums.
The purpose of this research is to identify the factors affecting the election process and ways they can be
eliminated.
There are two main research approaches used in scientific work, quantitative and qualitative. The main
difference between these two is that the aim of quantitative research is to find explanation to a phenomenon
or a situation that can be generalized to other people and places while in qualitative research the aim is to
gain deeper understanding of a phenomena or a situation.
Quantitative approach will be used to discover the issues that threatens the election as it relates to voters.
We are making use of existing data already collected by previous literature on elections to analyse the
election process and derive a conclusion on how to eliminate the issues.
41
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
Based on the reviewed data collected on previous conducted elections, the main issue with the election was
the issue of voter’s apathy towards the electoral system which is as result of
many factors such as inaccessible registration and voting venue, election violence that could lead to loss of
lives, result manipulation and so on.
A system that serves to increase voters’ participation in the electoral process is the remedy to these issues
at hand.
E-voting system serves to provide a remedy for the inaccessible registration and voting venue as eligible
citizens can be registered and vote at their place of residence for their votes to count for their particular
place of origin. It also provides a means to eliminate ballot box snatching as votes are counted as they are
cast. There is also less room for result manipulation because the result gets updated and displayed to all as
votes are being counted.
42
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
The result interface design is such that anyone can have access to election results, hence no authentication
is required to access this service. Nevertheless, data is transmitted over secure protocols to ensure integrity
of the results being shown. The interface makes use of bar graphs and chats to show live election results.
The result interface program flowchart is shown below.
The screen 16 * 2 width is a resistive LCD screen with a touch controller. The controller renders the
graphics output of the Arduino no to the screen 16 * 2 width while sending touch responses from the screen
to the Arduino no. The screen 16 * 2 width has an impressive response time and the Table 3.1:
Recommended LCD Screen 16 * 2 width Specification
43
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
Property Value
This is one out of the two factors of authentication for the voting device, providing strong security and
confidence on a voter’s vote. The fingerprint scanner enables the fingerprint of the voter to be read for
verification or identification of the voter.
44
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
Property Value
Voltage 4.2-6.0V DC
45
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
CHAPTER 6
SYSTEM
IMPLEMENTATION AND
RESULT ANALYSIS
46
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
CHAPTER 6
SYSTEM IMPLEMENTATION AND RESULT ANALYSIS
47
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
Power Unit
This generates the power required for the devices to operate in a good working condition. It also powers
some LEDs for indication purposes. It contains a 12V battery to supply power to the devices in the
absence of external power.
The input to the power unit is a 220V AC which is stepped down and converted to DC. This output is
used to power the screen 16 * 2 width module and the Arduino no.
LCD Screen
The LCD screen provides a means of interacting with the device. Its powered directly by a 5V power
supply from the power unit.
48
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
The screen 16 * 2 width is connected to the Arduino no via an HMDI cable for receiving video streams
from the Arduino no for display and a USB cable for transmitting input received from user touch to the
Arduino no. The controller directly communicates with the Arduino operating system running on the
Arduino no enabling input to the screen sensor to be interpreted properly.
Control Unit
The control unit is the heart of the system. It is aarduinounosoftware. The operating system provides the
resources necessary to generate a graphical user interface for the application. It also provides low level
libraries to enable easy integration with other peripheral (hardware) devices.
49
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
It communicates with the card reader, the fingerprint sensor and the screen 16 * 2 width via its USB
ports which serves as a source of power to some of the peripherals like the fingerprint and the card
reader.
The voting application or software written in java and python, runs on this operating system and
communicates with the peripheral devices by using the low-level libraries provided by the operation
system.
Fingerprint Scanner
This is the second means by which the system authenticates a voter. It exposes four pins of which two
(the RX and TX) are for serial TTL communication while the other two provides the power supply. The
fingerprint sensor is connected to the Arduino no USB port through a TTL-USB converter which also
50
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
provides enough voltage (5V) to power it. The fingerprint sensor is controlled by a python program
which provides a wrapper for the low-level libraries that communicates with it. The codes used for this
communication is found in the appendix.
All the different units explained above were put together such that the fingerprint scanner, camera and
smart card reader writer for the registration was added to the registration platform running on a Windows
system. The registration platform was also connected to the online Server.
The administrator dashboard was installed on a Windows system and linked to the online Server as well.
At the voting device end, the fingerprint module is coupled to the Arduino no, also the smart card reader
and LCD screen 16 * 2 width is connected to the Arduino no and coupled into the voting system. The
battery unit is added to the voting device too and the voting software is burnt to a memory card and
inserted into the Arduino no memory card slot. The system is started up and the voting device is
working.
51
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
52
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
CHAPTER 7
53
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
CHAPTER 7
CONCLUSION AND FUTURE SCOPE
7.1 CONCLUSION
The manual system of voting has failed to tackle the basic issues necessary for a trusted voting
environment which has evidently driven some of its citizens to apathy.
The E-voting system was implemented to solve the proximity bottlenecks, unnecessary time delays, with
very secure and accurate recording of votes. The system has been thoroughly tested in voting accuracy,
ruggedness, responsiveness, battery life expectancy, and security by means of simulation and mini voting
sessions to be a successful one.
It is seen that the system is fault tolerant at all end points (registration, voting platform and the server). The
voting device can last for more than 6 hours which is very sufficient for a quick system like ours.
This system will provide boundless voter participation in remote areas with very little or no cost on the
voter greatly reducing apathy. Further improvements can be done on the system to increase the credibility
of the votes and further reduce proximity issues.
54
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
The future of fingerprint-based electronic voting machines integrated with IoT is highly promising, with
several technological advancements expected to enhance security, reliability, and accessibility. One
major area of development is the implementation of blockchain technology, which can ensure a tamper-
proof, decentralized, and transparent voting process. By storing voting records on a blockchain, the
system can prevent unauthorized modifications, ensuring election integrity and building voter
confidence. Additionally, integrating Artificial Intelligence (AI) and Machine Learning (ML) algorithms
in biometric verification can improve fingerprint recognition accuracy, reduce false positives, and detect
fraudulent attempts such as deepfake fingerprint attacks.
Another significant improvement is the real-time cloud-based monitoring and analysis of elections,
which will allow election authorities to track voting activities remotely, identify anomalies, and prevent
cyber threats in real time. IoT-enabled smart voting machines can transmit encrypted voting data
securely to a cloud server, making it accessible to authorized officials while ensuring data privacy. The
adoption of multi-factor authentication (MFA), combining fingerprint recognition with OTP-based
authentication via GSM or email verification, can add an extra layer of security to prevent unauthorized
access and voting fraud.
Moreover, wireless and low-power IoT-enabled devices can be designed to operate efficiently in remote
and rural areas with limited infrastructure, making digital voting more inclusive. The use of solar-
powered electronic voting machines can ensure uninterrupted voting even in areas with irregular power
supply, promoting sustainability. Future developments may also focus on mobile-based fingerprint
voting systems, allowing voters to cast their votes securely from their smartphones using IoT-based
biometric authentication.
In conclusion, the future of fingerprint-based electronic voting machines using IoT lies in enhanced
security measures, AI-driven biometric authentication, cloud-based monitoring, mobile voting, and
sustainable power solutions.
55
DEPARTEMENT OF ECE, BVCR
PALACHARLA
FINGER PRINT BASED ELECTRONIC VOTING MACHINE
REFERENCES
[1] Paul David Webb, Roger Gibbins, Heinz Eula, “Election”, Encyclopaedia Britannica.
[Online]. Available:https://www.britannica.com/topic/election-political-science. [Accessed: Aug.
05,2019].
[2] Toba Paul Ayeni, AdebimpeOmolayoEsan, “The Impact of ICT in the Conduct of
Elections in
Nigeria”, American Journal of Computer Science and Information Technology, February 09, 2018 .
[Online]. Available:http://www.imedpub.com/articles/the-impact-of-ict-in-the-conduct-of-elections-
innigeria.php?aid=22211. [Accessed: Aug. 05,2019].
[3] ACE, E-voting, The Electoral Knowledge Network, n.d., [Online].
Available: http-end/focus/e-voting/default. [Accessed: Aug. 07,2019].
[4] Victor Kewalo, Inside Nigeria’s first ever electronic voting exercise in Kaduna
State, TechPoint Africa, May 14, 2018, [online]. Available:
https://techpoint.africa/2018/05/14/kadunaelectronic- voting/. [Access: Aug. 10,2019].
[5] Seth Rosenblatt, Jason Cipriani, Two-factor authentication: What you need to know
(FAQ), CNET, June 15, 2015, [online]. Available:https://www.cnet.com/news/two-factor-
authentication- what-you- need-to-know-FAQ. [Accessed: Aug. 10,2019].
[6] Alexandra Petrus, what is two-factor chelation (2FA,)? Phone Backup Exactor, Oc.
t08,what is two-factor authentication (2FA)? iPhone Backup Extractor, Oct. 08,
2017, [Online]. Available:http://www.iphonebackupextractor.com/blog/2016/jun/3/extract-data-two-
factor-authentication/. [Accessed: Aug. 11,2019].
[7] antilabor, Henk C.A.; Jagoda, Sushil, eds. (2011). Encyclopaedia of Cryptography
and Security, Volume 1. Springer Science & Business Media.p.1305.
[8] Jason Cipriani, Seth Rosenblatt, Two-factor verification: What you need to know (FAQ),
CNET, June 15, 2015, [online]. Available:https://www.cnet.com/news/two-factor-
authentication- what-you- need-to-know-FAQ. [Accessed: Aug. 10,2019].
[9] Alexandra Dimitrenko, Christopher Liebchen, Christian Rossow, and Ahmad-Reza
Sadeghi “On the (In) Security of Mobile Two-Factor Authentication” Lecture Notes in Computer
Science,
pp. 365-383, Nov 2014.
56
DEPARTEMENT OF ECE, BVCR
PALACHARLA