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

fpbvs3[1]

The document outlines a project aimed at developing a secure and reliable fingerprint-based voting machine to enhance the electoral process. It discusses the limitations of existing voting systems, such as ballot boxes and electronic voting machines, and proposes a solution that utilizes an Arduino microcontroller and fingerprint recognition for voter authentication. The system aims to prevent fraudulent voting, streamline the voting process, and ensure that only legitimate voters can cast their votes.

Uploaded by

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

fpbvs3[1]

The document outlines a project aimed at developing a secure and reliable fingerprint-based voting machine to enhance the electoral process. It discusses the limitations of existing voting systems, such as ballot boxes and electronic voting machines, and proposes a solution that utilizes an Arduino microcontroller and fingerprint recognition for voter authentication. The system aims to prevent fraudulent voting, streamline the voting process, and ensure that only legitimate voters can cast their votes.

Uploaded by

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

CHAPTER-1

INTRODUCTION
1.1 INTRODUCTION TO THE PROJECT:
Voting is an important part of an independent society of choosing leaders and
contributes towards the betterment of the country. It is a decision-making mechanism where
security plays an important role in voting. In categorize to ensure high security, voting
machine should be designed and developed with large concern. Therefore, this project is
planned for a voting machine by using the fingerprint. Here a voter's fingerprint is used for
identifying the voters. The system will check whether it matches prestored impressions in the
memory. If it matches, then the system will allow the voter to poll his vote otherwise prevent
the voter from polling.

For a voting system to be ideal, five attributes must be satisfied: fidelity, robustness,
coherence, consistency, safety and security. This system has been developed to simplify the
process of organizing elections and make it convenient for voters to exercise their votes by
providing the required hardware and software capabilities. The main objective of this voting
system is to develop a secure and reliable application for the voting of elections.

1.2 OBJECTIVE OF THE PROJECT:


The main objective of this project is to design a reliable and secure voting system.

 This system would allow only the legitimate (legal) users to cast their vote by
verifying their fingerprint as an identity proof. If the fingerprint matches with the
details stored in database then the user is allowed to cast vote otherwise restricted if
fingerprint does not match or vote is being repeated.
 This system avoids rigging of votes and saves time and human effort.
CHAPTER-2
LITERATURE SURVEY
2.1 EXISTING SYSTEM:
The ballot box and Electronic Voting Machine (EVM) systems are two methods used
to collect and record votes in elections.

 BALLOT BOX SYSTEM:

The traditional ballot box system involves voters marking their chosen candidate on a
paper ballot, which is then placed in a secure box. This system requires election officers to
verify each voter's identity before issuing a ballot paper. After voting, the ballot papers are
counted manually to determine the winner. While simple, this system has several drawbacks,
including the risk of tampering, high paper usage, and time-consuming counting processes.

Fig

2.1: Ballot box voting system


Fig2.2: EVM system

 EVM(Electronic Voting Machine):

In contrast, EVMs offer a more efficient and secure way to cast votes. Introduced in
India in 1998, EVMs replaced paper ballots and have been used in all general and state
assembly elections since 2014. These machines consist of two units: a control unit and a
balloting unit, connected by a cable. Voters select their preferred candidate by pressing a
button, and the EVM records the vote. The benefits of EVMs include reduced paper usage,
faster counting, and increased security.

2.2 LIMITATIONS OF EXISTING SYSTEM:


 Environmental Impact: The ballot box system uses a huge amount of paper,
affecting the environment.
 Time-Consuming Counting Process: Counting votes takes a significant amount of
time before declaring the results.
 Security Risks: Ballot boxes and EVMs can be tampered.
 Vulnerability to Malfunction: Like any electronic device, EVMs can experience
technical faults, hardware malfunctions, or software errors, potentially impacting the
voting process.
 Human Error: Susceptible to mistakes during counting and handling.
 Storage Issues: Requires significant space for storing ballots securely.
 Rigging: Election rigging, also known as electoral fraud or vote rigging, involves
illegal interference with the electoral process to favor a particular candidate or
outcome.

2.3 PROPOSED SYSTEM:


The system aims to develop a fingerprint based advanced Voting Machine using
Arduino which helps in free and fair way of conducting elections which are basis for
democratic country like India. This project consists of following units a Voting system,
fingerprint module and Arduino controller Unit. The voter first puts his finger on the
fingerprint module which checks for the authentication of the user. If the voter is the
authenticated one, he will now eligible to poll his vote in the voting system by simply pressing
button against his favorite party. The control unit consists of an Arduino microcontroller, push
button for different operations of a voting system. The votes casted for particular party are
shown through an LCD display. To perform this task, Arduino controller is loaded with a
program written in embedded “C” language.

CHAPTER-3
WORKING
3.1 BLOCK DIAGRAM:
Fig 3.1: Block diagram of the project

3.2 DESCRIPTION OF BLOCK DIAGRAM:


ARDUINO UNO:
• It is an open-source microcontroller board that can be integrated into a variety of
electronic projects. The microcontroller that acts as the central control unit of the
system. It interfaces with all other components and runs the code for fingerprint
processing.
• It processes data from the fingerprint sensor, handles user input, and manages output
devices like LEDs and buzzers, LCD display.

R307S FINGER PRINT MODULE:


