Skip to content

A secure Arduino-based electronic voting system using PIN authentication and EEPROM to prevent duplicate voting. Designed with tamper detection and persistent storage for reliable small-scale elections.

License

Notifications You must be signed in to change notification settings

zZOKofficial/ElectronicVotingMachine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Electronic Voting Machine (Arduino)

A secure Arduino-based electronic voting system implementing PIN authentication, EEPROM-backed vote persistence, and tamper detection for small-scale elections.

Highlights

  • PIN-based voter authentication with one-vote enforcement
  • EEPROM index mapping to prevent duplicate voting across power cycles
  • Finite State Machine (WAIT → VOTE → LOCK) for controlled execution
  • Tamper detection via invalid input and simultaneous button press monitoring
  • Real-time feedback using LCD, buzzer, and lock indicator LED

Technical Stack

  • Microcontroller: Arduino Uno
  • Input: 4×4 Keypad, Push Buttons
  • Output: 16×2 I2C LCD, Buzzer, LED
  • Storage: Arduino EEPROM
  • Concepts: Embedded Systems, State Machines, Non-Volatile Memory, Input Validation

System Behavior

  • Verifies voters using predefined 5-digit PINs
  • Ensures one-person-one-vote using persistent EEPROM flags
  • Automatically locks on tampering or invalid operations
  • Preserves vote data during reset or power failure

Simulation

Functional behavior validated through circuit and logic simulation.

Initial Setup
System initialization and idle state before voter interaction

PIN Entry Screen
PIN input interface via keypad

Authentication Success
Successful PIN verification

Vote Casting
Candidate selection and vote registration

System Lock
System lock triggered after vote or tampering

Invalid PIN
Access denied due to incorrect PIN entry

Already Voted
Vote rejected for a PIN already marked as voted in EEPROM

Hardware Implementation

Physical prototype assembled and tested using off-the-shelf components.

Prototype Overview
Complete electronic voting machine prototype

Internal Wiring
Internal circuit connections and testing setup

Scope

Designed for academic, institutional, and small-scale elections where reliability, security, and low cost are required.

Future Improvements

  • Biometric authentication (fingerprint / face recognition)
  • Encrypted vote storage
  • Wireless result transmission
  • Larger voter database support

About

A secure Arduino-based electronic voting system using PIN authentication and EEPROM to prevent duplicate voting. Designed with tamper detection and persistent storage for reliable small-scale elections.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages