Академический Документы
Профессиональный Документы
Культура Документы
A Research Project
by
March 2019
ii
iii
ACKNOWLEDGEMENT
The researchers would like to express their sincere gratitude and appreciation to
those who contributed and shared their valuable assistant, support, and encouragement in
The researchers are grateful to God for the guide, wisdom and blessings He gave
For the support, love and encouragement from our parents during our study as
college students and for everyday of our lives, we are eternally grateful.
To Mr. Allen Allada, we are truly thankful and grateful to him for guiding us all
throughout this journey and for helping us make this project possible.
To our Adviser, Mrs. Ma. Juliet Patria Escalona, we are thankful and indebted to
To our subject Professor, Mr. Victor Gumboc, we are thankful and gratified to his
words of wisdom and encouragement as well as the guidance he has given to our entire
section.
To the panel members, Mrs. Beverly M. De Vega, Mr. Arnold De Vega and Mr.
John Paulo Diaz for giving their professional criticism that guided us to the success of the
project.
Lastly, to the other people who helped and sacrificed a moment of their time for the
ABSTRACT
This study is to develop a Raspberry Pi Voting System. The researchers aim to improve
the efficiency and to have comfortability for both officials and voters compared to the
current voting system which is the paper-based voting system. The system developed with
the use of Java a programming language along with the NetBeans IDE for the main server
and registration host and Android Studio IDE for the android mobile application. Also
SQL a programming language used for the database. It is also consists of a hardware
components such as scanner, RTC module and Raspberry Pi. The RVS has 3 parts; main
server, registration host and the mobile application. First, the main server where the
officials can monitor the leading candidates according to the real-time vote count. It also
gives the officials an authority to update the list of candidates. Second, the registration host
where the voter can register by means of scanning their specified QR Codes on the device.
Lastly, the Mobile Application where the voter can vote and the data will be sent to the
main server for the result. Test result showed that the mobile application can run only on
android phones version 7.0 Nougat and up. The researchers conducted three (3) test, its
accuracy, functionality and reliability of the project. The gathered data from the survey
answered by the evaluators to rate the project got an average rating of 4.51 which has a
descriptive rating equivalent to "Highly Acceptable".
v
TABLE OF CONTENTS
PRELIMINARIES Page
Title Page i
Approval Sheet ii
Acknowledgement iii
Abstract iv
Table of Contents v
List of Tables x
Chapter 1 - INTRODUCTION
Chapter 3 – METHODOLOGY
Project Design 45
Project Development 48
Evaluation Procedure 80
vi
Project Description 83
Project Structure 85
AND RECOMMENDATIONS
Conclusion 125
Recommendation . 126
REFERENCES 127
APPENDICES 136
LIST OF FIGURES
5 Optical Scan 10
8 QR Code 26
9 QR Code Scanner 27
10 Real-time Clock 28
11 Raspberry Pi 3 - Model B 30
13 Raspbian OS 33
14 Ubuntu MATE 34
16 RISC OS 36
17 OSMC 37
33 Raspberry Pi 3 Model B 69
34 QR Code Scanner 70
35 Memory Card 71
36 RTC Module 72
37 Prototype of RVS 84
42 Router 89
Main Server 90
LIST OF TABLES
1 Likert Scale 77
QR Code 119
Chapter 1
INTRODUCTION
A voting system is a system where people elect a person to be a leader and to handle
right of any person and it also helps them to realize the importance of having a power to
elect. The purpose of voting system is to count the majority of votes in a large number of
voters who’s in favor to the candidate. Different voting systems have a different variety of
features, based on how proportional they are and the way of how a voter choose between
different candidates.
kind of system, the paper ballots are printed ahead of time. Using a paper-based voting
system, paper ballots are reconciled and counted manually. This kind of system is wildly
use internationally and locally. However, paper-based voting system is easily manipulated
and may cause unwanted error that can lead for not having an accurate result.
technological concept, is time-consuming. It can lost some votes which can invalidate the
result. In today’s society, it is difficult to understand why higher officials are not
converting their paper based electoral systems to electronic form to guaranty “One Person
The students are required to vote in every student government election and one of
the factors affecting for not counting their votes is when they are not following the given
instruction. Considering when there are large numbers of voters, it can consume time and
by the researchers of this project that they are having issues in counting the votes manually.
Often times there are voters that are not following instruction. Instead of shading
the circle provided, other voters use checkmark. There was also a time when some voter
exceeds in choosing candidates, like when the voter is only instructed to choose only 5
candidates some voters exceeds the number of chosen candidates that leads for having their
vote to be automatically rejected. Manual counting consumes a lot of time that causes
unwanted error. The right of the voter to elect is diminished and the concept of one person
– one vote is eliminated and leads to an effect of not having accurate result.
voting system. Where the voters use a mobile application for voting. The application
follows proper authentication measures to avoid and eliminate double voting. The voter
must register first to the registration host using the voter’s QR Code. To avoid any attacks
and disclosure of results the candidates vote count is encrypted and securely stored in the
data base. This project helps to reduce the complexity of counting, and eliminate lost votes.
3
The main objective of this project is to improve the process of voting system for
Campus, and to lessen the time and the effort of the authorize official on polling day.
2. Develop a mobile application for voters that can interact with Raspberry
pi.
4. Evaluate the voting system using the evaluation criteria for prototype in
This voting system is intended to tabulate large number of voters and it is more
organized compared to the paper based voting system. This prototype uses a network
authorize official with corresponding accounts through web application for local area
network. The system has a main application that will have a unique key that validates with
the web application so that only the main server can access the administrator features. This
project also has a registration host that will process registration and stores the newly
registered voters to the database. The mobile application can only access the voting
On the other hand, controlling the prototype by the use of network communication
also has its downside, for it is only controlled within the same network. The mobile
application is only designed for android OS version, it can be installed but it will only
activate within the polling hours set by the admin and it has a limit of three entries or user
This research aims to create an electronic voting system that will enhance and
minimize the time and the effort of the authorize official in organizing the overall process
of election. The summary of results is securely recorded in a data base. This project will
– Cavite Campus to reduce the complexity in counting the votes and showing of results of
election
5
Chapter 2
CONCEPTUAL FRAMEWORK
This chapter presents the overview of the related literature and studies, conceptual
model of the study and operational definition of terms that will guide the development of
this research.
Voting System
This section shows the literatures the researchers have found that could show the
current technology of voting system has as of today to aid the development of the prototype.
As stated in the article of Essays, UK. (November 2013), “Voting system means a
method of casting and processing votes that functions wholly or partly by use of
not limited to, the procedures for casting and processing votes and the programs, operating
manuals, tabulating cards, printouts and other software necessary for the system’s
components, procedures and expendable supplies, stored in a system which allows votes
to be cast and tabulated. Adequate components must be assembled to create the structure
of the system, when all the requirements described for a voting system in this publication
Over the years the pressure to get the election results had been increased or
at least provisional results, after the closing of the official voting period. That leads
to an effort of improving the voting systems efficiency and capacity to deliver the
6
results in a short time while ensuring the secrecy of the vote and the accuracy of
counting. Technologies and vote counting use in voting is closely related since
most voting machines, besides from recording the person’s vote it is usually having
some mechanism, either mechanical or electronic, to cast the votes and cast it into
the machine.
problem with the use of paper-based voting is the counting of votes and could be
the lack of a log or paper trail, which could enable a reliable recount in the case of
machine failures or any other problem. Many vendors of voting systems worldwide
are trying to address this problem by providing some kind of paper trail or other
trail mechanism to ensure that a vote recount can be done and that election
stakeholders can audit both the vote recording and the vote counting at any time
during or after the voting session. In Figure 1 and Figure 2, Paper Based Voting
System is shown.
1960 to 1980 and were completely phased out by 2010 in the United States”. The
lever machine has a steel booth that the voter steps into. The booth has a card with
the list of the names of the candidates, parties and a referenda option, the booth has
a switch below of each options. Voters flick the switch of their preferred options
for each office or referendum. When the voters finalize their votes, they pull a large
lever that will instantly registers their votes on a counter located on the back of the
machine. At the end of the day the election precinct workers will record the tallies
from each of the machines. Lever machines automatically cast and count the votes
1960s. In this kind of voting, the voter was given a long piece of heavy stock
1960s there are two types of Punch Card, the Data Vote and the VotoMatic. Data
vote has a list of names of candidates in the paper. While the VotoMatic the voter
uses a metal puncher to punch the rectangle beside the candidate box. In Figure 4,
Optical Scan
optical-scan voting system was first used in 1980s and it also uses computers for
vote counting. In this kind of system, document ballots are fed into an electronic
reader and the tallies stored in computer memory and media”. Tallying or counting
of document ballots can be done very rapidly, thus speeding the reporting of
election results. It is much more efficient for counting large numbers of ballots
DRE’s. It is the evolution of the old mechanical lever systems. The lever machine
has no ballots the possible choices are visible to the voter in front of the machine”.
The voter enters choices with the use of touch screen, push button or similar device.
An alphabetic keyboard is often provided with the entry device to allow for the
possibility of write-in votes. The votes of the voters are stored in a memory
cartridge, smart-card or diskette and added to the choices of all other voters.
votes electronically, without the use of paper ballots. Direct Electronic Voting
comes in two basic models: pushbutton and touchscreen. In general, the interface
with the voter is very similar to that of an automated teller machine [ATM]. In
Mobile Application
Originally App Software was popularized by Apple Inc. and its Apps Store that
offer millions of applications for iPhone, iPad or iPod Touch. A mobile application is also
known as “App”, it is a type of software designed to run on a mobile device such as smart
phone and table computer. It is frequently serve to provide users similar apps that can
accessed and used on PCs. However, mobile applications provide isolated and limited
Application, n.d.)
Native application
It is the apps developed and built for specific operating system, they are
“native” for a particular platform or device. If an app is developed for iOS, it will
remain exclusive to that operating system and it won’t work on Android devices
and vice-versa. One of the cons of native app is that it is a high cost compare to
other types of apps. Native apps for iOS was programmed using Objective-C,
12
native apps in Android Operating System was programmed in Java and ADT and
Hybrid apps
Hybrid Apps are both native apps and web pages app. This type of app has
a cross-platform compatibility but still can access the phones hardware. Hybrid
platform apps that are fast and easy to develop. It is a single code base that ensure
a hybrid app.
Web apps
This app is similar to native applications. It uses a web browser to run the
application. The user can view the web app on Android, iOS or Windows table or
smart phone operating system. This type of mobile applications also works on PC
Web Browsers. HTML, CSS, JavaScript, JQuery are usually used to develop this
Rouse, M. (2011, December) stated that Operating systems allows smart phones,
PCs and other devices needs to run application and programs. The mobile OS starts up
when the mobile phone is booted and displays the mobile applications. It also manages
phone access, application access, and cellular and wireless network connectivity of mobile
phone.
13
Android
currently have 9 versions. The first two versions are Android 1.0 and 1.1 released
without specific code names. List of android version code names are based with
candy or dessert style. Android versions 6 and lower versions are not supported to
read QR codes unless they are using a specific application. As stated by the website
of IBM that Android version 7.0 Nougat below doesn't support the QR code based
activation.
Lollipop
Marshmallow
Nougat
(2016, August 22) stated, Android Nougat is having a lot of new features
and refinements. There are some changes that is quite obvious such as
tapping the recent button, and it will instantly open last application. Once
the user gets used to it, it’ll be a real time saver. Google is officially added
support two apps at the same time features to all devices running Android
Oreo
which makes it more flexible and added new interesting features to make it
wireless connectivity.
Pie
on the article of Bohn, D. (2018, August 16), This latest version of android
introduces new gesture navigation system on the new system which replaces
Android Back, Home and other multitasking keys with home button. This
improves its privacy and security, and has a useful new touch fingerprint
sensor.
IOS
an Apple's Mobile operating system also known as iOS. iOS used a simple gesture
to operate the mobile device, such as zoom out and in and etc. On the Apple Store
the Phone user can download many applications they need. Apple added features
on the operating system such as multi-tasking split view. iOS had the protective for
As cited to Costello, R. (March 11, 2016), APK files are for android OS
only that won’t work to iOS because the codes are different. Must re-write the code
to be able to run in iOS and re-compiled it in XCode then transfer into jailbroken
iPhone. Rewrite on your own and make sure that it has no bugs.
Windows Phone
Smartphones Operating system chose by the branded phone. The User Interface
that uses Windows Phone is Metro derived, it is a tile-like interface like desktop
systems. The home button of the phone is like the start of a desktop system. User
can find and downloads apps at the Windows Phone Marketplace. The Windows
Phone have the features of the Cortana just like Windows Desktop, in search engine
they used Bing and It have the threaded messaging. The Phone that have the
Programming Language
language is a set of instruction use to create a standard form of commands. The commands
are converted into a code that is recognized by the machine. There are two types of
languages that programmers use to write a code, the high-level languages and low-level
language. The high-level languages use a logical words and symbol that are used in major
Python Language
operating system is called Python”. It can be used for processing text, numbers,
images, and scientific data and used daily in the operations of the Google search
engine, the video-sharing website YouTube, NASA and the New York Stock
readable code. Python is kind of language also called scripting language used for
trivial task.
SQL
and data analysts. SQL was first developed in early 1970s at IBM by Raymond
17
Boyce and Chamberlin. This query language is used to update, query, insert, and
manipulate data.
As stated in the article of Leahy, P. (2018, April 09), early 90’s, Java
originated from the name of Oak and then Green, created by the team led by James
Gosling for Sun Microsystems, and now owned by the company Oracle. It was
designed for the digital devices such as mobile phones. In 1996 the Java 1.0 was
released to the market, its goal was shifted to use the internet to interact with the
has a set of rules that determine on how the instructions are written. These rules
are also known as syntax. When the program has been written, the high- level
computers.
JSON
languages including C, C++, C#, Java, JavaScript, Perl, Python and many
pairs, and array is an ordered list of values. These two are universal data
form or another.
NetBeans IDE
applications that uses Java language and HML5 platforms. It also offers
including the Profiler, a Graphical User Interface (GUI) design tool, and
PHP
used on web development and embedded to HTML. The best thing in using PHP
language is that it has many features for developers and it is extremely easy for a
HTML because PHP language already contain HTML with embedded code on it
Database software is used to protect the information and ensure the accuracy and
the consistency. The functions are data storage, data backup and recovery, data
communication. Database management software (DBMS) is a software where the data can
Oracle
originated by Lawrence Ellison and the other developers in 1997. (Oracle Database (Oracle
DB), n.d.). The purpose of the oracle is to store and retrieve the data. It is designed for
enterprise grid computing. It has a physical and logical structure but it is separated to avoid
the damage accessing the logical structures while managing the data on the physical
Microsoft Access
Ian (2016, June), indicated that Microsoft developed the Microsoft Access,
to its graphical interface that suited for the individuals and small business. It uses
Microsoft Excel
calculation, use graphing tools and displays data using different statistical tools. It
single record (row) and for multiple records (table) but not a relational database
management system.
As cited to Stedman, C., Hughes, A., and Rouse, M., (n,d) Microsoft SQL
technologies, along with Oracle Database and IBM's DB2. It is built on top of SQL,
other IT professional used to manage databases and query the data that they contain.
MongoDB
According to Rouse, M., Botelho, B., and Voughan, J., (n,d) MongoDB is
an open-source Data base Management System (DBMS) that support various forms
of data that used a document-oriented database model. Under of the NoSQL banner
it is one of the numerous non-relational database arose in mid-2000s that uses big
data application and other processing jobs that involves data that doesn't fit in a
21
MySQL
removing, and modifying information in the database. The standard commands for
SQL are ADD, DROP, INSERT, and UPDATE. It is most commonly found on
Web servers, which can be used for a variety of applications. The website uses
MySQL are often referred to as “dynamic”, meaning the content of each page is
GUI
Late 1970s when Graphical User Interface was created by Xerox Palo Alto.
Graphical User Interface is developed for users that wanted to interact with electronic
devices such as computers, hand-held devices and other appliances. Graphical User
Interface is commonly used in Windows, Mac OS and many software applications. GUI
uses icons, menus and other visual indicator representations to display information and
related user controls, unlike text-based interfaces that uses text in data and commands.
Graphical User Interface is manipulated by pointing device such as mouse, trackball, stylus
or finger on a touch screen. GUI became apparent because of the first computer text
to computer are constantly being revised and reinvented. Human ingenuity has brought
users from the keyboard to the mouse, trackball, touch screens and voice commands. Even
those people with few computer skills can now use computer for word processing, finances,
inventory, design, artwork, hobbies or other hand-held devices with the help of Graphical
User Interface or GUI (What is Graphical User Interface n.d.). In Figure 7, Graphical User
Interface is shown.
API
of protocols, routines, and tools for building software applications. Basically, it specifies
interface. With APIs, applications talk to each other without any user knowledge or
intervention. APIs are commonly used when programming graphical user interface (GUI)
components. API is released by Software Company to the public so that other software
developers can design products that are powered by its service. A programmer can say it
is a good API if it’ll help the programmer in developing a program by providing the
building blocks, and then a programmer will put the blocks together. There are many
different types of APIs for applications, websites or operating systems. Some examples
are Google Maps API, YouTube APi, Flickr API and Twitter API.
widely used web server software. It is open-source software that can freely access by
everyone. It is fast, reliable and secure that runs 67% of all the webservers in the world.
According to Mitchell, B. (2018, October 18), Apache was originally designed for Unix
environment were more than 90 percent of installations run on Linux. It promotes various
free and open-source advanced web technologies. It provides full range of features
including SSL, CGI and Virtual Domains, is also support plug-in modules for affability.
Hypertext Transfer Protocol (HTTP) is a protocol used by the web server to deliver
its content. The most significant benefit in using the Apache HTTP Server is that it is free
for both personal and commercial uses so the users don’t have to worry about needing to
24
pay for it. Apache is also actively maintained, frequently its features are upgraded, and
undergoes security patches and vulnerability improvements. It also has a very reliable
software framework.
HTTP Requests
Information Request message from the Client sent to Server over HTTP. It is a
computer. This protocol used by Browser to send data such as text and images
between web server and a computer. In order to deliver the text, images and page
to your browser it needs a request to fetch the transferred data and a HTTP Request
is the exact software to do that. Then, the server will response if the permission was
given or not.
Laravel Framework
that has been built with the focus to write computer code which is simple and expensive as
well. It is highly used and it is freely available in the modern web application framework.
It is well known to have been used in creating personalized web software in a quick and
efficient way. It has a structure that provides the capability to choose and create a program
on it. Framework helps to figure out how a developer shape a software and how it is
large ecosystem that has instant hosting as well as the deployment system. The latest
25
Laravel design has a validation code that reduced the time taken by the coders to create
codes. One of the features of Laravel Framework is the Blade templating engine, it enables
the composer of the plain codes PHP in a layout shape hence improving execution of usage
difficulties. Laracast is also a feature of Laravel Web development and it is the key
Laravel Framework uses Fly-system for local support network feature for different
platforms. For security, Laravel web development used hashed (#) passwords and does not
save the password in a plain text form, it provides a unique way for security for the web
application. Furthermore, the algorithm in creating encrypted passwords uses Bcrypt hash
algorithm.
Android Studio
development environment (IDE) for android application. Android Studio uses a Gradle-
based build system, emulator, code templates, and GitHub integration to support
application development within the Android operating system. The projects in Android
studio have one or more modalities. These modalities include Android app modules,
library modules and Google App Engine modules that has source code and resource files.
Android Studio is based on the IntelliJ IDEA, a Java integrated development environment
for software, and incorporates its code editing and developer tools.
26
QR Code
Japanese corporation. The popularity of barcode has been overtaken ever since the QR
Code had been introduced. Technically, both barcode and QR code have the same function
but because of it different capacity of holding digit the QR code becomes more appealing
compared to the barcode. A typical barcode can hold a maximum of 20 characters while
QR code can hold up to 7,089 characters. QR code can be scanned into different angle,
there is no specific positioning in scanning the code because QR code reader is capable of
correcting and decoding the image owing to the three specific squares that can be seen on
the corner of the symbol, (Kieseberg, P., Leithner, M., Mulazzani, M., Munroe, L.,
Schrittwieser, S., Sinha, M., & Weippl, E., 2010). In Figure 8, the QR Code is shown.
Figure 8. QR Code
Retrieved from https://nadhika.wordpress.com/2010/11/15/kode-qr-quick-response/
27
QR Code Scanner
QR Code scanner is equipment used to scan QR Codes that will decodes the
characters or the information and transfer it on Phones or PC so that the user can
read the information. The QR Codes have Finder Pattern also called the Position
Markers or Position Eyes. It’s in the three corners of the QR code. These corners
will help the scanner to find the edges of the QR Codes. In Figure 9, the QR Code
Scanner is shown.
RTC
computer motherboard. RTC has a small memory on its microchip that stores setup values
or system description including the current time. The time values are classified for the
year, month, date, hours, minutes, and seconds. When the computer is turned on, the Basic
Input-Output Operating System (BIOS) that is stored in the computer's read-only memory
(ROM) microchip reads the current time from the memory in the chip with the real-time
Raspberry pi
designed for education which is inspired by the 1981 BBC micro. Upton aimed to create
a low-cost device that would help to improve programming skills as wells as understanding
hardware at the pre-university level. Because of its small size, tinkerers, makers and
electronics enthusiasts easily adapted RPi for projects that require more than basic
Although the raspberry is slower that the modern laptops and desktop computers,
it is still a complete Linux computer and can perform tasks with a low power consumption
level. Similar to average computers, RPi needs an operating system, mostly designed for
Linux systems. Raspbian which is based on the Debian operating system, Ubuntu Mate
from Ubuntu, and Pidora, based on the Fedora operating system are examples of the most
common operating systems for the Pi. Depending on the model, RPi has a several USB
ports for peripherals and General Purpose Input/output pins for project development.
Raspberry Pi 3 Model B
Raspberry Pi 2 Model B in February 2016. It has the same identical form factor to
This version has 1.2 GHz 64- bit quad-core ARMv8 CPU, 1GB RAM enough to
run applications and programs. Raspberry Pi 3 supports 802.11 wireless LAN and
Bluetooth 4.1. The recommended power supply for the RPI 3B is the official power
power consumption of the Raspberry Pi 3 model B under heavy load is about 730
Gus (2015), stated that the First official screen for the Pi is Raspberry Pi
Screen is shown.
Raspberry Pi NOOBS
The Raspberry Pi itself doesn’t come with an Operating System. For that
reason, the users of the RPi need a NOOBS or “New Out of the Box Software”.
These OS are downloadable, it can easily install and set up in the Raspberry Pi.
The availability of the different OS of the Rpi depends on the model of the
Raspberry Pi. There are lots of existing OS for Rpi, but the most common OS for
Raspberry Pi are Raspbian, Ubuntu Mate, Windows 10 IoT Core, RISC OS and
OSMC.
Raspbian OS
download and use. The system is based on Debian Linux and is optimized to work
basic programs and utilities that runs on a specified hardware, in this case the Pi.
Debian is very lightweight and makes a great choice for the Pi. The Raspbian
includes tools for browsing, python programming and a GUI desktop. The
Environment” or in short LXDE. This has a fairly attractive user interface that is
built using the X Window System software and is a familiar point and click
interface. We shall look more into how to install and use this OS in the next section
Ubuntu MATE
operating system that can run into different platforms. It features configurable
desktop environment and is ideal for people who want the most out of their
computers. It has modest hardware requirements that make it suitable for modern
workstations, single board computers like the Raspberry Pi and older hardware
alike. Ubuntu MATE makes modern computers fast and old computers usable. In
OS for coders and programmers into prototype internet connected devices using the
Raspberry Pi and Windows 10. It is a free version Operating system designed for
low-power devices, it will act as a bridge between windows devices and Raspberry
RISC OS
RISC OS is initially designed in 1987 and has roots in the BBC Micro. It
doesn’t have a lot in common with other operating systems like Linux, OS X or
designed for a single-user system only, the directories with an exclamation point in
front is its application. It is also into drag and drop. RISC OS doesn’t much in the
security. Most people say RISC OS should not be installed, because RISC OS
cannot really use as the primary operating system. One of the reasons is because it
doesn’t work like any other operating system available right now. Basically, it’s a
baffling operating system, but it’s fascinating nonetheless. In Figure 16, the RISC
OS is shown.
36
OSMC
Source Media Center” is a media center based on Kodi, the only difference of the
two is that OSMC is easier to set up and use. OSMC is probably the easiest to use
media center software available on Pi. OSMC features have a clean interface
compared to Kodi. It has its menu on the left side of the screen that lets the user
to select media (such as videos, music and pictures), dig into settings or check out
other programs. OSMC is tidy and self-explanatory. It also has presets for
several popular remotes. As for local media, the videos and photos can play from
mainstay democracy around the globe, and voting ensures the sustenance of democratic
system in any civilization. The veracity of democratic system is primary to the veracity of
the election itself. This research comes to the platform to propose an electronic voting
system that will place democracy to the path of success. Overall this research seeks to
increase the efficiency of voting process. This electronic voting system is carefully planned
As cited on the research of Aziz, A. (2011), Democracy has been an important part
democratic country. This research discusses some problems in Pakistan. And a software
38
solution that will help to solve the problems. This research designed an online voting, with
The research of Abamo, J. (2016) stated that Voter chooses the candidate that they
believe or trust, hoping that it will help them to make a difference and help the country to
progress. One of the complaints of the voters is the security in vote counting. In the
Philippines, voters think that PCOS machine is not efficient to use in an election due to the
long preparation of printing of ballots and unsecured transfer of data for tallying the votes.
This research proposed an application. That will help to improve the national and local
elections. This research aims to lessen the waiting time of the voters in the precinct just to
vote. The researchers of this project proposed a mobile voting system as the solution for
these problems.
Based on the research of MIHIR (n.d), online voting is a web-based that lessen the
works of the officials and helps them to manage the election day easily and securely. In
this system they can use their personal computers to vote, but they must fill out a
registration form and the voter receives a secret voter ID used to log in. After registration,
a link sends to the E-mail IDs. The link is the key to activate the account of the user and
the site activated only on the polling day. When they login, the One-Time Password (OTP)
is provided before choosing their preferred candidates and the password eliminated after
submitting their votes and the votes automatically stored to the database. A proof sent to
the respective E-mail IDs. The advantage of this project is to eliminate the errors in
counting the votes, it can reduce congestion and easily find out the leading candidates.
39
As studied by Sidqi, H. (2014), “the manual voting process can be tedious, prone
to errors, and costly”. In some cases, the ballot papers polled need to recount due to
discrepancies. This electronic voting uses GSM mobile technology, provide enhanced
voter authentication and maintaining voter privacy. In this research SMS is used to send
message which contains code or the identification of the candidate, on the other hand
mobile phone is used to send message and it is connected to a server to collect messages.
With this electronic voting system security is compromised, inability of human error, and
Services
addition operation that the encrypted value can be decrypted, this property called
homomorphic property. Self-binding is another property where the cipher text can be re-
encrypt without changing the real key pair and the underlying clear text. In short, PTC
Web Services is used for the encryption and decryption process. Secret sharing schemes,
protecting voter’s privacy and the design of voting protocols, these useful characteristics
The E-voting system is a voting system that uses electronic devices. On this project, it
defines how efficient the mobile phones used in voting. This system supports a
40
simultaneous voting due to the distributed nature database. The voter will register once
and it need to cast the votes without going to the vote cells. The registration should be
done at the Booth Application and the voter can vote from the mobile devices together in
their respective location. It ensures the voter confidentially and voting accuracy based on
their unique Identification ID Number. The online solution is very effective and useful
about the information of the voters and the committee made an availability to the voters on
E-voting system using QR code and Mobile OTP based on Android platform for
modern individuals
system is known for its efficiency and a trusted tool for electoral process on its management
system. E-voting needs a proper implementation to increase the security of ballot to make
the voting easier and speed up the processing of result. The modern technology has
developed the mobile devices, wireless, android technologies and data communication that
will help the voting process to be easier and efficient. This project design and implement
an e-voting system using QR Codes and Mobile OTP for authentication at its maximum
security. It cannot only make sure the voters identity but also ensure the eligibility of
candidate registration for voting. The OTP or One Time Password is generated and
provided to the voter via authentication of SIM card. This project provides 3-way
authentication. The Quick Response (QR) code is generated from Session password. The
Visual Cryptography (VC) is performed on QR code. The Digital Signature is used for
validation of OTP and Session password. The platform of this e-voting system is Android,
On the basis for the foregoing concepts, theories and findings of related literature,
studies presented and the insights taken from them, has contributed for the
conceptualization of this study. The researchers are developing the traditional way of
voting into an electronic voting system. The related literature provided knowledge
significant for this project particularly the Direct recording electronic voting machine, this
voting machine has no ballots the possible choices are visible to the voter in front of the
machine. Also the votes are recorded automatically. The related literature also helps the
researchers in terms of the different components that can help to make this project possible
up to the different software-based that can help the researchers of this study. The researcher
decided to use the most favorable OS among all the existing OS of raspberry pi which is
the raspbian jessie. Also the related studies give insights and additional ideas to the
researchers, like the existing project of mobile based e-voting system, for how this projects
Figure 14 shows the conceptual model of Development of RPi Voting System used
for Student Government Election using Mobile phone application that interacts with
Raspberry Pi, and QR code scanner. The input for developing the prototype consists of
requirements are the skills essential to accomplish the fabrication of the project, hardware
requirements are the components for developing the prototype, and software requirements
are the computer application needed for the development of the prototype.
Process is the steps done in order to accomplish the project. The first step is the
designing and conceptualizing the design of the prototype. Next step is to create the
42
program according to its software features and the assembly of the prototype. Upon
finishing, the initial project test is conducted to determine the problems and errors to be
modified if necessary.
The output is the Development of RPI Voting System for Student Government
Election. After the test and experimentations, the prototype is evaluated according to
different criteria. The prototype be evaluated by the evaluators who are considered experts
on their field and the beneficiary of the project. The prototype will be evaluated according
salability.
Knowledge requirements
1. Programming language
2. Basic Electronics
3. Voting Process
Hardware requirements
1. Raspberry pi 3 model b 1. Fabrication of DEVELOPMENT
2. LCD (3.5”) Hardware
3. QR scanner OF RPI VOTING
4. RTC Module 2. Programming
Software requirements SYSTEM FOR
1. Raspbian OS
2. Mobile Application 3. Test the TUPC USG
3. Java prototype
ELECTION
a. JSON
b. NetBeans IDE
4. MySQL & SQL
5. Laravel Framework
6. Android Studio
7. Apache HTTP Server
EVALUATION
Figure 18. Conceptual Model of Development of RPi Voting System for Student
Government Election
43
Raspberry pi 3 model B is the main and the registration host on the project
Raspberry pi 3 capacitive touch screen is a device used to display the GUI of the
project
QR scanner refers to the verification of the voter to access the mobile application
RTC is the device used to keep the real-time clock of the main server
API is the tool used to communicate various components and process the overall data
Apache HTTP Server is the server software for the management of the API
MySQL is the programming language for adding, accessing and managing content in a
Java is the programming language used for the web-based interface of the project
JSON is the data format used by the API to response to the different application
NetBeans IDE is the IDE for local and main server, Java language
GUI or (Graphical User Interface) is the type of interface that allows users to interact
Android studio is the IDE for developing the android application, Java language
44
Chapter 3
METHODOLOGY
Project Design
which will be the main component of the prototype or project that will process the data in
registration of the voters as well as calculate the overall results, and a QR Scanner is needed
to scan the QR code that will generate the RPi in order for the voters to access the mobile
application. Figure 19 shows the isometric view of RPi voting system. The main parts are
Figure 20 shows the exploded view of the raspberry pi voting system. The QR
code scanner is enclosed in box type casing that will function to scan the QR code of the
voter, it is connected to raspberry pi. A Liquid Crystal Display is also connected to the RPi.
The figure shows each portion that will complete the casing.
Case
QR
Scanner
RPi
Screen
Figure 21 shows the main cycle of the prototype. The admin needs to register first,
and followed by the registration of voters by scanning the QR code and it will be stored on
the server. Then voter can now install the mobile application. An admin will input the list
of bona fide candidates’ together with their information to be stored to the server. An
admin will set the scheduled time for voting and the server will allow the voter to access
the mobile application. To access the mobile application, the voters must scan the QR code
using the device camera to login and the server will check if the QR code is already
registered to the database. The next process of the program wherein the voters will start to
choose their preferred candidates then submit. After the voters submit their votes the
summary of votes will appear. The database will accept the incoming data and will update
Project Development
The process of fabricating this project can be shown in this section. The prototype
model B
chart diagram. To create an account or register, the admin must click the “register” button
and input the needed details or information. If the user pressed the “submit” button the
system process and check the entered details. Hence if the user pressed the “cancel” button,
The system checks if all the text boxes are filled out. If no, the system displays an
error message and let the user to input the needed information. The system also checks if
the name has a numeric character. If it has a numeric character the system displays an error
message and let the admin input the name again. The system also checks if the password
48
is at least 6 characters. If the password is not at least 6 characters, the system displays an
error message and let the admin input the password again. Also the system checks if the
password is the same to the confirm password. If the password is not equal to the confirm
password, the system displays an error message and let the admin input the password and
confirm password again. Hence, the system checks the database if the position is already
taken. If the position was already taken, the system displays an error message and will let
the admin to select an available position. The data automatically stored to the database
and automatically log out and displays “You have successfully registered” message.
49
Figure 23 shows the process of account log in of an admin and exporting the
summary of votes and voters through pdf form by using flow chart diagram. Admin must
input their username and password. If the admin clicked “submit” button the system checks
if all the needed information was filled up. The system checks on the database if the
username and password are correct. Hence if the textboxes are not filled up correctly the
system displays an error message and let the user to return to the log in page. When the
admin is logged in, the system displays the overall results during and after the polling day.
Also the admin can now export the files through pdf form. If the admin clicked the “export
summary” button, the summary of votes downloads automatically. And if the admin
clicked the “export voters” button, the list of registered voters downloads automatically.
And when the admin is done or the admin didn’t click any button, the admin remains to the
Figure 23. Flow Chart of Account Log in of an Admin and Exporting the Summary of
As shown on the figure 24, it explains the process of editing the details of an admin
account by using flow chart diagram. To change the details or the information of the admin
account, the admin must click the “edit my info” button and input the designated details
If the admin clicks the “cancel” button, the system closes the “edit my info” page
and the admin returns to the main or home page. Hence if the admin pressed the “update”
button, the system checks if the name has a numeric character. If it has a numeric character,
the system displays an error message. If it has no numeric character, the system checks the
The system also checks if the password is correct. If it is incorrect the system
displays an error message and let the admin to input the password again. The system also
checks if the current password is at least 6 characters. If the password is not at least 6
The system also checks if the new password matched to the confirm password. If
the new password and confirm password is not matched, the system displays an error
message. Hence if the current password and confirm password is matched, the data updates
and stores to the database. The system displays “The information updated” message.
53
Figure 25 shows the process of managing the admin accounts by using flow chart
diagram. To manage the accounts of the admins, the admin must click the “manage admin
accounts” button. The system displays the list of the admin accounts. If the admin clicks
the “close” button the “manage admin account” page closes and the admin returns to the
home page.
If the admin pressed the “delete” button, the admin must input the password on the
particular admin account. The system checks the database if the password is correct. If
the password is not correct, the system displays an error message. Hence if the password
As shown on the figure 26, it explains the process of managing the polling hours
by using flow chart diagram. To set the polling day, the admin must click the “manage
polling hours” button. The system checks if there is an existing record of polling time and
date. If the system has a record, the system displays the records of the polling date and
time. If the admin pressed the “delete” button, the system deletes the existing record of
polling time and date to the database. Thus if the admin did not click any button the admin
If there is no existing record for polling date and time, the system displays “no
record found” message. If the “close” button was pressed the “manage polling hours” page
closes and the admin returns to the home page. The admin can add or set the polling hours
by entering the preferred date and time. If the admin pressed the “add” button, the system
checks if the needed information were filled up. If the textboxes are not filled up, the
system displays an error message and let the admin to enter the polling date and time again.
If all the needed information was filled up correctly, the system stores the data to the
database.
56
Figure 27 shows the process of creating a party list by using flow chart diagram.
At the “candidates page”, click the “add party list” button. To create a party list, type the
name of the party list. If the admin pressed the “add party list” button, it adds and stores
the data to the database and the system displays the list of the party list. Hence if the admin
clicks the “cancel” button the “add party list” window closes and the admin returns to the
“candidates” tab.
If the admin deletes a particular party list, the admin must click the “delete” button.
The system displays a warning message “deleting the party list will make every members
of the party list to independent” and the system ask if the admin wants to continue. If yes,
the system deletes the particular party list to the database. Hence if no the system displays
If the admin deletes the entire party lists, the admin must click the “delete all”
button. The system displays a warning message “deleting the party list will make every
members of the party list to independent” and the system ask if the admin wants to
continue. If yes, the system deletes the entire party list to the database. Hence if no the
Figure 28 shows the process of adding the bona fide candidates by using flow chart
diagram. To add a candidate, click the “add candidates” button at the “candidates” page.
The admin must input the information about the candidate along with the candidate photo
and other information such as the student number, name, the party list, section and the
position. Hence if the admin clicks the “cancel” button the “add candidates” window closes
The admin must click the “add candidates” button to add the candidate. The system
assesses first the information of the added candidate if it is all correct before storing it to
the database. The system checks if the photo size is valid. If the size of the photo is not
valid, the system displays an error message and the admin returns to the “add candidates”
window. Hence, if the photo is valid, the system accepts the photo and the data is
automatically added and stored on the database. After adding the candidates, the system
displays the updated list of bona fide candidates. If the admin clicks the “delete” button
the system deletes a particular candidate to the database. Hence, if the admin pressed the
“delete all” button, the system deletes all the candidates on the database.
60
As shown on the figure 29, it explains the process of setting the maximum number
of senators and governors to be voted by using flow chart diagram. The admin must click
the “set the maximum number of votes” button at the home page. Then input a number. If
the admin pressed the “submit” button, the system checks if all the information were filled
up and the number is greater than or equal to zero. If the text box or text boxes were not
filled up correctly, the system displays an error message and let the admin to input again a
maximum number. Hence if the needed information is correct the data is automatically
Figure 29. Flow Chart of Setting the Maximum Number of Senator and Governor to be
Voted
62
As shown on the figure 30, it explains the process of registration of voters by using
flow chart diagram. To start the voter registration, the admin must open the software
application on the registration host then pressed “start” button to start. If the admin presses
the “close” button the application closes. Hence if the admin did not press the “close”
button, the admin can start the voter registration by scanning the admin QR code. The
system checks the database if the main server is open and if the QR code is a registered
admin. If the main server is not open and if the QR code is not an admin, the system
displays an error message and let an admin to scan the QR code again. Hence if the main
server is open and if the QR code is an admin, the system let the admin to access the voter
registration.
To register a voter, the voter must scan their QR Code on the QR code scanner.
After scanning the QR Code the textbox displays the details from it. But if the admin
presses the “clear” button, the details on display automatically erased and if the admin
pressed the “close” button, the application closes and returns to the starting page.
For the admin to register a voter the admin must click the “register voter” button.
The system checks if the QR code is valid and if it is already registered. If the QR code is
invalid the system displays an error message and if it is already registered, the system
displays the error message “Voter is Already Registered “and the admin must press the
“OK” button to close the window and the system let the admin scan other voters QR code.
Hence if the QR code is valid and if it is not yet registered the system process the
registration of voter and displays the “Successfully Registered” message then the admin
must press the “Ok” button to close the window and the data automatically save to the
database.
63
As shown on the figure 31, it explains the process of RVS during voting by using
flow chart diagram. When the voter opens the application it displays a “Terms and
Condition” message. If the voter clicks “cancel” button the mobile application
automatically closes. Hence if the voter clicks the “confirm” button the voter can now use
the mobile application. If the voter clicks the “help” button displays the user manual and
by clicking the “ok” button the voter returns to the home page. To start voting, the voter
must scan their QR Code by facing their QR Code on the rear camera of the mobile device
and the system verify and check if the voter is registered to the database.
The system checks if the mobile application is connected to the voting network, if
not the mobile application displays an error message and by pressing the “ok” button the
voter returns to the home page. The system also checks if the mobile device mac address
reached the maximum allowed entries. If the mobile application of the mobile device was
used by the voters more than three times an error message displays and by clicking the
“ok” button the mobile application automatically closes. The system also checks if the
voter was already voted. If the voter already voted the mobile application displays an error
message and by clicking the “ok” button the mobile application automatically closes.
The system also checks if it is polling day. If not, the mobile application displays
an error message and by clicking the “ok” button the voter returns to the home page. Hence
if the polling day was set, the mobile application is enabled and let the voter vote and
choose their preferred candidates. When the voter exceeds to choose the maximum number
voter pressed the "reset" button, the mobile application resets the chosen candidates and let
the voter to choose their preferred candidates again. If a voter pressed the “help” button,
65
the mobile application displays the user manual and by clicking the “ok” button the voter
returns to the voting page. To submit the votes, the voter must press the “submit” button
and the mobile application displays “vote submitted” message and when “ok” button was
click the data automatically save to the database. After submission, the mobile application
displays the vote summary of the voter. If the voter pressed “help” button again, the mobile
application displays the user manual and by clicking the “ok” button the voter returns to
Figure 32 shows the process of deleting all the registered voter by using flow chart
diagram. The admin must click the “voters” tab. If the admin wants to select the entire
register voter, the admin must click the “select all” button. If the admin wants to delete the
selected voter/s, the admin must click the “delete selected” button then the system checks
appears. Hence if yes, a confirmation message appears. If the admin wants to delete the
entire registered voter, the admin must click the “delete all” button then a confirmation
message appears. If it is not confirmed, the system remains on the “voters” page with the
list of all registered voter. Hence, if it is confirmed, the system deletes the entire registered
this section.
Raspberry Pi
“Raspberry Pi” – Rpi 3 – Model B has 40 GPIO pins, 4 USB 2.04 Port, and 1GB
SDRAM of 400Mhz. It is maximum power draw/voltage and the maximum power is about
QR Code Scanner
The Aibecy Omnidirectional Scanner is driver free, compatible for Linux, IOS,
Android, Windows, etc. It can scan with the speed of 1300 times, high decoding speed and
high accuracy. Excellent Decoding Ability. Dust-proof and water-proof, long service life.
Memory Card
The SanDisk Memory Card has a quick transfer speed up to 80MB/s and
video recording performance with Class 10 rating for Full HD video (1080p). Figure 35
RTC Module
The RTC Module uses a DS1302 serial real-time clock (RTC) chip. It adopts the
universal 32.768kHz crystal oscillator. It uses button cell holder for LIR2032 rechargeable
Li-ion battery it also includes 5 pin anti-reverse cable and the operating temperature are 0
degree Celsius up to +70 degrees Celsius. Figure 36 shows the RTC Module.
The importance of choosing the right software and application used in the prototype
The Raspbian Operating System comes pre-installed with plenty of software for
education programming and general used. It has Python, Scratch, Sonic Pi, Java and etc.
Java
Java is used in a wide variety of computing platforms from embedded devices and
Android Studio
Laravel Framework
The Laravel is a web application framework that uses PHP language for API.
API
The Apache HTTP Server is a web server software used to manage API.
MySQL
SQL
To be able to test and evaluate the project, the following operation procedure must
be observed.
This procedure is for the authorized official to create an account that includes
password for the security and encoding the list of candidates for mobile application.
For Creating an Account of the Authorized Official, the following procedures must be
follow:
2. Click “Register”.
4. Click “Submit”
For Logging in the account of the Authorized Official, the following procedures must
be follow:
2. Click “Submit”
For encoding the list of candidates and adding the party list on the main server an
2. Go to “Candidates” tab
For setting the polling hours on the main server an authorized official must follow this
procedure:
3. Enter the time and date for the start and end of the polling hours
This procedure is for the voter to register an account that needs QR Code for security
For Voting using the Mobile Application, the following procedures must be follow:
2. Click the “Confirm” button in the terms and agreement of the Mobile Application
4. Choose the preferred candidates in the poll by clicking the check box
The system can accept the entered personal information of the registrant for the
Admin Registration. The system can update the list of bona fide candidates along with the
information and the corresponding party list when the admin enlists the Bona fide
candidates. For managing the polling hours, on the system start and end of the polling
hours can be added on the main server. The information on the QR Code of the voter can
be read and stored to the database for the Voters Registration. For voting using the mobile
application the voter can use the mobile application only on the scheduled polling hours.
The summary of results can be exported through PDF. For the summary of voters who
joined the polling, it can also be exported through PDF. Each function has to undergo 3
The system can calculate the results during and after the polling for the overall real-
time results. For identifying the QR Code of the admin, the system can check if the QR
Code of the admin is registered or not. For identifying the QR Code of the voter, the system
can check if the QR Code is registered or unregistered. The system can check each MAC
Address if it reached the maximum allowed entries for the limit of 3 voters per one MAC
Address. These are the 4 tests to be conducted and have to undergo 3 trials each.
For trying to vote on the unscheduled polling hours, the mobile application can
allow the voters to scan their QR Code but will show an error message. For the voters who
try to vote more than once an error message of “Already Voted! Closing the App” will be
shown on the mobile application. The mobile application can allow the voters to scan their
76
QR Code but will show an error message when the mobile application was tried to use
more than three times. For exceeding the number of chosen candidates for senators and
governors, the checkbox will not be highlighted and will display the error message
"Reached the maximum limit". The system can read the QR Code information but will
display the error message of “You are already registered” when the registered voters
scanned their QR Code again. The system can let the user to input their information but
will display the error message of “The position has been taken.” once the allowed admin
account exceeds its limit. These are the 6 tests to be conducted and have to undergo 3 trials
each.
Evaluation Procedure
1. The researchers will explain to the respondents the operating procedures and
3. The respondents will operate the prototype to evaluate its functions properly
4. The Criteria Evaluation Form of the TUP will be given to the respondents to
5. The gathered data from the evaluation of the respondents will be calculated to
The measurement tool that will be used is a 5-point Likert Scale wherein 1 is the
lowest and 5 as the highest. Table 1 represents the rating scale and the corresponding
descriptive rating.
77
Table 1
Likert Scale
The range rated from 4.51 to 5.00 means the project is “Highly Acceptable”, from
3.51 to 4.50 signifies the project is “Very Acceptable”, from 2.51 to 3.50 indicates the
project is “Acceptable”, from 1. 51 to 2.50 means the project is “Fairly Acceptable” and
from 1.0 to 1.50 signifies that the project is “Not Acceptable” to the evaluators as shown
in table 2.
Table 2
CHAPTER 4
This chapter contains the Project Description, Project Capabilities and Limitations,
Project Description
Figure 37 shows the prototype and labeled parts. The RPi Voting system is a tool
that offers a faster way of voting system. This project is composed of three main
components, the main server, the registration host and the mobile application.
The main server is intended only for admin officials. It has the capability of
automatically computing the real-time results and can easily find out the leading
candidates. This is the part of the project where an admin can add the list of bona fide
candidates along with their information. The main server is also capable of setting the
maximum number of senators and governors to be voted using the mobile application. It
also has the capability to start and end the time of polling day according to the set time and
date. This is also the part of the project where the admin can edit the information of their
account, like changing their username, student number or password. It is also the part of
the project where an admin could manage the active admin accounts or delete the inactive
admin accounts. The main server also has the capability to export the voting results and
the summary of voters who joined the polling through excel file.
The second important component of this project is the registration host. It is a tool
that offers a faster voter registration. To start the voter registration, the admin must log in
on the registration host by scanning their QR Code. The voter can register by scanning
their QR Code on the QR Code scanner of the registration host. After scanning the voter
80
QR code the admin must click the button on the LCD touch screen indicating that the voter
The mobile application is the third component of this project. It is where a voter
can vote. The voter can vote by scanning their QR code on the rear camera of the mobile
device. After scanning the system will allow voter to vote only if a.) it is the polling day,
b.) when the voter is registered, and c.) when the usage of the mobile device is not more
than three. After considering those things, the system will allow the voter to choose their
Project Structure
Figure 38 shows the initial built case. The case is made up of 3mm thick acrylic.
The reason for choosing the material is its availability and the material used is a type of
insulator to prevent the shortage for the components of the RPi. The curve on the sides of
both back and front plane are for aesthetics only. The jigsaw puzzled blocks are called
interlocking to fix the parts together in a safety way. The dimension of the scanner is 70mm
Figure 39 shows the RPi Voting System Main Server. The main server should be
connected to the router using a LAN cable. This is only intended to use by the admins. This
is where an admin can enlist the candidates; manage the polling day and where the overall
real-time results can be found. The main server is also responsible in enabling the mobile
application and the registration host, because the mobile application and the registration
host do not work nor access when the main server is turned off. On Raspberry Pi 3 Model
B, it has a Real-Time Clock (RTC) Module attached to the pins of RPi. It used to have an
Figure 40 shows the QR Code scanner and its USB Cable. This is where the voter
scanned their QR Code to be registered. It has USB cable interface to be able to connect
and to communicate with the RPi. It has a specification of Plug-and-Play for easy
installation. It is located on the left side of the registration host beside the Raspberry Pi.
In figure 41 the Raspberry Pi 3 Model B and its LCD Touchscreen. It displays the
details on the QR code and serves as the main control to the application and the system.
Capacitive touch screen is connected on the pins of the RPi. It is used to select the program
application and register the voters. Admin must scan their QR code first for security
purposes. It is connected to the QR code scanner and it should also be connected to the
Figure 42 shows the router. Router is the most important part of the project. It is
used for wireless communication. Through network connection the three devices (two
registration host and the mobile device) are connected and can communicate to each other.
Figure 43 shows the registration page of the admin account. It is consists of six
textboxes for the admin information such as student number, name, username, position,
password and confirm password that should be filled up by the admin. A submit button
and a cancel button can be seen in this page. Submit button is designated for the submission
of the account and the cancel button is for canceling the registration of an admin. When
the needed information is completely filled up the admin can now submit the information
to the database. Each admin accounts have a specific position. Each position should be
Figure 43. Registration Page of the Admin Account on the Main Server
87
Shown in figure 44 the admin log in page of the main server. This page contains
the textboxes and the two buttons the submit button and the register button. If an admin
already has an account, text boxes should be filled-up and by clicking the submit button
the admin can log in. If an admin wants to create an account, the register button must be
submitted.
As shown in the figure 45 is the home page of the main server where in the admin
can edit their info, manage the other admin accounts, manage polling hours, set the
maximum number of senators and governors to be voted, export the summary of results
and summary voters through PDF form. Different tab can be seen on this page such as the:
home tab, candidates tab and voters tab. It also shows the name of the logged in admin
account. This page also contains of six buttons: edit my info button, manage admin
accounts button, manage polling hours button, set maximum number of votes button,
export summary button and export voters button. The home page also displays the leading
candidates along with their information such as the running position and the total vote
count. The green highlight indicates the leading candidates. It also has a log out button for
logging out the account of the admin. Lastly, home page displays the polling status if it is
active or not.
The figure 46 shows the interface in editing the information of an admin account.
It is a button in the main server. On this Pop-up window the admin can Edit the Information
of their individual account. It contains student ID, name, username, current password, new
password, and the confirm password. It also contains of two buttons: the cancel button and
the update button. Cancel button is for cancelling, exiting or closing the “edit my info”
window and the update button is for updating the information or to process the updates.
The text box that labeled “current password”, must be filled up correctly to change or
update the information successfully. If the admin wants to edit any of their individual
information, change the existing information by typing or filling up the field that the admin
wants to change then type the current password and click update to save the changes.
As shown on the Figure 47 the interface for manage the admin accounts. It contains
the registered admin accounts. On this page the admin can delete the old or inactive
accounts of the other admins by clicking the delete button. Password of that account must
be input correctly in order to delete it. To cancel this action, the admin can click the close
or x button.
where the admin can manage or set the start-end time and date of the polling day. It also
consists the records of the previous scheduled polling hours and its status: Finished, not
started and Ongoing. To delete the records, the admin must click the delete button under
the action column. The system automatically ends the date and time of the polling hours
according to the set date and time. This window consists of two textboxes that should be
filled up. It also has add button to save the new set of polling hours and the close button to
Figure 49 shows the pop-up window that contains the textboxes where the admin
can set the maximum number of senators and governors to be chosen by the voters. For
setting the maximum senators and governors the admin must input a number greater than
zero. This window also consists of two buttons; submit button to save the set numbers and
Admin can also export the data or the overall results of votes including the list of
candidates and also the list of the registered voters who voted or not. It is where the admin
can download the soft copy of a file in PDF format, it can be open using a browser. The
files can be downloaded by clicking the buttons: export summary button and the export
voters. The file downloaded can be seen at the left bottom side of the home page that shown
Figure 50. Home Page of the Main Server with the Downloaded File in PDF Format
94
Figure 51 shows the candidates page on the main server. It consists of the list of
candidates and the different name of the party list. Under the candidates it has three buttons:
a.) the add candidate button for adding the bona fide candidates, b.) delete button for
deleting a particular candidate, and c.) delete all button to delete the entire candidates. The
personal information of the candidates and the total number of the candidates that has been
The candidates tab also consists all the party list. Under the party list it has three
buttons: a.) the add party list button for adding a new party list, b.) delete button for deleting
a particular party list, and c.) the delete all button for deleting the entire party list. The total
In this pop up window shown on the figure 52 is the add candidate window. It is
where the admin can add or enlist a running candidate. This pop-up window contains of
text boxes for the required information that should be filled up by the admin correctly
including the photo of the candidate. This information helps the voters to know the
candidates more. It is consists of two buttons the add button for adding a candidate and the
Figure 53 shows the pop-up window of the add party list button. It is where the
admin can add the name of a party list by filling up the text box. It is consists two buttons:
a.) the add party list button in order to add the name of the party list, and b.) the cancel
The figure 54 shows the voters page. It displays the total number of registered
voters. The information of each voters according to its QR code structure can be also found
in this tab. It is consists of three buttons: a.) the select all button to select the registered
voters, b.) delete selected button to delete a particular voter to the system, and c.) the delete
all button to delete the entire registered voters. Through this tab is an indicator on the vote
status column can be seen to notify the admin if the voter is already done voting or not yet
voted.
Figure 55 shows the icon of software application on the registration host. The
localserver.sh is the application use for the registration of voters on the registration host.
The graphical user interface (GUI) of RVS on the registration host was shown on
figure 56. The registration host must be connected to the “Voting Network” for the
application to work. When the admin opens the GUI the start button and the close button
The admin log in page on the registration host is shown in figure 57. The text box
displays the details on the QR code through the form of asterisk to hide the details of the
admin QR code for the security of the system. It also contains a close button for closing
the application.
The voter registration page is shown on figure 58. In this page the textbox displays
the voter information or details from its QR code structure. It contains three buttons: a.)
the clear button for clearing or erasing the details on the textbox, b.) the register voter
button for registering the voter, and c.) close button for closing the page of scan registrant
QR code. If the voter scanned the QR code on the registration host for the first time, the
system notifies the voter with a pop up message that the voter is successfully registered. If
the voter scanned the QR code again, the system notifies the voter with a pop up message
that the voter is already registered. The admin must press ok on the pop-up display to
On figure 59 shows the icon of the mobile application of the RPi voting system.
This tool is responsible for voting. The application can install in different android phones
but it works normally in android version 7.0 Nougat and up. It does not support android
version below 7.0 because those versions do not support the QR code-based activation. It
communicates with the main server so it should be connected to the voting network.
The home page of the mobile application is shown in figure 60. When the user
opens the mobile application, it automatically displays the terms and condition. The mobile
application home page is consists of the help button for user’s manual and the QR code
scanner of the mobile device. The scanner will work by facing the students QR code on the
These sections show the result of the tests concluded for the functionality, accuracy
and reliability.
Table 3 shows the testing results for the admin registration, the default admin that
can register to the system is four, if they try to add two additional admins to the current
registered admins, the first four registrants can only be accepted by the system, and the
system neglects if the admin tries to register because the system has reached the maximum
Table 3
The testing results for Enlisting Bona fide candidates is shown in table 4, the
additional bona fide candidates adds to the current number of list bona fide candidates and
the server automatically updates the total number of bona fide candidates.
Table 4
The admin sets the polling time/hours on the main server and the system
automatically start and end the polling hours. Table 5 shows the testing result for Managing
Polling hours.
Table 5
The testing results for Voter Registration is shown in table 6. For the Voters
Registration the additional voters adds to the current number of registered voters and the
Table 6
Table 7 shows the testing results for Voting using the mobile app, the voters can
access the mobile application and submit their votes if the polling hours is activated by the
admin.
Table 7
The admin can only download the summary of results on the server by accessing
the homepage of the web application. Table 8 shows the testing results for exporting the
Table 8
Table 9 shows the testing results for exporting the list of voters through pdf, the
summary of voters can be downloaded only by the admin through accessing the web
Table 9
Test result for the Real-time Overall Result for a candidate is shown in table 10.
The voter chooses their preferred candidate and the submitted vote automatically increment
on the current number of votes. The system re-arranges the list of the candidates according
to the number of votes and the highlighted candidate has the maximum number of votes.
Table 10
No. of current
Trial Additional votes Total number votes
voted
1 0 1 1
2 5 2 7
3 10 4 14
112
Table 11 shows the Test Result for Identifying the QR code of a voter. The voter
scans their QR Code to the host, the data automatically sends to the main server. The main
server updates the list of the voters according to the transmitted data from the host.
Table 11
The registered Admin scans their QR code to login and access the application on
the host, voters can now register using their QR. If the unregistered admin scans their QR
code to the host, an error message appears. Table 12 shows the test result for Identifying
Table 12
The system will only accept 3 entries for the same MAC Address. If the voter 4
tries to vote using the same MAC Address and its reached the maximum limit of 3 voters,
the mobile application notifies the user that the Mobile device reached its maximum limit.
The Test Result for the Limit of 3 Voters in 1 MAC Address is shown in table 13.
Table 13
Testing result for voter trying to vote on unscheduled polling hours is shown in
table 14. Voters cannot submit their votes when the polling hour is not yet started cause
Table 14
When the voter tries to vote more than once the system displays that the voter is
already voted. Voter can only vote once. Table 15 shows the testing results for voter
Table 15
The mobile application can be used only by three (3) users as a default maximum
number. The mobile application displays a message when it reach the maximum usage.
The voter who is trying to vote using mobile application more than three times is shown in
table 16.
Table 16
Testing Result for Voter Trying to Vote using Mobile Application More Than Three Times
Table 17 shows testing result for voter trying to exceed the chosen candidates for
senators and governors. The mobile application automatically unselect the previous
candidates selected by the voter when it exceeds to the designated number set by the admin.
Table 17
Testing Result for Voter Trying to Exceed the Chosen Candidates for Senators and
Governors
The testing result for the voter trying to scan again their QR code is shown in table
18. A voter must scan the QR code once to register. When the voter scan again, the system
Table 18
Only four (4) registered admin can be registered on the system. When another
person registered as an admin, the system declined the registration because the position are
already taken. Table 19 shows the testing result for exceeding the number of admins’
account.
Table 19
The Development of RPi Voting System used for student government election is
an electronic voting system that can access using a smart phone application. It has three
major parts: a.) the main server, b.) registration host that can only be accessed by the
authorize admin, and c.) the mobile application where the voters will vote.
3. Add the list of party list and enlist the bona fide candidates
10. Export the summary of the voters who voted through pdf file
1. The number of the mobile can connect to the router depends on the router
specifications
2. If the main server is not open, the prototype will not work
3. The admins must know each other password to delete its individual or other
admin account
5. The mobile application has maximum of three (3) users per one MAC address
6. The mobile application cannot run on Android version 6.0 and below
Project Evaluation
officers and 1 OSA admin from the Technological University of the Philippines Cavite
Campus, and 17 USG officers from the different campuses of Technological University of
Evaluation of Results
These sections show the evaluation result of the prototype for the seven criteria,
Table 20 shows the result of the evaluation for the functionality sub-criteria. On
ease of operation, the prototype got a rating of 4.80 that has a descriptive rating of “Highly
Acceptable” which means the evaluators found that the operation of the system is not
complicated and easy to use. Provisions for comfort and convenience got a total average
of 4.60 with and equivalent descriptive rating of “Highly Acceptable” which shows that
the prototype is convenient and comfortable to use. A mean of 4.73 that has a descriptive
rating of “Highly Acceptable” is the rating for user friendliness. It means that the prototype
is user friendly base on the evaluators survey. The average mean for the functionality
Table 20
The second criteria are the aesthetics. The summary of the evaluations for the
aesthetics are shown on table 21. The color sub-criteria got an average of 4.67 and a
descriptive rating of “Highly Acceptable”. This means that the color of the prototype case
as well as the GUI and web page design are pleasant to the eyes of the evaluators. The
Attractiveness of design sub-criteria got an average of 4.50 which means that the physical
appearance and design of the prototype is attractive for the evaluators, that corresponds to
a “Highly Acceptable” descriptive rating. The third sub-criteria for the aesthetics are the
rating, which means the prototype design is suitable and appropriately built for its purpose.
The prototype got an overall “Highly Acceptable” descriptive rating and the overall
average is 4.58.
Table 21
For the third criteria, workability, table 22 shows the summary of the results
gathered. The first sub-criteria are the Availability of materials, it got an average of 4.43
and a descriptive rating of “Very Acceptable” which means that the availability of materials
is can be access easily. The Availability of technical expertise got an average of 4.37 with
a descriptive rating of “Very Acceptable”, which means that it got an excellent result for
the availability of technical expertise sub-criteria. The third sub-criteria are the availability
of tools and machine, these sub-criteria got an average of 4.43, which means the tools and
machines needed are very accessible. The overall mean for the third criteria got an average
Table 22
Table 23 shows the summary of results of the fourth criteria which is the durability.
Quality of materials is the first sub-criteria of the durability, it got a descriptive rating of
“Highly Acceptable” and an average of 4.53 which mean the quality of materials used for
the project is high. Quality of workmanship sub-criteria got an average of 4.40 and a
descriptive rating of “Very Acceptable”, it means that the prototype was built excellently.
For the quality of design, it got an average of 4.50 and a descriptive rating of “Very
Acceptable”, it means that the prototype design was well thought and built. The overall
mean got an average of 4.48 and equivalent to “Very Acceptable” descriptive rating, which
means according to the evaluators the durability and quality of the project is very high.
Table 23
The summary of results for the fifth criteria economy is shown in table 24. In terms
of materials needed, the first sub-criteria, got an average of 4.33 and a descriptive rating of
“Very Acceptable”. This means that the materials bought is economical and not too
expensive for their function. The second sub-criteria got an average of 4.27 with a “Very
Acceptable” descriptive rating in terms of the time and labor spent. This means that that
the time and labor spent for the project matches its uses efficiently. In terms of machines
required, it got an average of 4.33 with a “Very Acceptable” descriptive rating. It means
the machines used are not expensive and can be used for a long period of time. The
economy criterion got an overall average of 4.31 equivalents to the descriptive rating of
“Very Acceptable”.
Table 24
Safety is the sixth criteria, table 25 shows the summary of results. The first sub-
criteria, Absence of toxic and hazardous materials got an average of 4.73 with a descriptive
rating of “Highly Acceptable”. These means that the materials used to build the prototype
Acceptable” in terms of the absence of sharp edges, which means there are also not much
of sharp edges in the built prototype. Provision for protection devices got a rating of 4.67
with the descriptive rating of “Highly Acceptable” since all the objects are protected and
not accessible to the user as well. Upon computing the mean, it got an average of 4.69 and
Table 25
Salability is the last criteria and the summary of results is shown in table 26. The
presence of market demand got an average of 4.40 correspond to the “Very Acceptable”
descriptive rating, which means that the prototype has the potential to be marketable. The
second sub-criteria, Accessibility to finished product, got a total rating of 4.33 resides to
the “Very Acceptable” descriptive rating. These means that the prototype can be accessed
anytime since there are no security and safety requirements to access the prototype. An
average of 4.27 with a “Very Acceptable” descriptive rating for the result in terms of the
competitiveness of price since the cost of producing the project is not expensive for its
purpose. The overall mean for the salability criterion is 4.33 corresponds to the “Very
Table 26
The overall mean of all the seven criteria with their corresponding descriptive rating
For the functionality criteria, it got an average of 4.71 with a descriptive rating of
“Highly Acceptable”. This means that the respondents find the prototype easy to operate.
For the aesthetic criteria, it got an average of 4.58 which lies to the scale value of “Highly
Acceptable”, which means that the appearance of the project as well as its size is acceptable
for the respondents. A mean of 4.41 with a descriptive rating of “Very Acceptable” on the
technical expertise, is acceptable for the respondents. In terms of the durability criteria, it
got an average of 4.48 corresponds to the “Very Acceptable” descriptive rating. These
means that the quality of materials and the quality of design in building the prototype is
very acceptable for the respondents. In terms of economy, it got an average of 4.31 which
lies in the scale of “Very Acceptable” means the use of resources and the cost of the project
is excellent according the respondents and is very acceptable. For safety, the absence of
dangerous and hazards object especially toxic objects made the prototype got a scale value
and a descriptive rating of “Very Acceptable that shows that the prototype has the potential
Upon computing, the criterion that got the lowest rating is the economy with the
rating of 4.31, it means it is the weakest characteristics of the prototype. Although it is the
lowest among the criteria, it still got a “Very Acceptable” descriptive rating. On the other
hand, functionality got the highest mean of 4.71 with a “Highly Acceptable” descriptive
131
rating according to the evaluators. Overall the prototype perceived a descriptive rating of
Table 27
CHAPTER 5
Summary of Findings
After testing and evaluating the functionality and operations of the Development of
RPi Voting System used for Student Government Election, the researchers has summarized
the study;
The purpose of designing this prototype is to successfully create and develop a tool
that can be used in voting electronically. The three Raspberry Pis (one main server and two
registration host) and the mobile application are communicating with each other through a
network connection. The Real-time clock module is attached and connected to the GPIO
pins of the main servers Raspberry Pi which is very significant for setting the time and date
of the polling day. The main server serves as an activator for both registration host and
mobile application.
The QR Code scanner connected to the Raspberry Pi of the registration host which
is responsible for reading the QR Code structure of the voter. The main servers Raspberry
Pi is responsible in running the main program of the system which is created using the Java
language and with the use of NetBeans IDE. The mobile application is also created using
the Java language with the use of Android Studio. A LCD touchscreen is also interfaced to
the Raspberry Pi of the registration host so the users are able to use the registration host
with ease and without the need of keyboard or a mouse. The RPi Voting System worked
successfully according to the planned design and met its expected output.
133
The results gathered from the respondents, which consists of 12 students and 2
Cavite and 15 USG Officers from the different campuses of Technological University of
the Philippines, shows the prototype has been successfully created to serve its purpose as
a solution to have an electronic voting system and proven by the overall average rating of
Conclusions
Considering the objectives of the study as well as the results of the tests and evaluations
1. Successfully designed and created a voting system with a graphical user interface
(GUI) of a website programmed to enlist the bona fide candidates and summarized
the results that can be exported to excel. Also a graphical user interface (GUI) on
the registration host was successfully designed and created to register the students
using QR Code. A mobile application that can be used for voting and can show the
2. Developed a mobile application for the voter that interacts with a Raspberry Pi.
Recommendations
The following recommendations are offered for future innovations and improvement of the
1. Add the capability to set a number for vice president and secretaries to be chosen
5. Research about the performance of product after being used in a real Student
Government Election.
135
References
growing-faster-than-we-thought-new-report-finds
www.worldometers.info/world-population/philippines-population/
opening-2017
from https://www.pids.gov.ph/pids-in-the-news/1999
from,https://www.rappler.com/nation/politics/elections/2016/121987-comelec-problems-
voting-system-vcm-ccs
https://www.philstar.com/cebu-news/2010/05/11/573935/pcos-machine-breakdowns-
reported
ACE Electoral Knowledge Network (1998). Elections and Technology. Retrieved 2018
from, https://aceproject.org/ace-en/topics/et/introduction/default
136
technology/definition-of-voting-system-information-technology-essay.php
ProCon.org. (2013, February 6). Voting Systems & Use: 1980-2012. Retrieved from
https://votingmachines.procon.org/view.resource.php?resourceID=000274
https://www.techopedia.com/definition/2953/mobile-application-mobile-app
ThinkMobiles (2011). What are the popular types and categories of apps. Retrieved from
https://thinkmobiles.com/blog/popular-types-of-apps/
https://searchmobilecomputing.techtarget.com/definition/mobile-operating-
system?fbclid=IwAR0_vnspvyGOB2djw62VEAbulUCUx10pI8pFllp1B_oyLGgaLowFd
DNU7sY
Karch, M. (2019, January 19). The history of Android OS. Retrieved from
https://www.androidauthority.com/history-android-os-name-
789433/?fbclid=IwAR0cUo4HyY_hrBH9zVtP2khqjJ008rKszrTf6Trm08nvwREzfg7fDh
W9hVc
QR code activation for Android Enterprise Device Owner (DO) mode. Retrieved from
https://www.ibm.com/support/knowledgecenter/en/SS8H2S/com.ibm.mc.doc/pag_source
/tasks/afw_qr_code.htm
https://www.computerworld.com/article/3235946/android/android-versions-a-living-
137
history-from-1-0-to-today.html?page=2&fbclid=IwAR0zWFHsIcdr-
Rac3PmDpyUvyycW07LwAUzqaWzQDiKEEDE8eQ258UPA5Tk
https://www.androidpit.com/android-m-release-date-news-features-
name?fbclid=IwAR0zWFHsIcdr-
Rac3PmDpyUvyycW07LwAUzqaWzQDiKEEDE8eQ258UPA5Tk
Kumawat, DC. (2017, September 8). Android Oreo Features Developers Should Make
features/158504?fbclid=IwAR3LtPJ0o9ArMCB4pIPx0mlG7gBUkyza2MjIsBGul3Nd26
nOaXUQS0z0XiU
Cipriani, J. (2016, August 22). The best new features in Android 7.0 Nougat. Retrieved
from https://www.greenbot.com/article/3106421/android/20-new-features-in-android-7-
0-nougat.html
https://www.theverge.com/2018/8/16/17697648/google-android-9-pie-review-gestures-
ai-
notifications?fbclid=IwAR0ZdjU6hkUQ2hNhbrcm4btObdeED_U25_oX7gks_jr1_018B
ZgdnrxXcxE
Nations, D. (2018, September 5). What Is the iPhone OS (iOS)?. Retrieved from
https://www.lifewire.com/what-is-ios-1994355
Costello, R. (March 11, 2016). What app in iPhone helps us to run APK files. Retrieved
from https://www.quora.com/What-app-in-iPhone-helps-us-to-run-APK-
138
files?fbclid=IwAR0ZdjU6hkUQ2hNhbrcm4btObdeED_U25_oX7gks_jr1_018BZgdnrxX
cxE
https://searchmobilecomputing.techtarget.com/definition/Windows-
Phone?fbclid=IwAR16p8FDex784Kc3oq1L1k9cSRBnqxdOeb_R16B2GqTZmsZHSq88
1DqEPwU
https://techterms.com/definition/programming_language?fbclid=IwAR0AlKoOxdFeboV
vwJMRC0O4-WcHhzPgrDg20_SGOQfZlMfHWCuQyKZUTA0
https://www.thoughtco.com/what-is-python-2813564
https://searchsqlserver.techtarget.com/definition/SQL?fbclid=IwAR32HnGKx1KQblE3S
D1Sz5CC-sfoRJMu4I43BtHxF62CfKCIhIAMx4A6dvc
https://www.thoughtco.com/what-is-java-2034117
https://www.techopedia.com/definition/24735/netbeans
PHP?fbclid=IwAR1UmE6gQScvAcZRFK4ajHniByf7KEINR5a109HYLPv41wk_1TRuf
gFLzbk
139
https://www.quickbase.com/articles/database-software-basics
(Oracle Database Online Documentation, 10g Release 2 (10.2), n.d.). Oracle Database
database
is-microsoft-
access/?fbclid=IwAR1UmE6gQScvAcZRFK4ajHniByf7KEINR5a109HYLPv41wk_1T
RufgFLzbk
Sartain, JD. (2017, Nov). Excel databases: Creating relational tables. Retrieved from
https://www.pcworld.com/article/3234335/software/excel-databases-creating-relational-
tables.html?fbclid=IwAR3efy4hyE-
SVMJekaG8fkVntFQkKAgu2K4iLdwS248aZVpRJCzBPH1Ww5M
Stedman, C., Hughes, A., and Rouse, M., (n,d). Microsoft SQL Server. Retrieved from
https://searchsqlserver.techtarget.com/definition/SQL-Server?fbclid=IwAR0zWFHsIcdr-
Rac3PmDpyUvyycW07LwAUzqaWzQDiKEEDE8eQ258UPA5Tk
Rouse, M., Botelho, B., and Voughan, J., (n,d). MongoDB. Retrieved from
https://searchdatamanagement.techtarget.com/definition/MongoDB?fbclid=IwAR3r_ri1tf
5kg4TSEw7cXBZm_r7cfFLqmolWPSZ9QwBeHtFpIl-XGe1yQPM
Christensson, P. (2007, March 6). MySQL Definition. Retrieved 2018, Oct 5, from
https://techterms.com/definition/mysql
https://www.techopedia.com/definition/5435/graphical-user-interface-gui
140
https://www.webopedia.com/TERM/A/API.html
https://www.wpbeginner.com/glossary/apache/
https://www.quora.com/What-is-an-HTTP-request?fbclid=IwAR3BDIAbk-
44FqIekR6EdYOoOFmQeryW8I7ZC5LBBn76b4TN56d4BtXf4Gs
https://www.quora.com/What-is-Laravel-framework
https://searchmobilecomputing.techtarget.com/definition/Android-Studio
(Kieseberg, P., Leithner, M., Mulazzani, M., Munroe, L., Schrittwieser, S., Sinha, M., &
https://www.quora.com/How-do-QR-codes-
work?fbclid=IwAR3a97IqQx4xnAhqKlw1UwJOtrJ8aRmKCoXog40_wjxgqs9sKf5MJdJ
XIME
Garg, G. (2015, February 19). How QR Codes work: Everything you need to know.
work/?utm_campaign=content&utm_medium=quora&utm_source=gg_how-do-qrcodes-
works&fbclid=IwAR0ZdjU6hkUQ2hNhbrcm4btObdeED_U25_oX7gks_jr1_018BZgdnr
xXcxE
https://whatis.techtarget.com/definition/real-time-clock-RTC
141
pi
https://pimylifeup.com/raspberry-pi-touchscreen/
systems-for-your-raspberry-pi-projec-
1774669829?fbclid=IwAR34wUALD8BFT87zXYJNh9E213V5AYX65JomK9qNoOGl
TfYRDhHk523OWfY
https://www.codeproject.com/Articles/839230/Introduction-to-Raspberry-Pi-with-
Raspbian-OS#Raspberry%20Pi%20with%20Raspian%20OS
Shafi’í, M. (2013, April). The Design and Development of Real-Time E-Voting System
https://www.researchgate.net/publication/273994099_The_Design_and_Development_of
_Real-Time_E-
Voting_System_in_Nigeria_with_Emphasis_on_Security_and_Result_Veracity
https://transmitter.ieee.org/makerproject/view/91d35
142
Electronic Sources
Bronack, T. (n.d). The problems with a paper based voting system. Retrieved from
http://www.dcag.com/images/White_Paper_-
_The_problems_with_a_paper_based_voting_system.pdf
Aziz, A. (2011). Online Election System - A proposed election system for Pakistan.
Abamo, J. (2016). Philippines Smart App Voting System a Mobile Voting System.
Retrieved from
http://ijarcsse.com/Before_August_2017/docs/papers/Volume_6/3_March2016/V6I3-
01301.pdf
Sidqi, H. (2014). E-Voting System Using GSM Mobile SMS. Retrieved from
https://www.researchgate.net/profile/Dinesh_Gawade/publication/320554295_E-
VOTING_SYSTEM_USING_MOBILE_SMS/links/59ec2f510f7e9bfdeb704f4d/E-
VOTING-SYSTEM-USING-MOBILE-SMS.pdf?origin=publication_detail
https://www.google.com/url?sa=t&source=web&rct=j&url=http%3A%2F%2Fcs.uccs.ed
u%2F~gsc%2Fpub%2Fmaster%2Fhevecek%2Fdoc%2FOnline%2520E-
Voting%2520Prototype%2520with%2520PTC%2520Web%2520Services%2520v1.doc
&ved=2ahUKEwjJkLz7lL_gAhUPbn0KHVhhBcEQFjAAegQIARAB&usg=AOvVaw1L
meGzz0JlLkXTJOJVtS_o&fbclid=IwAR36ii-aKdX0l87zksLrvrROlKy_mHUfkN-
2QcyVzlBVJS0Uww4RHbnia14
143
Akhare & Gadale, 2016. Secure Mobile based E-voting System. Retrieved from
https://pdfs.semanticscholar.org/7c31/6f7b1e36eef8aedd5198af6a0813c1e6d396.pdf?_ga
=2.253441551.761792770.1552350062-852229144.1552350062
Sangale, S. and Shinde, S. (2014). E-voting system using QR code and Mobile OTP
https://pdfs.semanticscholar.org/18b5/49fb6b01062a99474407a09aef55e2a31aef.pdf?_ga
=2.253441551.761792770.1552350062-852229144.1552350062
144
APPENDICES
145
Appendix A
Dear Respondents:
We are the students of Bachelor of Technology Major in Computer Engineering Technology humbly
asking for your assistance in evaluating our project called “Development of RPi Voting System Used for
Student Government Election”.
5 4 3 2 1
A. Functionality
1. Ease of operation
2.Provisions for comfort and convenience
3.User Friendliness
B. Aesthetics
1.Color
2.Attractiveness of design
3.Appropriateness in size
C. Workability
1.Availability of materials
2.Availability of technical expertise
3.Availability of tools and machine
D. Durability
1.Quality of materials
2.Quality of workmanship
3.Quality of design
E. Economy
1.Economy in terms of materials needed
2.Economy in terms of time/labor spent
3.Economy in terms of machine/s required
F. Safety
1.Absence of toxic/hazardous materials
2.Absence of sharp edges
3.Provision for protection devices
G. Salability
1.Presence of market demand
2.Accessibility to finished product
3.Competitiveness of price
Comments/Suggestions:__________________________________________________________________
________
Signature
June July August September October November December January February March
Activities Week Week Week Week Week Week Week Week Week Week
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Identifying research topic
Title Defense
Writing Chapter 1-3
Proposal Defense
Appendix C
CORRESPONDENCE
148
149
150
151
152
Appendix D
PROFILE OF RESPONDENTS
Respondent Company/
Name Position/Designation
No. Institution
1 Sweden Lanza TUP-C OSA
2 Joseph Mari TUP-C COMSELEC
3 Pauline Ludivico TUP-C COMSELEC
4 Aice D. Parreno TUP-V USG
5 Glydee Mae M. Martinez TUP-V USG
6 Allona Jade O. Nadera TUP-M USG
7 Joshua G. Pumaris TUP-T USG
8 Aljon Conde TUP-C USG
9 Jose Angelito Manuel TUP-T USG
10 Ronielle Jacob Punzal TUP-T USG
11 Jade L. Franco TUP-V USG
12 Shiela Mae V. Sarabia TUP-V USG
13 Janelle O. Sonajo TUP-T USG
14 Kenneth V. Domingo TUP-M USG
15 Archie Denece Gajardo TUP-C USG
16 Shairah Anne G. Lobaton TUP-V USG
17 Ma. Odessa Eiman TUP-C USG
18 Psyna Permejo TUP-C USG
19 Trixie Mallari TUP-C USG
20 Paulo Nico L. Lumaniog TUP-M USG
21 Florence P. Loquinario TUP-V STUDENT
22 Christian Garsula TUP-C STUDENT
23 Rey Ann Madera TUP-C STUDENT
24 Joshua Vyrhon Reyes TUP-C STUDENT
25 Joedel M. Renolayan TUP-C STUDENT
26 Rowena Altalaguire TUP-C STUDENT
27 Ira Frances Contiga TUP-C STUDENT
28 Divina Bayoy TUP-C STUDENT
29 Jalilah Batao TUP-C STUDENT
30 Judy Ann Caponpon TUP-C STUDENT
153
Appendix E
Miscellaneous
(Soldering
N/A 200 200
Lead, Female
header)
Appendix F
TOOLS SPECIFICATIONS
Voltage: 220V
1. Soldering Iron
Power: 30 Watts
2. Sand Paper Grit number: 200
3. Cutter N/A
EQUIPMENT
Laser power: 60 to 400 Watts
1. Acrylic Laser Cutter
Laser source: CO2
155
Appendix G
I. FABRICATION
2. Case assemble.
II. TESTING
III. EVALUATION
157
Appendix H
Functionality
and convenience
Aesthetics
Workability
Durability
Economy
Safety
Salability
product
Appendix I
USERS MANUAL
1. With the guidance of the admin or the officials, scan the QR code of the voter by
facing it again on to the scanner and the details on to the QR code displays
NOTE: Admin must not allow to scan the others QR code such as students from different
Appendix J
RESEARCHERS’ PROFILE
176
WORK EXPERIENCE
On-the-Job Training
Maxim Philippines Operating Corporation
Gateway Business Park 4107
General Trias, Cavite
June 1, 2017 – September 29, 2017
Test Product Engineering (TPE) Group
EDUCATIONAL BACKGROUND
Computer Networking
Computer Maintenance
Good Typing Skill
PERSONAL INFORMATION
WORK EXPERIENCE
On-the-Job Training
Prodatanet Inc.
33rd floor Road A- Burgundy Mckinley Place
Don Galo, Paranaque City
May 2, 2017-August 31, 2017
EDUCATIONAL BACKGROUND
Computer Networking
Computer Maintenance
Computer Literate (Microsoft Office Word, Excel, PowerPoint)
PERSONAL INFORMATION
WORK EXPERIENCE
On-the-Job Training
Prodatanet Inc.
33rd floor Road A- Burgundy Mckinley Place
Don Galo, Paranaque City
May 2, 2017-September 5, 2017
EDUCATIONAL BACKGROUND
PERSONAL INFORMATION
SHERI O. PANTE
Block 2 Lot 25 Zone I Bautista,
Sampaloc IV, Dasmariñas City, Cavite
09665787544
Shey16.ph@gmail.com
WORK EXPERIENCE
On-the-Job Training
De La Salle University
DBB-B, 4115 West Ave.
Dasmariñas City, Cavite
May 2017 – August 2017
EDUCATIONAL BACKGROUND
Computer Networking
Computer Maintenance
Computer Literate (Microsoft Office Word, Excel, PowerPoint)
PERSONAL INFORMATION