• The R307S fingerprint module Captures the fingerprint data and compares it against
stored fingerprints to verify voter identity.
• It ensures that only authorized users are able to cast a vote. Once a fingerprint is
matched, it sends a signal to the Arduino.
16*2 LCD DISPLAY:
• Displays the current status of the system, such as instructions for the user or the result
of fingerprint matching.
• Shows prompts like "Plz select the vote", "u r done already", "party selected",
“enrolling" and “identifying”.
LED’S:
• RED LED: Lights up if the fingerprint verification fails or if an error occurs during
the voting process.
• GREEN LED: Lights up when a valid fingerprint is detected and the user is allowed
to vote.
PUSH BUTTONS:
Once the voter’s fingerprint is validated, the LCD prompts the voter to press the push
button to cast their vote. The push button serves as a confirmation step to prevent accidental
votes.
BUZZER: Provides auditory feedback to indicate success, failure, or system errors.

3.3 FLOW CHARTS:


The fingerprint based voting system basically consists of two Stages:

1. Fingerprint Enrollment 2.Vote casting process

Fig 3.2: Fingerprint enrollment process

Fig 3.3: Vote casting process


3.4 SCHEMATIC DIAGRAM:

Fig 3.4: Schematic diagram


3.5 WORKING PRINCIPLE:
The main principle of fingerprint voting system is to ‘Preventing Fraudulent Voting’.

1. Fingerprint Enrollment: In this process voter needs to enroll their fingerprint. If enrolling
approach is given, the controller waits for input and activates the scanner to accept the
fingerprint, displays “Enrolling” on the LCD display. When the voter places the finger on the
scanner it captures an image of fingerprint and creates a template. This template is stored in its
memory.

2. Fingerprint Identification: In this process, before casting the votes the voters has to check
for validity to the voting. When the voter scans their fingerprint, the fingerprint is scanned and
compared with the fingerprints stored in the memory. If it is matched with the pre-stored
fingerprints then the voter is eligible to vote otherwise they will not allowed to cast their vote.

3. Casting the votes: After fingerprint verification the voter will allowed to cast the votes.
The LCD will display the prompt “plz select your vote”. The voter will choose their party in
the given options by simply pressing the pushbuttons, and LCD displays the “party selected”
and the green LED glows to indicate the successful vote.

4. Alert for wrong voting: If the voter already voted, in verification time if the fingerprint
matched then LCD will displays “u r already voted” and red LED glows and buzzer produces
beep sound.

5. Generating final report: After finishing the vote casting, simply press the result button to
know which party is gain the highest votes. This will generates the final report by seeing the
votes of the parties.
CHAPTER-4
HARDWARE DESCRIPTION
4.1 ARDUINO UNO:
The Arduino Uno is a microcontroller board based on the ATmega328P. It has 14
digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz
crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It
contains everything needed to support the microcontroller; simply connect it to a computer
with a USB cable or power it with an AC to-DC adapter or battery to get started. The Uno
differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip.
Instead, it features the Atmega8U2 programmed as a USB-to serial converter. "Uno" means
one in Italian and is named to mark the upcoming release of Arduino 1.0. The Uno and
version 1.0 will be the reference versions of Arduino, moving forward. The Uno is the latest
in a series of USB Arduino boards, and the reference model for the Arduino platform; for a
comparison with previous versions, see the index of Arduino boards.
Fig 4.1: Arduino UNO

4.1.1 PIN DESCRIPTION OF ARDUINO UNO:


 ATmega328p Microcontroller- It is a single chip Microcontroller of the ATMEL
family. The processor code inside it is of 8-bit. It combines Memory (SRAM,
EEPROM, and Flash), Analog to Digital Converter, SPI serial ports, I/O lines,
registers, timer, external and internal interrupts, and oscillator.

 ICSP pin - The In-Circuit Serial Programming pin allows the user to program using
the firmware of the Arduino board.

 Power LED Indicator- The ON status of LED shows the power is activated. When
the power is OFF, the LED will not light up.

 Digital I/O pins- The digital pins have the value HIGH or LOW. The pins numbered
from D0 to D13 are digital pins.

 TX and RX LED's- The successful flow of data is represented by the lighting of these
LED's.

 AREF- The Analog Reference (AREF) pin is used to feed a reference voltage to the
Arduino UNO board from the external power supply.
 Reset button- It is used to add a Reset button to the connection.

 USB- It allows the board to connect to the computer. It is essential for the
programming of the Arduino UNO board.

 Crystal Oscillator- The Crystal oscillator has a frequency of 16MHz, which makes
the Arduino UNO a powerful board.

 Voltage Regulator- The voltage regulator converts the input voltage to 5V.

 GND- Ground pins. The ground pin acts as a pin with zero voltage.

 Vin- It is the input voltage.

 Analog Pins- The pins numbered from A0 to A5 are analog pins. The function of
Analog pins is to read the analog sensor used in the connection. It can also act as
GPIO (General Purpose Input Output) pins.

4.1.2 ATMEGA328P MICROCONTROLLER:


ATmega328P is a very advance and feature rich microcontroller. It is one of a famous
microcontroller of Atmel because of its use in ARDUINO UNO board. It is a microcontroller
from the Atmel’s mega MVR microcontrollers family later in 2016 the Atmel is obtained by
Microchip Technology Inc, the microcontrollers manufactured in mega MVR family are
designed for handling larger program memories and each microcontroller in this family
contains different amount of ROM, RAM, I/O pins and other features and also they are
manufactured in different output pins which are from 8 pins to hundreds of pins.

