Skip to content

LAKSHMAN1410/Electronic-Voting-Machine-using-Arduino-Uno

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📡 Electronic Voting Machine using Arduino Uno

An Arduino Uno-based Electronic Voting Machine (EVM) designed to provide a secure, cost-effective, and efficient voting solution.

The system uses push buttons for candidate selection, a 16x2 LCD display for live vote count, and LED indicators for visual confirmation. This project demonstrates how microcontroller-based systems can modernize traditional voting methods.


📌 Project Overview

This project implements a mini Electronic Voting Machine prototype using Arduino Uno.

The system eliminates paper ballots and manual counting errors by automating the vote recording and result declaration process. It is suitable for:

  • School and college elections
  • Community voting
  • Organizational polls
  • Educational demonstrations

🔎 Introduction

Electronic Voting Machines (EVMs) simplify elections by replacing traditional ballot systems with electronic input and automatic counting.

This Arduino-based prototype ensures:

  • Transparency
  • Faster result processing
  • Reduced human error
  • Simple and user-friendly interface

It serves as a foundational model for understanding how real-world digital voting systems operate.


🧩 Components Used

Component Quantity Description
Arduino Uno 1 Main microcontroller (control unit)
Push Buttons 4–5 Candidate selection & result button
16x2 LCD Display 1 Displays vote count & results
LED (Green) 1 Vote confirmation indicator
LED (Red) 1 Result declaration indicator
Resistors (220Ω / 10kΩ) As required Current limiting & pull-down resistors
Jumper Wires As required Circuit connections
Breadboard 1 Prototyping board
Power Supply (5V) 1 Arduino power source

⚡ Circuit Connections

  • Buttons → Arduino Pins D2–D5
  • Green LED → Arduino Pin D12
  • Red LED → Arduino Pin D13
  • LCD → Arduino Pins 6–11
  • Power → 5V & GND from Arduino

Output --- ## ⚙️ Working Principle

🔹 1. Initialization

  • When powered ON, Arduino initializes the LCD, LEDs, and button inputs.
  • LCD displays "Voting Machine" and candidate names.
  • All vote counters reset to zero.

🔹 2. Voting Process

  • Each candidate has a dedicated push button.

  • When a voter presses a button:

    • Arduino reads input using digitalRead()
    • Corresponding vote counter increments
    • Green LED blinks to confirm vote
    • LCD updates vote count

🔹 3. Debouncing & Single-Vote Control

  • Code includes debouncing logic.
  • Arduino waits until button is released before accepting another vote.
  • Prevents multiple votes from a single press.

🔹 4. Result Declaration

When the result button is pressed:

  • Red LED lights up

  • Arduino compares vote counts

  • LCD displays:

    • “Candidate A Wins”
    • OR “Tie Up”
    • OR “No Voting” (if no votes cast)

🔹 5. Reset Mechanism

After result display:

  • Vote counters reset to zero
  • LCD clears
  • LEDs turn off
  • System prepares for next session

🔹 6. Security & Reliability

  • LED confirmation ensures vote registration visibility
  • One vote per press ensured by software logic
  • Votes stored temporarily in Arduino memory
  • Reset occurs only after result declaration

💯 Result

  • Before voting: LCD shows candidate list
  • After voting: LCD shows winner or tie result
  • LEDs indicate vote confirmation and result phase

(Add your result images here in GitHub)


📌 Applications

  • School & college elections
  • Small-scale community voting
  • Corporate board voting
  • Embedded systems learning
  • Prototyping advanced EVM systems

✅ Advantages

  • Cost-effective and portable
  • Simple and easy-to-use interface
  • Faster result processing
  • Reduces human counting errors
  • Eco-friendly (paperless system)
  • Modular design for expansion

⚠️ Limitations

  • Suitable only for small-scale elections
  • Basic security (no authentication system)
  • Depends on continuous power supply
  • No permanent storage of votes
  • No biometric or RFID verification

✨ Features

  • Arduino Uno as control unit
  • Push-button candidate selection
  • 16x2 LCD for live vote display
  • LED indicators for confirmation
  • Automatic result declaration
  • Reset for new voting session

🚀 Future Enhancements

  • Integration with RFID / Fingerprint module for voter authentication
  • Add EEPROM or SD card for permanent vote storage
  • Wireless monitoring using WiFi/Bluetooth
  • Encrypted vote storage
  • Tamper-proof casing
  • Support for larger number of candidates

🏁 Conclusion

The Arduino-based Electronic Voting Machine successfully demonstrates a secure, transparent, and automated voting mechanism for small-scale elections.

By combining microcontroller programming, hardware interfacing, and digital vote counting, this project eliminates manual counting errors and speeds up the result declaration process.

Although basic in security features, it provides a strong foundation for developing more advanced and scalable electronic voting systems.

This working model highlights how embedded systems can modernize traditional voting processes efficiently and affordably.

About

An Arduino Uno-based Electronic Voting Machine (EVM) designed for secure, cost-effective, and efficient voting. Features include push-button candidate selection, LCD vote display, and LED feedback. Ideal for schools, colleges, and small communities, ensuring accuracy, transparency, and eco-friendly elections.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors