ESP32 Fingerprint Voting Machine with Live Web Dashboard
Build a Fingerprint biometric Voting Machine using ESP32, fingerprint sensor, OLED display, and a professional web dashboard with C++ Code
- Suitable forB.Tech/Diploma ESP32/IoT students
- Build time1-2 weeks
- LevelBeginner
- Available atAjvika Labs, Kakinada
About this project
Overview
In this IoT project, we will learn how to build an
ESP32 Fingerprint Voting Machine with Live Web Dashboard
using
ESP32
R503 Fingerprint Sensor
, 0.96” OLED Display, four candidate push buttons, and a professional
web dashboard
. The ESP32 Wi-Fi module connects the system to a local network and hosts a
real-time voting dashboard
directly from the device. The R503 fingerprint sensor is used to
enroll voters
and
verify identity
before voting, while the OLED display shows system status, scan instructions, voter name, candidate selection prompts, vote confirmation, and registration messages.
This
ESP32-based biometric voting machine
allows voters to register their
fingerprint
along with personal details such as name, ID number, date of birth, sex, and city. Once a registered voter scans their finger, the system opens a short voting window and the voter presses one of four candidate buttons to cast a vote. Each fingerprint can vote only once. The dashboard displays live vote distribution, turnout, leading candidate, live activity feed, vote history, registered voter records, and election results. Vote data can also be exported as a
CSV file
for record-keeping or analysis.
The live web dashboard makes this project more advanced by providing a user-friendly interface for voter enrollment, live election monitoring, vote history, voter management, election reset, and fingerprint deletion. This project is a practical and low-cost solution for building a
secure electronic voting machine
with real-time results and biometric voter verification.
Components Required
Following are the components required to make the ESP32 Fingerprint Voting Machine with Live Web Dashboard. All these components can be purchased from the given links.
S.N.
Components Name
Quantity
Purchase Link
1
ESP32 Board
1
Amazon
AliExpress
2
R503 Fingerprint Sensor
1
Amazon
AliExpress
3
OLED Display 0.96\"
1
Amazon
AliExpress
4
10uF Electrolytic Capacitor
2
Amazon
AliExpress
5
0.1uF Ceramic Capacitor
4
Amazon
AliExpress
6
Jumper Wires
4
Amazon
AliExpress
Block Diagram of ESP32 Fingerprint Voting Machine
Let’s take a look at the
block diagram
of the ESP32-based
Fingerprint Voting Machine with Live Web Dashboard
Fig: Block Diagram ESP32 Fingerprint Voting Machine
In this system, the R503 fingerprint sensor works as the input device and sends
fingerprint data
to the ESP32 for voter verification. After a registered voter is verified, the ESP32 displays instructions on the
OLED screen
, waits for a candidate button press, records the vote, and updates the web dashboard for
real-time election monitoring
The dashboard can show
registered voters
, live vote counts, turnout, leading candidate, vote history, and other election details in a simple and organized way.
R503 Fingerprint Module
The
R503 fingerprint sensor
is a compact biometric fingerprint identification module used for fingerprint enrollment, storage, and matching. It uses an optical fingerprint sensing system to capture a finger image, extract fingerprint features, and compare them with stored templates inside the module.
The sensor supports both
1:1 matching
and
1:N searching
. During enrollment, the user places the same finger two times. The module processes both fingerprint images, generates a fingerprint template, and stores it in its internal memory. During verification, the module captures a new fingerprint image and compares it with stored templates to identify whether the fingerprint matches or not.
Features & Specifications
The R503 fingerprint sensor is suitable for security systems, attendance systems, access control, smart locks, and embedded biometric projects.
Feature
Specification
Operating Voltage
DC 3.3V
Interface
UART, 3.3V TTL logic level
Default Baud Rate
57600 bps
Baud Rate Range
9600 to 115200 bps
Matching Mode
1:1 and 1:N
Fingerprint Storage Capacity
200 templates
Image Resolution
508 dpi
Sensing Array
192 × 192 pixels
Detection Area
15 mm diameter
Fingerprint Image Capture Time
Less than 0.2 seconds
Feature Generation Time
Less than 500 ms
Template Size
768 bytes
Characteristic Value Size
384 bytes
Security Levels
1 to 5, with 5 being the highest
False Acceptance Rate, FAR
Less than 0.001%
False Rejection Rate, FRR
Less than 1%
Working Current
Around 20 mA during fingerprint acquisition
Standby Current
Around 2 µA in touch standby mode
Working Temperature
-20°C to +60°C
Storage Temperature
-40°C to +75°C
The module also includes functions for enrolling fingerprints, deleting templates, clearing the fingerprint library, searching stored fingerprints, reading template count, controlling the LED ring, and checking sensor status. It communicates using a serial UART protocol, making it easy to use with microcontrollers such as ESP32, Arduino, STM32, and Raspberry Pi Pico.
Wiring
The R503 fingerprint sensor uses a
6-pin MX1.0 connector
. It communicates with the microcontroller through UART serial communication.
R503 Pin
Pin Name
Description
1
Power Supply
DC 3.3V
2
GND
Ground
3
TXD
Data output from sensor
4
RXD
Data input to sensor
5
WAKEUP
Finger detection signal
6
3.3VT
Touch induction power supply, DC 3–6V
Circuit Diagram
Let’s take a look at the schematic of the
ESP32-based Fingerprint Voting Machine
Fig: Schematic ESP32-based Fingerprint Voting Machine
In this circuit, the ESP32 works as the main controller and is connected with the
R503 fingerprint sensor
, OLED display, and four candidate push buttons on GPIO pins
D5
D18
D19
, and
D23
. The
R503 fingerprint sensor
communicates with the ESP32 through UART pins, while the
OLED display
uses the I2C pins for showing scan status, voter name, candidate selection prompts, vote confirmation, and system messages.
The
four candidate push buttons
are connected as active-low inputs with internal pull-up resistors. After a registered voter scans their fingerprint, they press one button to vote for Candidate 1, 2, 3, or 4. Voter enrollment is done only from the web dashboard, not from physical buttons.
Pull-up resistors
are used with the buttons, so the ESP32 can read a stable HIGH or LOW signal when a button is pressed.
Capacitors
are also added near the modules to make the
power supply
more stable and reduce noise in the circuit.
PCB Designing & Gerber Files
The schematic of the
ESP32 Fingerprint Voting Machine
was created in
EasyEDA
, and from there it was converted into a compact PCB layout.
The board is designed with mostly
through-hole components
to make easier assembly. You can view the 2D view of the PCB.
All of the critical components, including the ESP32 module, are placed on the
front side of the PCB
, which makes assembly easier and more reliable.
Here are the link of files that you can download for PCB manufacturing and PCB assembly services.
Download:
Schematic PDF
Download:
Gerber File
PCB Ordering Online & Assembly
The
Gerber file
for this
ESP32 Fingerprint Voting Machine
is provided above. You can download the Gerber file and place an order with a PCB manufacturer like
AIVON
for as low as $1 for a PCB Prototype.
To order the PCB, visit the
AIVON Official Website
and upload the Gerber file using the
Quote Now
option. You can then choose your required parameters, such as
Material Type, Dimensions, Quantity, Thickness, and Solder Mask Color.
AIVON
is making PCB prototyping and assembly more affordable for new users by offering
$1 PCB Prototype
and
$35 PCB Assembly
with Shipping fee
$30 OFF
on your first PCB order. With this promotion, you can enjoy
free shipping
on your first order and affordable assembly service for your project.
Here is the promotion link
:
AIVON PCB/PCBA Promotion Offer
Once all the details are filled in, select your country and shipping method. After confirming everything, you can place the order and wait for your boards to arrive.
Assembly of the ESP32 Fingerprint Voting Machine
After I ordered the custom PCB, I received it within just
3 days
In this IoT project, we will learn how to build an
ESP32 Fingerprint Voting Machine with Live Web Dashboard
using
ESP32
R503 Fingerprint Sensor
, 0.96” OLED Display, four candidate push buttons, and a professional
web dashboard
. The ESP32 Wi-Fi module connects the system to a local network and hosts a
real-time voting dashboard
directly from the device. The R503 fingerprint sensor is used to
enroll voters
and
verify identity
before voting, while the OLED display shows system status, scan instructions, voter name, candidate selection prompts, vote confirmation, and registration messages.
This
ESP32-based biometric voting machine
allows voters to register their
fingerprint
along with personal details such as name, ID number, date of birth, sex, and city. Once a registered voter scans their finger, the system opens a short voting window and the voter presses one of four candidate buttons to cast a vote. Each fingerprint can vote only once. The dashboard displays live vote distribution, turnout, leading candidate, live activity feed, vote history, registered voter records, and election results. Vote data can also be exported as a
CSV file
for record-keeping or analysis.
The live web dashboard makes this project more advanced by providing a user-friendly interface for voter enrollment, live election monitoring, vote history, voter management, election reset, and fingerprint deletion. This project is a practical and low-cost solution for building a
secure electronic voting machine
with real-time results and biometric voter verification.
Components Required
Following are the components required to make the ESP32 Fingerprint Voting Machine with Live Web Dashboard. All these components can be purchased from the given links.
S.N.
Components Name
Quantity
Purchase Link
1
ESP32 Board
1
Amazon
AliExpress
2
R503 Fingerprint Sensor
1
Amazon
AliExpress
3
OLED Display 0.96\"
1
Amazon
AliExpress
4
10uF Electrolytic Capacitor
2
Amazon
AliExpress
5
0.1uF Ceramic Capacitor
4
Amazon
AliExpress
6
Jumper Wires
4
Amazon
AliExpress
Block Diagram of ESP32 Fingerprint Voting Machine
Let’s take a look at the
block diagram
of the ESP32-based
Fingerprint Voting Machine with Live Web Dashboard
Fig: Block Diagram ESP32 Fingerprint Voting Machine
In this system, the R503 fingerprint sensor works as the input device and sends
fingerprint data
to the ESP32 for voter verification. After a registered voter is verified, the ESP32 displays instructions on the
OLED screen
, waits for a candidate button press, records the vote, and updates the web dashboard for
real-time election monitoring
The dashboard can show
registered voters
, live vote counts, turnout, leading candidate, vote history, and other election details in a simple and organized way.
R503 Fingerprint Module
The
R503 fingerprint sensor
is a compact biometric fingerprint identification module used for fingerprint enrollment, storage, and matching. It uses an optical fingerprint sensing system to capture a finger image, extract fingerprint features, and compare them with stored templates inside the module.
The sensor supports both
1:1 matching
and
1:N searching
. During enrollment, the user places the same finger two times. The module processes both fingerprint images, generates a fingerprint template, and stores it in its internal memory. During verification, the module captures a new fingerprint image and compares it with stored templates to identify whether the fingerprint matches or not.
Features & Specifications
The R503 fingerprint sensor is suitable for security systems, attendance systems, access control, smart locks, and embedded biometric projects.
Feature
Specification
Operating Voltage
DC 3.3V
Interface
UART, 3.3V TTL logic level
Default Baud Rate
57600 bps
Baud Rate Range
9600 to 115200 bps
Matching Mode
1:1 and 1:N
Fingerprint Storage Capacity
200 templates
Image Resolution
508 dpi
Sensing Array
192 × 192 pixels
Detection Area
15 mm diameter
Fingerprint Image Capture Time
Less than 0.2 seconds
Feature Generation Time
Less than 500 ms
Template Size
768 bytes
Characteristic Value Size
384 bytes
Security Levels
1 to 5, with 5 being the highest
False Acceptance Rate, FAR
Less than 0.001%
False Rejection Rate, FRR
Less than 1%
Working Current
Around 20 mA during fingerprint acquisition
Standby Current
Around 2 µA in touch standby mode
Working Temperature
-20°C to +60°C
Storage Temperature
-40°C to +75°C
The module also includes functions for enrolling fingerprints, deleting templates, clearing the fingerprint library, searching stored fingerprints, reading template count, controlling the LED ring, and checking sensor status. It communicates using a serial UART protocol, making it easy to use with microcontrollers such as ESP32, Arduino, STM32, and Raspberry Pi Pico.
Wiring
The R503 fingerprint sensor uses a
6-pin MX1.0 connector
. It communicates with the microcontroller through UART serial communication.
R503 Pin
Pin Name
Description
1
Power Supply
DC 3.3V
2
GND
Ground
3
TXD
Data output from sensor
4
RXD
Data input to sensor
5
WAKEUP
Finger detection signal
6
3.3VT
Touch induction power supply, DC 3–6V
Circuit Diagram
Let’s take a look at the schematic of the
ESP32-based Fingerprint Voting Machine
Fig: Schematic ESP32-based Fingerprint Voting Machine
In this circuit, the ESP32 works as the main controller and is connected with the
R503 fingerprint sensor
, OLED display, and four candidate push buttons on GPIO pins
D5
D18
D19
, and
D23
. The
R503 fingerprint sensor
communicates with the ESP32 through UART pins, while the
OLED display
uses the I2C pins for showing scan status, voter name, candidate selection prompts, vote confirmation, and system messages.
The
four candidate push buttons
are connected as active-low inputs with internal pull-up resistors. After a registered voter scans their fingerprint, they press one button to vote for Candidate 1, 2, 3, or 4. Voter enrollment is done only from the web dashboard, not from physical buttons.
Pull-up resistors
are used with the buttons, so the ESP32 can read a stable HIGH or LOW signal when a button is pressed.
Capacitors
are also added near the modules to make the
power supply
more stable and reduce noise in the circuit.
PCB Designing & Gerber Files
The schematic of the
ESP32 Fingerprint Voting Machine
was created in
EasyEDA
, and from there it was converted into a compact PCB layout.
The board is designed with mostly
through-hole components
to make easier assembly. You can view the 2D view of the PCB.
All of the critical components, including the ESP32 module, are placed on the
front side of the PCB
, which makes assembly easier and more reliable.
Here are the link of files that you can download for PCB manufacturing and PCB assembly services.
Download:
Schematic PDF
Download:
Gerber File
PCB Ordering Online & Assembly
The
Gerber file
for this
ESP32 Fingerprint Voting Machine
is provided above. You can download the Gerber file and place an order with a PCB manufacturer like
AIVON
for as low as $1 for a PCB Prototype.
To order the PCB, visit the
AIVON Official Website
and upload the Gerber file using the
Quote Now
option. You can then choose your required parameters, such as
Material Type, Dimensions, Quantity, Thickness, and Solder Mask Color.
AIVON
is making PCB prototyping and assembly more affordable for new users by offering
$1 PCB Prototype
and
$35 PCB Assembly
with Shipping fee
$30 OFF
on your first PCB order. With this promotion, you can enjoy
free shipping
on your first order and affordable assembly service for your project.
Here is the promotion link
:
AIVON PCB/PCBA Promotion Offer
Once all the details are filled in, select your country and shipping method. After confirming everything, you can place the order and wait for your boards to arrive.
Assembly of the ESP32 Fingerprint Voting Machine
After I ordered the custom PCB, I received it within just
3 days
Technologies used
Hardware components
- ESP32
- Arduino
- Raspberry Pi
- STM32
- OLED
- Fingerprint Sensor
Software & tools
- EasyEDA
What you get
- Working project / hardware kit, tested before delivery
- Complete source code with explanation
- Project demo and guidance for your viva
- Project report, PPT and IEEE paper support (on request)
Delivery & Payment
Delivery takes a minimum of two weeks from the date your inquiry is confirmed.
Payment is in two parts:
• 50% advance to start the project
• Remaining 50% before delivery
Note:
• Documentation and PPT are not included by default
• If you need documentation/PPT, it can be arranged for extra time and cost
We'll confirm the exact timeline and cost with you after reviewing your requirements.