Fig 4.2: ATmega328P microcontroller

The Atmel 8-bit AVR RISC-based microcontroller combines 32 KB ISP flash memory
with read-while-write capabilities, 1 KB EEPROM, 2 KB SRAM, 23 general-purpose I/O
lines, 32 general-purpose working registers, 3 flexible timer/counters with compare modes,
internal and external interrupts, serial programmable USART, a byte-oriented 2-wire serial
interface, SPI serial port, 6-channel 10-bit A/D converter (8 channels in TQFP and QFN/MLF
packages), programmable watchdog timer with internal oscillator, and 5 software-selectable
power-saving modes. The device operates between 1.8 and 5.5 volts. The device achieves
throughput approaching 1 MIPS/MHz’s.

FEATURES:

PARAMETER VALUE
CPU Type 8-bit AVR
Max CPU speed 20MHZ
Flash memory 32KB
SRAM 2KB
EEPROM 1KB
Package Pin count 28 or 32
Capacitive touch sensing channels 16
Max I/O Pins 23
External Interrupts 3
USB Interface No
Table 4.1: Features of ATmega328P microcontroller

4.1.3 PIN DIAGRAM OF ATMEGA328P MICROCONTROLLER:

Fig 4.3: Pin diagram of ATmega328P microcontroller

ATmega328 is commonly used in many projects and autonomous systems where a


simple, low-powered, low-cost micro-controller is needed. Perhaps the most common
implementation of this chip is on the popular Arduino development platform, namely the
Arduino Uno, Arduino Pro Mini and Arduino Nano models.

4.1.4 SPECIFICATIONS OF ARDUINO UNO:

 Microcontroller: Atmega328P
 Operating Voltage: 5V
 Input Voltage (recommended): 7-12V
 In-out Voltage (limit): 6-20V
 Digital I/O Pins: 14 (of which 6 provide PWM output)
 PWM Digital I/O Pins: 6
 Analog Input Pins: 6
 DC Current per I/O Pin: 20 Ma
 DC current for 3.3V Pin: 50 mA
 Flash Memory: 32 KB (Atmega328P) of which 0.5 KB used by bootloader
 SRAM: 2 KB (Atmega328P)
 EEPROM: 1 KB (Atmega328P)
 Clock Speed: 16 MHz
 LED_BUILTIN: 13
 Length: 68.6 mm
 Width: 58.4 mm

4.1.5 APPLICATIONS:
 Used in ARDUINO UNO, ARDUINO NANO and ARDUINO MICRO boards
etc..
 Industrial control systems.
 SMPS and Power Regulation systems.
 Digital data processing.
 Analog signal measuring and manipulations.
 Embedded systems like coffee machine, vending machine.
 Motor control systems.
 Display units.
 Peripheral Interface system.
4.2 R307S FINGER PRINT MODULE:

DESCRIPTION:
R307S fingerprint module is a finger print sensor with TTL UART interface. The user
can store the fingerprint data in the module and can configure it in 1:1 or 1: N mode for
identifying the person. The FP module can directly interface with 3.3 or 5v Microcontroller. A
level converter (like MAX232) is required for interfacing with PC serial port. R307
Fingerprint Module consists of high-speed DSP processor, high-performance fingerprint
alignment algorithm, high-capacity FLASH chips and other hardware and software
composition, stable performance, simple structure, with fingerprint entry, image processing,
fingerprint matching, search and template storage and other functions.

Fig 4.4: R307S Finger print module

OPERATION PRINCIPLE:
Fingerprint processing includes two parts: fingerprint enrollment and fingerprint
matching (the matching can be 1:1 or 1:N).When enrolling, user needs to enter the finger two
times. The system will process the two time finger images, generate a template of the finger
based on processing results and store the template. When matching, user enters the finger
through optical sensor and system will generate a template of the finger and compare it with
templates of the finger library.

For 1:1 matching, system will compare the live finger with specific template
designated in the Module; for 1:N matching, or searching, system will search the whole finger
library for the matching finger. In both circumstances, system will return the matching result,
success or failure.
4.2.1 SPECIFICATIONS

 Supply voltage: DC 4.2 ~ 6.0V


 Working current: 50mA (typical)
 Peak current: 80mA
 Fingerprint image input time: <0.3 seconds
 Window area: 14x18 mm
 Matching mode:1: 1 and 1:N
 Characteristic file size: 256 bytes
 Template size: 512 bytes
 Storage capacity: 1000 pieces
 Security Level: 5 (from low to high: 1,2,3,4,5)
 Fake rate (FAR): <0.001%
 Refusal rate (FRR): <1.0%
 Search time: <1.0 seconds (1: 1000 hours, mean value)
 Host interface: UART USB1.1
 Baud rate (UART): (9600xN) bps Where N = 1 ~ 12 (default N = 6, i.e. 57600bps)

4.2.2 APPLICATIONS:

The R307S fingerprint module is widely used in various security and identification systems
due to its compact size, accuracy, and ease of integration. Some common applications include:

1. Access Control Systems


2. Attendance Systems
3. Lock Systems
4. Automated Teller Machines (ATMs)
5. Mobile Devices
6. Voting Systems
7. Banking and Financial Services etc…
4.3 LCD DISPLAY (16*2):
The term LCD stands for liquid crystal display. It is one kind of electronic display
module used in an extensive range of applications like various circuits & devices like mobile
phones, calculators, computers, TV sets, etc. These displays are mainly preferred for multi-
segment light- emitting diodes and seven segments. The main benefits of using this module
are inexpensive; simply programmable, animations, and there are no limitations for displaying
custom characters, special and even animations, etc.

Fig 4.5: LCD (liquid crystal display)

A 16×2 LCD has two registers like data register and command register. The RS
(register select) is mainly used to change from one register to another. When the register set is
‘0’, then it is known as command register. Similarly, when the register set is ‘1’, then it is
known as data register.

These 16 x 2 LCD display modules are constant of 16 Columns and 2 Rows. The 1 st
row of this module has a total of 16 columns 0 to 15 and the position of the first row is 0.
Also, the 2nd row has a total of 16 columns 0 to 15 and the position of the second row is
position is 1. So, the total numbers of the column are 16 x 2 = 32. Its means 16 x 2 LCD
module can display 32 characters at the same time. The LCD consists of Data, Command and
control registers. All the register helps to control the different kinds of functions on the LCD.
The data and command registers take the input from digital pins D0-D7. Then controls pins
help to differentiate between command/data registers.
4.3.1 PIN CONFIGURATION OF LCD:

Table 4.2: Pin configuration of LCD


4.3.2 FEATURES OF LCD:
 The operating voltage of this LCD is 4.7V-5.3V

 It includes two rows where each row can produce 16-characters.

 The utilization of current is 1mA with no backlight.

 Every character can be built with a 5×8 pixel box.

 The alphanumeric LCDs alphabets & numbers.

 This display can work on two modes like 4-bit & 8-bit.

 These are obtainable in Blue & Green Backlight.

 It displays a few custom generated characters.

4.3.3 SPECIFICATIONS OF LCD:


1. Display Type: Alphanumeric LCD display
2. Character Capacity: 16 characters per line, 2 lines (total 32 characters)
3. Character Size: 2.95mm x 5.55mm
4. Dot Size: 0.55mm x 0.65mm
5. Display Format: 5x8 dots matrix per character
6. Operating Voltage: 4.7V to 5.3V
7. Current Consumption: 1mA without backlight, 4mA with backlight
8. Backlight Type: LED backlight, available in green or blue
9. Controller IC: HD44780 or compatible
10. Interface: Parallel interface, 4-bit or 8-bit data modes
11. Contrast Adjustment: Potentiometer control (typically pin 3)
12. Pin Count: 16 pins
13. PCB Dimensions: 80mm x 36mm x 10mm
14. Viewing Area: 72mm x 25mm
15. Operating Temperature Range: -20°C to 70°C
16. Storage Temperature Range: -30°C to 80°C
17. Response Time: 200ms (typical)
18. Dot Pitch: 0.60mm x 0.60mm
19. Weight: Approximately 30 grams
20. Mounting Style: PCB through-hole

4.3.4 APPLICATIONS OF LCD:


A 16x2 LCD display is incredibly versatile and finds meaningful application in a
variety of fields:
 Home Automation
 Consumer Electronics
 Educational Tools
 DIY Projects
 Security Systems
 In most of the applications that’s have only small values to show, uses the LCD.
 Most of the commercial meters use this module to represent the data output.

4.4 LED’S:
INTRODUCTION:

A light-emitting diode (LED) is a semiconductor diode that emits light when an


electrical current is applied in the forward direction of the device, as in the simple LED
circuit. The effect is a form of electroluminescence. Where incoherent and narrow-spectrum
light is emitted from the p-n junction.

Fig 4.6: LED’S


LEDs are widely used as indicator lights on electronic devices and increasingly in
higher power applications such as flashlights and area lighting. An LED is usually a small
area (less than 1 mm2) light source, often with optics added to the chip to shape its radiation
pattern and assist in reflection. The color of the emitted light depends on the composition and
condition of the semi conducting material used, and can be infrared, visible, or ultraviolet.
Besides lighting, interesting applications include using UV-LEDs for sterilization of water
and disinfection of devices, and as a grow light to enhance photosynthesis in plants.

BASIC PRINCIPLE:

Like a normal diode, the LED consists of a chip of semi conducting material
impregnated, or doped, with impurities to create a p-n junction. As in other diodes, current
flows easily from the p-side, or anode, to the n-side, or cathode, but not in the reverse
direction. Charge-carriers electrons and holes flow into the junction from electrodes with
different voltages. When an electron meets a hole, it falls into a lower energy level, and
releases energy in the form of a photon.

The wavelength of the light emitted, and therefore its color, depends on the band gap energy
of the materials forming the p-n junction.LEDs are usually built on an n-type substrate, with
an electrode attached to the p-type layer deposited on its surface. P-type substrates, while less
common, occur as well.

Fig 4.7: Basic principle of LED


BASIC LED TYPES:

 Miniature LEDs
 Five- and twelve-volt LEDs
 Flashing LEDs
 High power LEDs
 Multi-color LEDs
 Alphanumeric LEDs

SPECIFICATIONS:

 Voltage: Operates at 1.8–3.6V.


 Current: Typical range is 10–50 mA.
 Power: From 0.1W to over 100W for high-power LEDs.
 Lifespan: 25,000–100,000 hours.
 Operating Temperature: -40°C to +85°C.
 Luminous Efficiency: 50–150 lm/W

APPLICATIONS:

 Home Lighting: Energy-efficient bulbs and tubes for residential use.


 Automotive: Used in headlights, taillights, and interior lighting.
 Displays: Found in TVs, smart phones, and billboards.
 Street Lighting: Bright and durable for roads and public spaces.
 Horticulture: Optimizes plant growth with specific light wavelengths.
 Medical: For surgical lighting, therapy, and UV sterilization.
 Industrial: Machine vision, warning signals, and explosion-proof lights.
 Decorative: Mood lighting for events and architecture.
 IR LEDs: In remotes and sensors.
4.5 PUSH BUTTONS / SWITCHES:
A push button switch is a mechanical device used to control an
electrical circuit in which the operator manually presses a button to
actuate an internal switching mechanism.
Push button switches rely on a simple in-out actuation mechanism. They can be
employed to break (off) or initiate (on) a circuit. Alternatively, they can provide an input for
the user interface of a piece of equipment or start/stop a particular function.

Fig 4.8: Push button/Switch

SPECIFICATIONS:

 Mode of Operation: Tactile feedback (provides a click sensation)


 Power Rating: Maximum 50mA at 24V DC
 Insulation Resistance: 100MΩ at 100V
 Operating Force: 2.55 ± 0.69 N (approximately 0.58 ± 0.15 lbs)
 Contact Bounce: Maximum 5ms
 Dielectric Withstanding Voltage: 250V AC for 1 minute
 Operating Temperature Range: -20°C to +70°C
 Storage Temperature Range: -20°C to +70°C
 Voltage rating: Up to 24V dc
 Current rating: Up to 14mA

APPLICATIONS:

 Calculators
 Push-button telephones
 Kitchen appliances
 Magnetic locks
 Various other mechanical and electronic devices.
4.6 BUZZER/SOUNDER:

A buzzer is an electronic device that generates buzzing or beeping sounds through


electromechanical vibration when an electric current passes through it. There are different
types of buzzers, including electromagnetic, piezoelectric, and mechanical, each with
unique sound-producing mechanisms and characteristics such as volume and frequency range.
Electromagnetic buzzers use an electromagnet and moving armature, piezoelectric buzzers
rely on the piezoelectric effect in materials like quartz or ceramic and mechanical buzzers
generate sound through a mechanical oscillator. Buzzers are widely used for audible alarms,
notifications, and user feedback in electronic devices, appliances, industrial equipment,
games, toys, and security systems. They typically operate at low voltages and can be easily
integrated into circuits controlled by microcontrollers or other digital devices, making them
essential for providing auditory alerts and enhancing user interaction and safety.

Fig 4.9: Buzzer/Sounder

SPECIFICATIONS OF BUZZER:

 Rated Voltage: 3~5 V


 Sound Output at 10cm with 2048Hz Square Wave: ≥85 dB
 Frequency Range: 50~14,000 Hz
 Resonant Frequency: 2048 Hz
 Operating Temperature: -20 to 60°C
 Pin Pitch: 6mm
 External Material: Plastic
 Color: Black
 The supply current is below 15mA
APPLICATIONS OF BUZZERS:

 Communication Devices
 Electronics used in Automobiles
 Alarm Circuits
 Portable Devices
 Security Systems
 Timers
 Household Appliances
 Electronic Metronomes(a tool used in music)
 Sporting Events
 Game Shows

4.7 JUMPER WIRES:

A jump wire (also known as jumper, jumper wire, DuPont wire) is an electrical wire,
or group of them in a cable, with a connector or pin at each end (or sometimes without them –
simply “tinned”), which is normally used to interconnect the components of a breadboard or
other prototype or test circuit, internally or with other equipment or components, without
soldering.

Fig 4.10: Jumper wires


4.8 POWER SUPPLY:
4.8.1 INTRODUCTION:
The Arduino Uno operates on 5V, but it can accept a 12V input through its Vin pin,
which is then regulated down to 5V internally. A 12V power supply with a 1A output ensures
that the system has enough power to operate the Arduino and any peripherals such as the
fingerprint sensor (which may require higher voltage and current), a display and the
components involved in the voting mechanism. For example the Arduino Adapter is a 12V -
1A regulated supply can be shown as below.

Fig 4.11: Block Diagram of a Regulated Power Supply System

Similarly, 15v regulated supply can also be produced by suitable selection of the
individual elements. Each of the blocks is described in detail below and the power supplies
made from these blocks are described below with a circuit diagram and a graph of their
output.

4.8.2 TRANSFORMER:
A transformer steps down high voltage AC mains to low voltage AC. Here we are
using a center-tap transformer whose output will be sinusoidal with 12 volts peak to peak
value.

Fig 4.12: Output Waveform of transformer


The low voltage AC output is suitable for lamps, heaters and special AC motors. It is
not suitable for electronic circuits unless they include a rectifier and a smoothing capacitor.
The transformer output is given to the rectifier circuit.

4.8.3 RECTIFIER:
A rectifier converts AC to DC, but the DC output is varying. There are several types of
rectifiers; here we use a bridge rectifier.

The Bridge rectifier is a circuit, which converts an ac voltage to dc voltage using both
half cycles of the input ac voltage. The Bridge rectifier circuit is shown in the figure. The
circuit has four diodes connected to form a bridge. The ac input voltage is applied to the
diagonally opposite ends of the bridge. The load resistance is connected between the other two
ends of the bridge.

For the positive half cycle of the input ac voltage, diodes D1 and D3 conduct, whereas
diodes D2 and D4 remain in the OFF state. The conducting diodes will be in series with the
load resistance RL and hence the load current flows through R L.For the negative half cycle of
the input ac voltage, diodes D2 and D4 conduct whereas, D1 and D3 remain OFF. The
conducting diodes D2 and D4 will be in series with the load resistance R L and hence the
current flows through RL in the same direction as in the previous half cycle. Thus a bi-
directional wave is converted into unidirectional.
Fig 4.13: Rectifier Circuit

Fig 4.15: 12V-1A adapter

Fig 4.14: Output of the Rectifier

4.8.4 SMOOTHING / FILTERING:


The smoothing block smoothes the DC from varying greatly to a small ripple and the
ripple voltage is defined as the deviation of the load voltage from its DC value. Smoothing is
also named as filtering.
Filtering is frequently effected by shunting the load with a capacitor. The action of this
system depends on the fact that the capacitor stores energy during the conduction period and
delivers this energy to the loads during the no conducting period. In this way, the time during
which the current passes through the load is prolonging Ted, and the ripple is considerably
decreased. The action of the capacitor is shown with the help of waveform.

Fig 4.16: Smoothing action of capacitor


Fig 4.17: Waveform of the rectified output smoothing

4.8.5 REGULATOR:

Regulator eliminates ripple by setting DC output to a fixed voltage. Voltage regulator


ICs are available with fixed (typically 5V, 12V and 15V) or variable output voltages.
Negative voltage regulators are also available. Many of the fixed voltage regulator ICs has 3
leads (input, output and high impedance). They include a hole for attaching a heat sink if
necessary. Zener diode is an example of fixed regulator which is shown here.

Fig 4.18: Regulator


Transformer + Rectifier + Smoothing + Regulator:

Fig 4.19: Full wave bridge rectifier

CHAPTER-5
SOFTWARE DESCRIPTION
5.1 ARDUINO IDE:
Arduino is a prototype platform (open-source) based on an easy-to-use hardware and
software. It consists of a circuit board, which can be programmed (referred to as a
microcontroller) and a ready-made software called Arduino IDE (Integrated Development
Environment), which is used to write and upload the computer code to the physical board.

5.1.1 ABOUT THE ARDUINO IDE TOOLS

After learning about the main parts of the Arduino UNO board, we are ready to learn
how to set up the Arduino IDE. Once we learn this, we will be ready to upload our program
on the Arduino board. In this section, we will learn in easy steps, how to set up the Arduino
IDE on our computer and prepare the board to receive the program via USB cable.

Step 1 – First you must have your Arduino board (you can choose your favorite board) and a
USB cable. In case you use Arduino UNO, Arduino Duemilanove, Nano, Arduino Mega
2560, or Diecimila, you will need a standard USB cable (A plug to B plug), the kind you
would connect to a USB printer as shown in the following image.
Fig 5.1: A to B standard USB cable

Step 2 – Download Arduino IDE Software.


You can get different versions of Arduino IDE from the Download page on the
Arduino Official website. You must select your software, which is compatible with your
operating system (Windows, IOS, or Linux). After your file download is complete, unzip the
file.
Step 3 – Power up your board.
The Arduino Uno, Mega, Duemilanove and Arduino Nano automatically draw power
from either, the USB connection to the computer or an external power supply. If you are using
an Arduino Diecimila, you have to make sure that the board is configured to draw power from
the USB connection. The power source is selected with a jumper, a small piece of plastic that
fits onto two of the three pins between the USB and power jacks. Check that it is on the two
pins closest to the USB port.
Connect the Arduino board to your computer using the USB cable. The green power
LED (abelled PWR) should glow.
Step 4 – Launch Arduino IDE.
After your Arduino IDE software is downloaded, you need to unzip the folder. Inside
the folder, you can find the application icon with an infinity label (application.exe). Double-
click the icon to start the IDE.
Step 5 – Open your first project.
Once the software starts, you have two options –
 Create a new project.
 Open an existing project example.
 To create a new project, select File → New
.

To open an existing project example, select File → Example → Basics → Blink.


Here, we are selecting just one of the examples with the name Blink. It turns the LED on and
off with some time delay. You can select any other example from the list.

Step 6 – Select your Arduino board.


To avoid any error while uploading your program to the board, you must select the
correct Arduino board name, which matches with the board connected to your computer.
Go to Tools → Board and select your board.
Here, we have selected Arduino Uno board according to our tutorial, but you must select the
name matching the board that you are using.

Step 7 – Select your serial port.


Select the serial device of the Arduino board. Go to Tools → Serial Port menu. This
is likely to be COM3 or higher (COM1 and COM2 are usually reserved for hardware serial
ports). To find out, you can disconnect your Arduino board and re-open the menu, the entry
that disappears should be of the Arduino board. Reconnect the board and select that serial
port.
Step 8 – Upload the program to your board.
Before explaining how we can upload our program to the board, we must demonstrate
the function of each symbol appearing in the Arduino IDE toolbar.

A – Used to check if there is any compilation error.


B – Used to upload a program to the Arduino board.
C – Shortcut used to create a new sketch.
D – Used to directly open one of the example sketch.
E – Used to save your sketch.
F – Serial monitor used to receive serial data from the board and send the serial data to the
board.
Now, simply click the “Upload” button in the environment. Wait a few seconds; you
will see the RX and TX LEDs on the board, flashing. If the upload is successful, the message
“Done uploading” will appear in the status bar.
Note –If you have an Arduino Mini, NG, or other board, you need to press the reset button
physically on the board, immediately before clicking the upload button on the Arduino
Software.

5.2 CODE OF THE PROJECT:


#include <LiquidCrystal.h>
#include <Adafruit_Fingerprint.h>
const int rs = 13, en = 12, d4 = 11, d5 = 10, d6 = 9, d7 =8 ;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int party1=0,party2=0,party3=0;
int
person1=0,person2=0,person3=0,person4=0,person5=0,person6=0,person7=0,person8=0,pers
on9=0,person10=0;
SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
uint8_t id=1;
int enr=A0;
int idf=A1;
int result=4;
int p1=7;
int p2=6;
int p3=5;
int p11=0,p22=0,p33=0;
int buzzer=A5;
int idnumber;
String inputString = ""; // a String to hold incoming data
boolean stringComplete = false;
int red=A2;
int green=A3;

void setup()
{
pinMode(red,OUTPUT);digitalWrite(red,LOW);
pinMode(green,OUTPUT);digitalWrite(green,LOW);
pinMode(A4,OUTPUT);digitalWrite(A4,HIGH);
pinMode(buzzer,OUTPUT);digitalWrite(buzzer,HIGH);
lcd.begin(16, 2);delay(1000);
lcd.setCursor(0,0); lcd.print("VOTING MACHINE");delay(1000);
lcd.setCursor(0,1); lcd.print("USING BIOMETRIC");delay(1000);
Serial.begin(9600);

finger.begin(57600); // set the data rate for the sensor serial port

pinMode(enr,INPUT_PULLUP); pinMode(idf,INPUT_PULLUP);
digitalWrite(enr,HIGH); digitalWrite(idf,HIGH);
pinMode(p1,INPUT_PULLUP);pinMode(p2,INPUT_PULLUP);
pinMode(p3,INPUT_PULLUP); pinMode(result,INPUT_PULLUP);

digitalWrite(p1,HIGH);digitalWrite(p2,HIGH);digitalWrite(p3,HIGH);digitalWrite(result,HI
GH);

while (!Serial);
delay(100);
//Serial.println("\n\nFingerprint code by using Arduino");

if (finger.verifyPassword()) {
//// Serial.println("Found fingerprint sensor!");
} else {
// Serial.println("Did not find fingerprint sensor :(");
// Serial.println("Please turn off and turn on the power");
while (1) { delay(1); }
}
lcd.clear();lcd.print("Ready to use>>>");
}

void loop() // run over and over again


{
back:

lcd.clear();lcd.print("Ready to use>>>");
if(digitalRead(enr)==LOW)
{
lcd.clear();lcd.print("Enrolling....");delay(1000);
getFingerprintEnroll();
delay(1000);
lcd.clear();
}

if(digitalRead(idf)==LOW)
{
lcd.clear();lcd.print("identifing.....");delay(1000);
idnumber=getFingerprintID();
if(idnumber==1)
{
lcd.clear();lcd.print("PERSON-1");delay(1000);
person1=person1+1;
if(person1>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);

goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}

if(idnumber==2)
{
lcd.clear();lcd.print("PERSON-2");delay(1000);
person2=person2+1;
if(person2>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}

if(idnumber==3)
{
lcd.clear();lcd.print("PERSON-3");delay(1000);
person3=person3+1;
if(person3>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}

if(idnumber==4)
{
lcd.clear();lcd.print("PERSON-4");delay(1000);
person4=person4+1;
if(person4>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}

if(idnumber==5)
{
lcd.clear();lcd.print("PERSON-5");delay(1000);
person5=person5+1;
if(person5>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}

if(idnumber==6)
{
lcd.clear();lcd.print("PERSON-6");delay(1000);
person6=person6+1;
if(person6>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}

if(idnumber==7)
{
lcd.clear();lcd.print("PERSON-7");delay(1000);
person7=person7+1;
if(person7>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}
if(idnumber==8)
{
lcd.clear();lcd.print("PERSON-8");delay(1000);
person8=person8+1;
if(person8>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}
}
if(idnumber==9)
{
lcd.clear();lcd.print("PERSON-9");delay(1000);
person9=person9+1;
if(person9>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}
if(idnumber==10)
{
lcd.clear();lcd.print("PERSON-10");delay(1000);
person10=person10+1;
if(person10>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}
if(digitalRead(result)==LOW)
{
lcd.clear();
lcd.clear();lcd.print("PARTY_1:");lcd.print(party1);delay(1000);
lcd.clear();lcd.print("PARTY_2:");lcd.print(party2);delay(1000);
lcd.clear();lcd.print("PARTY_3:");lcd.print(party3);delay(1000);
//lcd.clear();lcd.print("Data Earsing.....");delay(1000);party1=party2=party3=0;delay(1000);
lcd.clear();goto back;
}
}

CHAPTER-6
RESULTS
OFF CONDITION:
When the KIT is OFF (power supply is disconnected), leaving all components
inactive. The LCD display is blank, and the fingerprint sensor, LEDs, and buzzer remain non-
functional. The system awaits power to resume operations and register inputs.
Fig 6.1: Kit is in OFF condition

ON CONDITION:
When the kit is ON, the LCD display lights up, showing instructions and the
fingerprint sensor is ready to scan. LEDs indicate system status, the green LED signifying
successful vote and the red LED indicating failure/errors. The push buttons and buzzer
provide user interaction and feedback during the voting process.

Fig 6.1: Kit is in ON condition


This message indicates that the voting system is initialized and ready to accept inputs
from voters. It confirms that the fingerprint sensor, Arduino, and other components are
functioning properly.

The message "Enrolling" is displayed to indicate that the system is recording and
saving the new fingerprint.

This represents the position of the voter in the database (e.g., the first registered voter).

After a user places their finger on the fingerprint sensor, this message is displayed
while the system matches the input fingerprint with the database of registered voters.

This message is displayed after successful fingerprint identification. It prompts the


voter to select their preferred candidate or option from the list provided, typically via push
buttons connected to the Arduino.
If a fingerprint is recognized but matches a voter who has already cast their vote, this
message is displayed to prevent double voting. It ensures that each registered voter can only
vote once.

CHAPTER-7
ADVANTAGES AND APPLICATIONS
ADVANTAGES:
 Cost is less, because human interventions are less in the system.
 Due to use of fingerprint scanner the cross voting cannot be done.
 Results can be declared in very short time.
 The overall system installation is effortless.
 It reduces the human effort in counting.
 It is reliable and secure.

APPLICATIONS:
This project can be used as a voting machine to prevent rigging, during the elections in the
polling booths.
 Fast track voting which could be used in small scale elections, like resident welfare
Association, “panchayat” level elections and other society level elections, where
results can be instantaneous.
 It can also be used to conduct opinion polls during annual shareholders meeting.
 It can also be used to conduct general assembly elections where number of candidates
are less than or equal to eight in the current situation, on a small scale basis.
 This system also used in School And University Elections.
 Corporate Elections etc...

CONCLUSION AND FUTURESCOPE

CONCLUSION:
The system I created overcomes most of the difficulties faced by the voters during the
voting period by the ballot system and Electronic voting Machine (EVM). This will ensure
more justified method of voting which is very much required for a healthy and corruption free
elections in developing nations. This new method of voting prevents rigging, provides ease of
use, transparency, maintains integrity of the process and equality. This system also checks
eligibility and allows only “ONE PERSON ONE VOTE”.

FUTURESCOPE:
The fingerprint-based voting system using Arduino Uno is promising, particularly in
enhancing the security, efficiency, and accessibility of elections. With increasing concerns
over voter fraud and manipulation, a fingerprint-based system offers a reliable solution for
verifying voter identity, eliminating the possibility of duplicate voting and impersonation. The
use of Arduino Uno, a low-cost and versatile microcontroller, makes this technology
accessible for developing countries, where conventional electronic voting systems may be
prohibitively expensive. Furthermore, the simplicity of Arduino programming allows for easy
customization and integration with other security measures like encryption and block chain
technology, which can enhance data integrity.

As biometric technology becomes more advanced and affordable, the system can be
further scaled to accommodate large populations. Future advancements in sensor accuracy,
data processing speed, and wireless communication could lead to real-time voter verification,
enabling more seamless and secure remote or online voting options. Additionally, integrating
cloud-based databases with the system can provide centralized, secure storage of voter data,
reducing administrative overhead and streamlining the electoral process. In summary, this
system has the potential to revolutionize voting by ensuring higher transparency, accuracy,
and inclusivity.

REFERENCES

1. Vishal Vilas Natu, 2014. Smart-Voting using Biometric “International Journal of


Emerging Technology and Advanced Engineering, 4(6).
2. Khasawneh, M., M. Malkawi and O. Al-Jarrah, 2008.A Biometric-Secure e-Voting
System for Election Process, Proceeding of the 5th International Symposium on
Mechatronics and its Applications (ISMA08), Amman, Jordan.
3. Virendra Kumar Yadav, SaumyaBatham, Mradul Jain, Shivani Sharma, 2014. An
Approach to Electronic Voting System using UIDAI, International Conference on
Electronics and Communication Systems.
4. Chaum, D.L., 1981. Untraceable Electronic Mail, Return Addresses and Digital
Pseudonyms, Communications of the ACM, 24(2): 84-88. Ashok, Kumar D. and T.
Ummal Begum, 2011. A Novel design of Electronic Voting System Using Fingerprint.
5. Jefferson, D., A. Rubin, B. Simons and D. Wagner, 2009. A Security Analysis of the
Secure Electronic Registration and Voting Experiment (SERVE), Technical Report,
available at: http://www.servesecurityreport.org, last visited 2009.
6. Qijun Zhao, Lei Zhang, David Zhang and Nan Luo, 2008. Adaptive Pore Model for
Fingerprint Pore Extraction. Proc. IEEE, 978-1-4244-2175-6/08.
7. Moheb R. Girgis, Tarek M. Mahmoud and Tarek Abd-El-Hafeez, 2007. An Approach
to Image Extraction and Accurate Skin Detection from WebPages. World academy of
Science, Engineering and Technology, pp: 27.
8. Manvjeet Kaur, Mukhwinder Singh, Akshay Girdhar and Parvinder S. Sandhu, 2008.
Fingerprint Verification System using Minutiae Extraction Technique. World academy
of Science, Engineering and Technology, pp: 46.
9. Hoi Le and the Duy Bui, 2009. Online fingerprint identification with a fast and
distortion tolerant hashing. Journal of Information Assurance and Security, 4: 117-123

You might also like