SlideShare a Scribd company logo
1 of 39
Download to read offline
- 1 -
DEDICATION
This piece of work is dedicated to the entire staff of the Faculty of Engineering and
Technology as well as to all my classmates
- 2 -
ABSTRACT
Electoral fraud is a very big and severe handicap to development. The impact is
severely felt right down at the local level and the consequences are always tragic and
catastrophic. Electronic voting systems have the potential to improve traditional voting
procedures which provide additional advantage of having its flexibility and sophistication.
Numerous electronic voting schemes have been proposed in the past, but this provide real
authentication for the voters. On the other hand, GSM (Global System for Mobile
communications) is the most widely used mobile networking standard. There are more than
one billion GSM users worldwide that represent a large user potential not for mobile
telephony, but also for other mobile applications that exploit the mature GSM infrastructure.
In this project we are presenting electronic voting scheme by using GSM communication. By
integrating an electronic voting scheme with the GSM infrastructure, we are able to modify
existing GSM authentication mechanisms and provide enhanced voter authentication and
mobility in order to maintain voter privacy. The objective and verdict takes of this project is
to avoid the queue in voting time. Voting machines provide easy access to cast the vote by
using mobile phone. The system is interactive as it has the capability to send results to remote
voters at the end of the process.
Keywords: GSM, Mobile, LCD, Subscriber Identity Module (SIM).
- 3 -
ACKNOWLEDGEMENTS
I have taken efforts and devoted a lot of energy and time in this project. It will not
have been possible without the kind support of many individuals and organisations. I will like
to extend my sincere thanks to all of them.
My endless appreciations are given to the almighty God for the breath of life, health
and care he has always provided.
I am highly indebted to the entire Faculty of Engineering and Technology staff for the
knowledge they instilled in me in my whole academic programme. Particularly to Mr
Nouadjep Serge who played a vital role in guiding all my steps from the beginning to the end
of this project.
My thanks and kind appreciations go to my parents and my entire family who worked
tooth and nail to make sure I accomplish this project in the most excellent way possible.
My profound and sincere gratitude to all my classmates for the endless co-operative
support we have always given each other.
- 4 -
GENERAL INTRODUCTION
Voting is a vital process of the democratic process. As such, the efficiency, reliability,
and security of the Technologies involved are critical. Traditional voting technologies consist
of hand-counted paper ballots. These paper based systems main leads to number of problems,
including: Unacceptable percentages of lost, stolen, or miscounted ballots, Votes lost through
unclear or invalid ballot marks, Limited accommodations for handicapped people.
Today, the development and widespread use of information technologies is changing
the way people perception towards voting processes and, ultimately, the way they vote. At the
forefront of these new technologies is poll-site direct recording electronic (DRE) voting and
remote Internet-based voting. In democratic based societies, voting is an important toll to
Collect and reconsider people opinion… Traditionally, voting is done in centralized or
distributed places called voting booths. Voters go to voting booths and cast their votes under
the supervision of authorized parities. The votes are then counted manually once the election
has finished. With the rapid development of computer technology and cryptographic
methods, electronic voting systems can be employed that replace the unusual and problem
oriented and most importantly error-prone human component. In order to increase efficiency
and accuracy of voting procedures, computerized voting systems were developed to help
colleting and counting the votes. These include lever voting machines, punched cards for
voting, optical mark-sense scanners and direct recording electronic (DRE) type of voting
systems in our purposed use.
For a variety of reasons voters may be unlikely to attend voting booths physically, but
need to vote for the sake of country future. For example, from home or while travelling
abroad. Hence, there is great demand for remote voting procedures that are easy, transparent
and most importantly, secure. Today, the most common and practical way for remote voting is
to use postal voting, where voters cast their votes by post. However, it lacks proper
authentication and involves a time-lapsing procedure. To improve mobility, address security
problems of remote voting procedures and systems. We present an electronic voting using
GSM. With more than one billon users, the GSM authentication infrastructure is the most
widely deployed authentication mechanism so far. We insist to use of well-designed GSM
authentication infrastructure to improve mobility and security of mobile voting procedures.
- 5 -
Another very important functionality of this project is its ability to send a feedback
SMS to all subscribers on the statistics of the votes as well as the winner at the end of the
session.
To best accomplish the project, we have structured it into two main parts which are the
software and hardware respectively. The software part contains all the codes and all the
constraints that are linked to a voting process. The hardware is made up of a transmitters and
receivers that receive information from subscribers and decodes them for good use in the
system. All this is done with an Arduino board and a GSM module that are interconnected.
Other components are attached to smoothen the proper functioning of our system.
- 6 -
LISTS OF FIGURES AND PHOTOGRAPHS
Figure 1 The GSM module.................................................................................................. - 18 -
Figure 2 The Arduino Board .............................................................................................. - 20 -
Figure 3 The LCD board ..................................................................................................... - 21 -
Figure 4 The relay module .................................................................................................. - 22 -
Figure 5 Organigram of the voting system.......................................................................... - 24 -
Figure 6 Vote test 1 ............................................................................................................. - 25 -
Figure 7 Vote test 2 ............................................................................................................. - 26 -
Figure 8 Vote test 3 ............................................................................................................. - 27 -
Figure 9 Block diagram of the system ................................................................................ - 28 -
Figure 10 power supply of system ...................................................................................... - 29 -
Figure 11 Arduino-GSM connection................................................................................... - 29 -
Figure 12 Back view of prototype....................................................................................... - 30 -
- 7 -
LIST OF TABLES
Table 1 Voter's registration ................................................................................................. - 16 -
Table 2 Party registration .................................................................................................... - 16 -
Table 3 AT commands for GSM......................................................................................... - 19 -
Table 4 PDU AT commands ............................................................................................... - 19 -
Table 5 The LCD Pin configuration.................................................................................... - 22 -
- 8 -
Table of content
DEDICATION...................................................................................................................... - 1 -
ABSTRACT.......................................................................................................................... - 2 -
ACKNOWLEDGEMENTS.................................................................................................. - 3 -
GENERAL INTRODUCTION............................................................................................. - 4 -
LISTS OF FIGURES AND PHOTOGRAPHS .................................................................... - 6 -
LIST OF TABLES................................................................................................................ - 7 -
CHAPTER I: OVERVIEW OF THE PROJECT................................................................ - 10 -
I.1 Introduction .......................................................................................................... - 10 -
I.2 Literature Review ................................................................................................. - 10 -
I.2.1) Ballot voting and manual counting .................................................................... - 10 -
I.2.2) Direct electronic recording voting systems........................................................ - 11 -
I.2.3) Fingerprint voting systems (Biometric) ............................................................ - 11 -
I.2.4) RFID based voting systems............................................................................... - 12 -
I.2.5) Internet based voting systems ........................................................................... - 12 -
I.2.6) SMS based voting systems................................................................................ - 12 -
I.3) Conclusion................................................................................................................ - 14 -
CHAPTER II: DESIGN AND METHODOLOGY............................................................ - 15 -
II.1) Design philosophy................................................................................................... - 15 -
II.2) Design approach...................................................................................................... - 15 -
II.3) Design tools............................................................................................................. - 17 -
II.3.1) The GSM modem.............................................................................................. - 17 -
II.3.2) The Arduino board............................................................................................ - 20 -
II.3.3) Liquid Crystal Display (LCD) .......................................................................... - 21 -
II.3.4) The 5V relay module......................................................................................... - 22 -
II.3.5) Other components ............................................................................................. - 23 -
II.4) Conclusion ........................................................................................................... - 23 -
CHAPTER III: IMPLEMENTATION, TESTS, RESULTS AND DISCUSSION ............ - 24 -
III.1 Design Test............................................................................................................ - 24 -
III.1.1) Software test .................................................................................................... - 24 -
III.1.1) hard ware test................................................................................................... - 27 -
III.2 Results and Discussion ..................................................................................... - 30 -
- 9 -
CONCLUSION................................................................................................................... - 32 -
REFERENCES ................................................................................................................... - 33 -
APPENDICES .................................................................................................................... - 34 -
Appendix I: glossary ....................................................................................................... - 34 -
Appendix II: Code........................................................................................................... - 34 -
- 10 -
CHAPTER I: OVERVIEW OF THE PROJECT
I.1 Introduction
The scope of this project is to design a voting remote voting system that can enable to people
to vote where ever they are once they are registered in the system. Our focus is to facilitate the
and easy the entire voting process to both the election body as well the voters. The day of
election the voter need just to send his party of choice to the server number and sit and wait
for the result. No need for any movement. Just a little click on the phone and it is done. A
voter who finds his or herself in another town still has the ability to cast his vote. Other
voting systems actually exist which we are going to compare with this one to show we have
done the best.
I.2 Literature Review
There are many voting systems that exist in the world today which we are going to study one
by, their various advantages as well as disadvantages before we cite specific areas where they
can be applicable.
I.2.1) Ballot voting and manual counting
Traditionally, voting is done in centralized or distributed places called voting booths.
Voters go to voting booths and cast their votes under the supervision of authorized parities.
The votes are then counted manually once the election has finished. It is the case in most
countries in the world and Cameroon in particular. We witness that in municipal, legislatives
and municipal elections. This voting system brings a lot of disadvantages:
 Unreliable since results are always contested.
 Massive fraud and corruption.
 Unfavourable to physically disable people since they find it difficult to move to
pooling stations.
 Unfavourable to remote people if they are present in the location where the
election is taking place.
 Takes too much procedure and demands a lot of man effort and time
consuming
 Prone to mistakes and errors.
- 11 -
The list of disadvantages is long and exhaustive. But this it presents some advantages
as well such as:
 Cheap to conceive and does not demand so much investment. With just a book,
people can register, ballots papers are easy to print, and the boxes too are easy
are to get.
 They can be transparent with a good electoral commission put in place.
 They are good for small communities
I.2.2) Direct electronic recording voting systems
With the advent of modern electronic devices, many electronic voting systems have
been designed which are far better than the traditional and archaic voting systems of ballot
boxes and manual counting. Direct recording electronic voting machine is designed to allow a
direct vote on the machine by manual touch of a screen, monitor, wheel, or other devices and
record the individual votes directly into a computer. It does not use a paper ballot. Some of
the advantages include:
 There is no need printing wasteful ballot papers.
 There is increase in the speed of vote counting.
 Easily usable even by handicap people.
It equally presents some drawbacks which include the high cost needed to implement the
machines.
I.2.3) Fingerprint voting systems (Biometric)
The fingerprint voting system is one of the most used electronic recording voting
systems. With this system, the registration is based on the biometric information of the voter
during registration. With this, every voter is identified within the system since one person can
have just a single biometric data. It presents many advantages:
 User registration and authentication is unique.
 The system is not vulnerable to hackers and intruders. It provides a convenient and
low cost tier of security
 Reduce vote fraud by employing hard-to-forge technologies and materials, such as
minimise the opportunity for identification fraud and buddy punching.
 Eliminates problems caused by lost ID‟s or forgotten passwords by using
physiological attributes.
- 12 -
The main drawback of the biometric system is that it is difficult and very expensive to
implement, particularly at a large scale.
I.2.4) RFID based voting systems
The RFID based voting is a way of authenticating voters and allowing only the
authorised users to vote. The whole system includes RFID scanner to scan the voter‟s ID
cards. The system is equally secured with unique voter‟s authentication. If the RFID of a voter
is missing, it will be difficult to the user to vote. This is a major drawback.
I.2.5) Internet based voting systems
In most advanced countries, internet based voting is mostly applicable since everyone
has access to the internet. A web application is created to enable people to register and cast
the vote when time comes. A website with a large bandwidth can accommodate as many
people as possible. This thus makes easy the voting and as the counting process. These types
of systems suffer a lot of attacks since intruders will look for all way possible to break into the
site and get information or if possible modify the results at time.
I.2.6) SMS based voting systems
This is actually the scope of our project. As earlier mentioned, each and every user has
a unique voting identification and authentication. More to that, the user is equally identified
even at the level of the mobile operator. Hence making it completely impossible for one
person to have more than one identification. Once registered, the user does not need a
displacement the day of the election reaches. Anywhere he finds himself, he is permitted to
cast his vote and it will be counted. One main advantage of this system is that the GSM
network is very crowded with more than one billion subscribers in the world today. In case of
too much traffic, the system can halt and will delay in operation.
I.2.6.1) Characteristic of SMS based voting
Voting system using SMS offer multiple advantages over traditional paper-based
voting systems advantages that increase citizen access to democratic processes and encourage
participation.
 Reduced costs - E-voting systems reduce the materials required for printing and
distributing ballots. Internet based voting, in particular, offers superior economies of
scale in regard to the size of the electoral roll.
- 13 -
 Increased participation and voting options - E-voting offers increased convenience to
the voter, encourages more voters to cast their votes remotely, and increases the
likelihood of participation for mobile voters. Additionally, it permits access to more
information regarding voting options.
 Greater speed and accuracy placing and tallying votes -E-voting's step-by-step
processes help minimize the number of miscast votes. The electronic gathering and
counting of ballots reduces the amount of time spent tallying votes and delivering
results.
 Flexibility - E-voting can support multiple languages, and the flexible design allows
up-to-the minute ballot modifications.
I.2.6.2) Security features in GSM
Confidentiality and signalling information element confidentiality. They are summarized as
follows: Subscriber identity confidentiality is the property that the subscriber's real identity
remains secret by protecting his International Mobile Subscriber Identity (IMSI), which is an
internal subscriber identity used only by the network, and using only temporary identities for
visited networks. Subscriber identity authentication is the property that ensures that the
mobile subscriber who is accessing the network or using the service is the one claimed. In our
proposed GSM mobile voting scheme, communication between the mobile equipment and the
GSM network uses standard GSM technology. Hence GSM security features apply. Among
which, the subscriber identity authentication feature is particularly used in the protocol. A
random challenge RAND is issued when a mobile subscriber tries to access a visited network.
The Authentication Centre (AC) computes a response SRES from RAND using an algorithm
A3 under the control of a subscriber authentication key Ki, where the key Ki is unique to the
subscriber, and is stored in the Subscriber Identity Module (SIM) on the Mobile Equipment
(ME), as well as the Home Location Register (HLR). The ME also computes a response
SRES from RAND as well. Then the value SRES computed by the ME is signaled to the
visited network, where it is compared with the value SRES computed by the AC. The access
of the subscriber will be accepted or denied depending upon the result of comparing the two
values. If the two values of SRES are the same, the mobile subscriber has been authenticated,
and the connection is allowed to proceed. If the values are different, then access is denied.
- 14 -
I.3) Conclusion
In this chapter we have discussed some existing voting systems. However, we are
going to throw our all focus on the SMS based voting system which in the essence of this
project. It is and should remain the reference of choice for all voting systems we have today.
- 15 -
CHAPTER II: DESIGN AND METHODOLOGY
II.1) Design philosophy
This voting system will be very useful to the Buea municipality as well as other
councils and communities around Cameroon. Nowadays, with modern instruments of
information and communication, there is no need for people to still rely on traditional and
archaic systems. Reason why this SMS based voting had to pop up to alleviate the burden the
people always have in moving from place to place before casting a simple vote. Whereas,
with just a simple phone and a SIM slotted inside, this can be done in less than no time and at
no cost. Someone registered in Buea can still vote wherever he finds himself the day of
election. The GSM been a universal network with many subscribers, the system is very
flexible and can fit wherever need be. To realise this system, we have deployed both software
and hardware tools which we will study below.
II.2) Design approach
Just as in a normal electoral process, voters have to register. For our system, 20 people
were registered and among the information that was recorded, we have the name, the
telephone contact which is very necessary for the voting process and the national identity
number. These information are stored in the small database created with the use of Arduino
and are used to identify each and every user. We equally believe then user is equally
identified at the level of the mobile network operator. This thus makes the entire voting
procedure unique and secured with a unique voter‟s identification. The table below is the
information recorded during registration.
NAME CONTACT IDENTITY NUMBER
MOHAMED FOMAGHA +237679425420 GHSDHJSDHJSHJAF
TABE ACHERE OBEN +237653777731 GHVSDHKJHSKFNC
NJUACHA HUBERT M +237675921292 HDJDJ HDHDKKSHB
VICTOR MAGHEM Y +237678800691 GHHDHJAGSGDHH
ACHA ROLENCE +237670030932 NHDHSGFDHHDGS
FON RODRIGUEZ CHI +237677521763 GNSDHSHFGSDHH
EMEH ZADOCK +237679284946 HGFHDFKDGFHAJD
TABE BAIYE BISMAC +237670741839 PLSHDBDHDHDJJFG
- 16 -
BANGE SEBASTIEN +237671129343 KJHHDGD HHDHDH
OFON CHRIS TUTON +237675778805 QWDGHDHDNVKD
MBUA PETER ESENJU +237679853151 PJFDGSDYDHDJJDJ
ATABOH DONALD +237676101814 HJJFHFHFBHHDHDJ
EMMANUEL AWEJAN +237651361085 LOFOFOFHSGDHDF
AZEH JUNIOR +237672090820 BGDTTDFJFHJFHJFJ
TOUTSOP BOREL +237678765327 XDOODDDDXJJDJD
NDI DENIS NDI +237651312923 MJFFDHDHDHHDH
MR NOUADJEP SERGE +237674857394 JJJDHGHDBGGEER
JUSTINE BANYUY +237671649550 XDERODMDESKSK
FUH EDISON SUH +237670318195 OOPMDNJDHDME
TABIAYUK LIONEL +237674693661 GHTJSDNSJSOFHJE
Table 1 Voter's registration
The above information is now taken into consideration in the design of the system
with the voter‟s phone number the first identifier that enables him/her to cast a valid vote.
Equally, 4 parties were taken for our case study. These parties must also declare their
candidature with their respective candidates during the time at wish the system is been
conceived. For our case, the following table depicts the information recorded from contesting
parties:
NAME CANDIDATE
SDF Mr Akum Prosper of SDF
NPM Mrs Acha Gloria of NPM
CPP Mr Siriki Madin of CPP
NFC Mr Aladin Awan of NFC
Table 2 Party registration
The system is then designed by taking all the constraints that are linked to a voting process
such as:
 A non-registered cannot vote. Or if the latter attempts to vote, it will not be valid.
Consequently, the system will send to him or her warning message.
- 17 -
 Also, a due registered voter cannot vote more than once. Attempting bridge the rule is
punishable by the regulation in force. The system equally sends a warning message to
any defaulter.
 The system is opened only during the time of election. Meaning anyone (registered or
not) attempting to vote before or after the schedule time frame for the election is
simply doing a categorical waste of time.
 The user has the freedom to vote by an empty ballot by simply sending the SMS
<<no>> to the address of the server which in our case is +237678955564.
 At the end of the voting process, if all registered voters cast properly their votes, the
result will be published automatically. Else the ELECAM operator has the duty to
publish it by simply sending an SMS <<end>> to the server.
 All users are notified by SMS before the beginning of the process
 All users receive all statistics of the election as well as the name of the overall winner
and his party of choice at the end of the entire voting process. Thus there is a
promotion of transparency.
II.3) Design tools
This SMS based voting system was designed around two main components: the GSM
module and an Arduino board. They act as the hub of the system because without them
nothing can work in the system. A liquid crystal display is also attached and is very useful
since it prints out the results once the session is ended. Let us look deeper into the
components used in this project:
II.3.1) The GSM modem
The GSM modem we have used in this project is the SIM900. It is simply a board
having all the functionalities of a mobile phone. It is made to function using AT commands
programmed with the Arduino board. It can be used for call, SMS and internet application
purposes.
The GPRS/GSM Shield provides you a way to use the GSM cell phone network to
receive data from a remote location. The shield allows you to achieve this via any of the three
methods:
• Short Message Service
• Audio
• GPRS Service
- 18 -
The GPRS Shield is compatible with all boards which have the same form factor (and
pinout) as a standard Arduino Board. The GPRS Shield is configured and controlled via its
UART using simple AT commands. Based on the SIM900 module from SIMCOM, the
GPRS Shield is like a cell phone. Besides the communications features, the GPRS Shield
has 12 GPIOs, 2 PWMs and an ADC.
Below are some features of the GSM SIM900 module
• Quad-Band 850 / 900/ 1800 / 1900 MHz - would work on GSM networks in all
countries across the world.
• GPRS multi-slot class 10/8
• GPRS mobile station class B
• Compliant to GSM phase 2/2+
• Class 4 (2W@850/900MHz)
• Class 1 (1W@1800/1900MHz)
• Control via commands (GSM 07.07, 07.05 and SIMCOM enhanced AT
Commands)
• Short message service
• Free serial port selection
• RTC supported with Super Cap
• Power on/off and reset function supported by Arduino interface
The figure below shows the front view of the module:
Figure 1 The GSM module
- 19 -
The SIM card is slotted behind the GSM module in a jack reserve for it. It is done gently by
respecting the prescribed procedure.
As earlier mentioned, The GSM module functions based on AT commands. AT means
attention. It means we need to use these commands to call the attention of the GSM to execute
a given task. Below are some AT commands that are mostly used while interfacing the GSM
module with the Arduino board.
SMS Text mode :
Command Description
AT+CSMS Select message service
AT+CPMS Preferred message storage
AT+CMGF Message format
AT+CSCA Service centre address
AT+CSCB Select cell broadcast message types
AT+CNMI New message indications to TE
AT+CMGS Send message
AT+CMSS Send message from storage
Table 3 AT commands for GSM
SMS PDU mode :
Command Description
AT+CMGL List Messages
AT+CMGR Read message
AT+CMGS Send message
AT+CMGW Write message to memory
Table 4 PDU AT commands
One important thing to note about the GSM module is the transmit power. The
maximum transmit power of the GSM is 30dBm (1w). We that this is very good as it cannot
cause harming neither to the environment nor to people.
- 20 -
In our project, the GSM module is responsible for receiving votes as well as sending
the feedback to voters as well as the winner candidate at the end of each voting session. It is
like the main hub of the entire system.
II.3.2) The Arduino board
The Arduino is an electronic board constructed around the Atmega328
microcontroller. There are many flavours of Arduino but we selected the Arduino Uno in this
project. It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6
analogue inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP
header, and a reset button. It contains everything needed to support the microcontroller. To
power it, simply connect it to a computer with a USB cable or power it with an AC-to-DC
adapter or battery.
The Uno differs from all preceding boards in that it does not use the FTDI USB-to-
serial driver chip. Instead, it features the Atmega8U2 programmed as a USB-to-serial
converter. "Uno" means one in Italian and is named to mark the upcoming release of Arduino
1.0. The Uno and version 1.0 will be the reference versions of Arduino, moving forward. The
Uno is the latest in a series of USB Arduino boards, and the reference model for the Arduino
platform; for a comparison with previous versions.
Below is a pictorial view of the Arduino Uno board as well as the pin configuration.
Figure 2 The Arduino Board
- 21 -
The Arduino board is used in this project as interface the GSM module as well as the
liquid crystal display. It is programmed to interprete the messages received by the GSM. It
determines how the GSM should communicate in general. It passes the results to the display
as well as triggers the external components in the system such as lamps and LED‟s.
II.3.3) Liquid Crystal Display (LCD)
LCD (Liquid Crystal Display) screen is an electronic display module and find a wide range of
applications. A 16x2 LCD display is very basic module and is very commonly used in various
devices and circuits. 16x2 means it has 2 rows and 16 coulombs on which it can display
information. These modules are preferred over seven segments and other multi segment
LEDs. The reasons being: LCDs are economical; easily programmable; have no limitation of
displaying special & even custom characters (unlike in seven segments), animations and so on
The LCD is based upon the liquid crystal technology. By applying Voltage to the LCD it
becomes opaque, but before that it was a transparent material. This property is the main
operating principle of LCD. The figure below shows the pictorial view of the LCD as well as
the pin configuration:
Figure 3 The LCD board
The table below shows the pin description as well as their various functioning:
Pin Number Function Name
1 Ground (0V) Ground
2 Supply voltage 5V (4.7V to 5.3V) VCC
3 Contrast adjustment, through a variable resistor VEE
4 Selects command register when low and dada
when high
Register select
5 Low to write to register, high to read from
register
Read/Write
6 Sends data to data pins when a high to low Enable
- 22 -
pulse is given.
7
8 bits data pins
DB0
8 DB1
9 DB2
10 DB3
11 DB4
12 DB5
13 DB6
14 DB7
15 Backlight Vcc (5V) Led+
16 Backlight Ground (0 V) Led-
Table 5 The LCD Pin configuration
In our project, the display is used to transfer the result of the exam to the examiner upon
completion of the session.
II.3.4) The 5V relay module
This module is acting as the switching element between the DC pulse from Arduino and the
AC supply to the system. Below is the look of the 2 relay module:
The relay module is an electrically operated switch that allows
you to turn on or off a circuit using voltage and/or current much
higher than a microcontroller could handle. There is no connection
between the low voltage circuit operated by the microcontroller
and the high power circuit. The relay protects each circuit from
each other. The each channel in the module has three connections
named NC, COM, and NO. Depending on the input signal trigger mode, the jumper cap can
be placed at high level effective mode which „closes‟ the normally open (NO) switch at high
level input and at low level effective mode which operates the same but at low level input.
Specifications
On-board EL817 photoelectric coupler with photoelectric isolating antiinterference ability.
-board 5V, 10A / 250VAC, 10A / 30VDC relays
Figure 4 The relay module
- 23 -
and MCU I/O link, with the output signal indicator
Pin Configuration
1. VCC: 5V DC
2. COM: 5V DC
3. IN1: high/low output
4. IN2: high/low output
5. GND: ground
II.3.5) Other components
There are many other components that are needed in the scope of realising the project
such as resistors, capacitors, transistors, diodes, transformers, LED, lamp display… they are
used to serve different purposes in power supply, output display…
II.4) Conclusion
In this chapter, we have discussed the procedures we took to realise our voting system.
We equally talked about the key components that were needed to realise the project and the
role each of them played. It is important for us to go deeper into the implementation and
explain in details what was done.
- 24 -
CHAPTER III: IMPLEMENTATION, TESTS, RESULTS AND DISCUSSION
III.1 Design Test
To design this project till completion, we followed to paths which are the software and
hardware respectively. The software consists of the code written using Arduino programming
language. This code is then loaded into the arduino hardware which is interface to a GSM
modem. Let us discuss the details of the project test from software to hardware test.
III.1.1) Software test
No software code can ever work effectively without a good and clear algorithm. It
helps us to structure our code and take into consideration all the constraints that are needed in
each and every voting process.
Figure 5 Organigram of the voting system
The code is written based on the above flowchart with other little constraints attached to it.
Below are all the constraints we took related to an electoral process. The code is compiled and
loaded into the arduino board in Proteus software. A virtual terminal and serial monitor of
Adruino are used to test the behaviour of the entire system .An SMS is sent from a registered
- 25 -
number to the server number. The serial monitor is opened and display the entire received
SMS. The system decodes this SMS by extracting the number of the sender as well as the
content of the message. The number is first checked if eligible to vote. If so, then the content
is also checked. If not then it is rejected. The content which contains the party of choice of the
voter is compared with all party codes. If any is true, then the vote is validated and a counter
is incremented as per party. The procedure continues so for all voters till the entire process
ends. The figure below shows the capture of the serial monitor for a valid vote:
Figure 6 Vote test 1
For a user attempting to vote more than once, the serial monitor capture gives the following:
- 26 -
Figure 7 Vote test 2
For a non-registered, the serial monitor will display:
At the end of the voting process, the serial monitor will equally print the final result as well as
the winner. The capture is given below:
- 27 -
Figure 8 Vote test 3
It is to be noted here that the serial monitor is a very good display tool that helps us during
software and hardware realisation. It enables to view the step-by-steps functioning of the
entire system.
III.1.1) hard ware test
 Block diagram of the system
- 28 -
Figure 9 Block diagram of the system
The block diagram above permits us to see the way all components are connected to each
other and facilitate the building and construction of the entire system
 Circuit diagram of power supply
As from the block diagram, we used two power supplies: one for the arduino board and the
other for the GSM module.
- 29 -
Figure 10 power supply of system
When measure we have 12.1V and 4.97V respectively which are around the desired values for
our system.
 Arduino and GSM
The figure below shows the connection of the GSM and Arduino boards
Figure 11 Arduino-GSM connection
- 30 -
All other components such as relay, the LCD display were connected around the arduino
board. Below is a back view of the prototype:
Figure 12 Back view of prototype
 Overall system testing
The overall system is mounted and everything connected in its respective position. An SMS is
sent as normal. The only thing that changes this time is the LCD to display at any time the
status of the system as well as the recorded result per party. The serial monitor is still the main
display of the entire system since can be used for both software and hardware testing. The
results above discussed in the software test are the same with the hardware test. The
particularity of this system is its ability to store results of the election and transfer them back
again to remote voters by SMS. This was a big innovation.
III.2 Results and Discussion
The voting system we conceived worked perfectly in all aspects. With main difficulties at the
level of the GSM module. When the mobile network quality is not the best, it does not receive
SMS. And thus the entire system is down in such cases since it acts as the main hub of the
system. For future scope, some other features can be added such as:
 A memory device is attached to the system to keep track of all data. This is to make
sure that no data is loss even when the voting process has ended and results are
published.
- 31 -
 A website can be added to the system and enable remote voters to keep track of the
process.
 Since the GSM module has the ability to connect to the internet, the same election can
done offline and online. This will increase the number of voters and equally give the
opportunity for voters not present in the country to cast their votes with ease.
 And many others.
- 32 -
CONCLUSION
Voting is a very good process in collective decision making. Putting in place the right
voting system is a promotion of transparency as well as democracy. To incorporate digital
voting systems such as that with SMS in most countries in Africa can help to eliminate some
of the crises that arise in most countries at the end of each electoral process. E-Voting System
Using GSM Mobile SMS is an excellent program to receive SMS messages this is the best
solution and reference. The manual voting process can be very tedious, prone to electoral
fraud and costly. The time that is been consumed and the resources often times runs into
expensive projects. With all this, security is compromised because of the inability of all the
human factors to provide efficient security needed for robust operation of the system.
- 33 -
REFERENCES
[1] T. M. Carbaugh, “Secretary of State Kevin Shelley Announces Directives To Ensure
Voter Confidence in Electronic
Systems,” California Secretary of State, 2003.
[2] D. L. Chaum, “Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms,”
Communications of the
ACM, Vol.24, No.2, 1981, pp.84-88.
[3] C. T. Chiou, “A Study of Election Reform in Taiwan: An Observation from e-Voting
Experiences in Developed
Countries,” Journal of Research, Development and Evaluation Commission, Vol. 28, No. 4,
2004, pp.25-35 (in
Chinese).
[4] Compuware Corporation, “Direct Recording Electronic (DRE) Technical Security
Assessment Report,” Ohio
Secretary of State, 2003.
[5] C. A. Gaston, “A Better Way to Vote,” Proceedings of the 38th Annual Hawaii
International Conference on System
Sciences, 2005, p.117c.
[6] C. A. Gaston, SAVIOC Voting Systems, [Online], Available: http://www.savioc.com/,
2007.
[7] Institute Policy Institute, “Report of the National Workshop on Internet Voting: Issues and
Research Agenda,”
Proceedings of the 2000 Annual National Conference on Digital Government Research, 2000,
pp.1-59.
[8] A. M. Keller, A. Dechert, K. Auerbach, D. Mertz, A. Pearl, and J. L. Hall, “A PC-based
Open-Source Voting
Machine with an Accessible Voter-Verifiable Paper Ballot,” Proceedings of the USENIX
Annual Technical
Conference, U.S.A., 2005, p.52.
[9] T. Kohno, A. Stubblefield, A. D. Ribin, and D. S. Wallach, “Analysis of an Electronic
Voting System,” IEEE
Computer Society, 2004, pp.27-40.
- 34 -
APPENDICES
Appendix I: glossary
 SMS: Short Message Service
 SIM: Subscriber Identity Module
 USB: Universal Serial Bus
 FDD: Frequency Division Duplexing
 TDD: Time Division Duplexing
 GSM: Global System for Mobile
 UMTS: Universal Mobile Telecommunication Service
 LTE: Long Term Evolution
 SMS: Short Message Service
 LCD: Liquid Crystal Display
 LED: Light Emitting Diode
 I2C: Inter-Intergrated Circuit
 GPRS: General Package Radio Services
 PWM: Pulse Width Modulation
 RAM: Random-Access Memory
 RF: Radio Frequency
 Rx: Receiver
 SIM: Subscriber Identity Module
 SPI: Serial Peripheral Interface
 TX: Transmitter
 USART: Universal Asynchronous Receiver Transmitter
 WAP wireless application protocol
 WSN Wireless Sensor Network
Appendix II: Code
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd (0x27,2,1,0,4,5,6,7,3,POSITIVE);
#include<SoftwareSerial.h> // include the serial library that can be accessed for all codes
- 35 -
SoftwareSerial mySerial(51,52); //pin 51 the received pin of Arduino and pin 52 is the
transmit pin (we are using software serial mode)
int LED1=11; // declare LED as pin 13 of arduino
int LED2=12;
int Buzzer=2;
String text=""; // text will be a variable to store characters
String Receive=""; // a string of TEXT
String AllMessage=""; // a String of characters
String AllMessageread=""; // a String of characters
String NewMessage=""; // a String of characters
String SimNumber="";
String Answer=""; // string to store answer
int i; // i is integer for looping
int Voters_Number=20; // variable to host total number of voters
int Candidate_Number=4; // number of candidates
int a=0; // int variable
int VoteCounter[]={ // counter for the various votes
0,0,0,0
};
int VoteTransfer[]={ // final counter for the votes
0,0,0,0
};
- 36 -
int NoCount=0; //variable for no vote
int VoteCount=0; // variable for total vote
int SMS_Count[20]={ // variable to store vote count of each voter
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
};
char* Parties[]= // parties registereted
{
"SDF", "NPM", "CPP", "NFC"
};
char *Voters_Contact[20]= // voter registration
{
"+237679425420","+237653777731","+237675921292","+237678800691","+237670030932
",
"+237677521763","+237679284946","+237670741839","+237671129343","+237675778805
",
"+237679853151","+237676101814","+237651361085","+237672090820","+237678765327
",
"+237651312923","+237674857394","+237671649550","+237670318195","+237674693661
"};
void setup() // set up function setting
{
mySerial.begin(9600); // setting the baud rate of the GSM modem
Serial.begin(9600); // setting the baud rate of Arduino
trash();
- 37 -
mySerial.println("AT+CMGD=4r"); // issue the delete message command to the
delay(1000);
mySerial.println("AT+CMGF=1r"); // setting the GSM module to TEXT mode
trash();
ReceiveSMS();
trash();
}
// The receive function to alert the GSM module
void ReceiveSMS()
{
mySerial.println("AT+CNMI=2,2,0,0,0r");
delay(1000);
Serial.println("Waiting to Receive the votes");
}
// The initial function to clear the GSM module
void trash()
{
while(mySerial.available()>0)
{
AllMessage = char (mySerial.read());
AllMessageread+=AllMessage;
}
AllMessageread="";
- 38 -
AllMessage="";
}
// function to publish the results
void Publish()
{
Answer="";
SimNumber="";
digitalWrite(LED2,LOW);
VoteTransferCount();
FinalVoteDisplay();
SendResult();
delay(4000);
Check();
digitalWrite(LED2,HIGH);
delay(4000);
LampFinal();
VoteCount=0;
}
// function to send the results to all voters
void Winner1(){
for(int i=0; i<20 ; i++)
{
Serial.println(i);
- 39 -
Winner1ToAll(Voters_Contact[i]);
delay(5000);
}
}
void Winner1ToAll(String PhoneContact)
{
mySerial.print("AT+CMGS=""); // the number that has to
receive the text
delay(200);
mySerial.print(PhoneContact);
delay(200);
mySerial.println(""r");
delay(1000);
mySerial.println("The Winner Of The Election is Mr Akum Prosper of SDF");
delay(200);
mySerial.println((char)26); // identifies end of SMS content
delay(1000);
}

More Related Content

What's hot

High pass filter with analog electronic
High pass filter with analog electronicHigh pass filter with analog electronic
High pass filter with analog electronicDilouar Hossain
 
Medical instrumentation- patient monitoring systems
Medical instrumentation- patient monitoring systems Medical instrumentation- patient monitoring systems
Medical instrumentation- patient monitoring systems Poornima D
 
1. signal and systems basics
1. signal and systems basics1. signal and systems basics
1. signal and systems basicsskysunilyadav
 
Electronic voting machine
Electronic voting machineElectronic voting machine
Electronic voting machineMustahid Ali
 
IRJET- IoT based Smart Ambulance System
IRJET-  	  IoT based Smart Ambulance SystemIRJET-  	  IoT based Smart Ambulance System
IRJET- IoT based Smart Ambulance SystemIRJET Journal
 
Acoustic echo cancellation
Acoustic echo cancellationAcoustic echo cancellation
Acoustic echo cancellationchintanajoshi
 
Serial Communication Part-16
Serial Communication Part-16Serial Communication Part-16
Serial Communication Part-16Techvilla
 
automatic railway gate control system using arduino
automatic railway gate control system using arduinoautomatic railway gate control system using arduino
automatic railway gate control system using arduinoantivirusspam
 
Working of capacitive SAR ADC
Working of capacitive SAR ADCWorking of capacitive SAR ADC
Working of capacitive SAR ADCsantoshnimbal
 
Project report on home automation using Arduino
Project report on home automation using Arduino Project report on home automation using Arduino
Project report on home automation using Arduino AMIT SANPUI
 
Signals & Systems PPT
Signals & Systems PPTSignals & Systems PPT
Signals & Systems PPTJay Baria
 
Noise Analysis in Op Amp
Noise Analysis in Op AmpNoise Analysis in Op Amp
Noise Analysis in Op AmpPremier Farnell
 
IRJET- Smart Dustbin
IRJET-  	  Smart DustbinIRJET-  	  Smart Dustbin
IRJET- Smart DustbinIRJET Journal
 
Global wireless e voting powerpoint presentation
Global wireless e voting powerpoint presentationGlobal wireless e voting powerpoint presentation
Global wireless e voting powerpoint presentationPrateeksha Singh
 
Chapter01 int to telecom
Chapter01 int to telecomChapter01 int to telecom
Chapter01 int to telecomSikander Ghunio
 
Introduction to electronic circuit design..model
Introduction to electronic circuit design..modelIntroduction to electronic circuit design..model
Introduction to electronic circuit design..modelPatel Jay
 
Direct Digital Control
Direct Digital ControlDirect Digital Control
Direct Digital ControlIOSR Journals
 

What's hot (20)

High pass filter with analog electronic
High pass filter with analog electronicHigh pass filter with analog electronic
High pass filter with analog electronic
 
Medical instrumentation- patient monitoring systems
Medical instrumentation- patient monitoring systems Medical instrumentation- patient monitoring systems
Medical instrumentation- patient monitoring systems
 
1. signal and systems basics
1. signal and systems basics1. signal and systems basics
1. signal and systems basics
 
Electronic voting machine
Electronic voting machineElectronic voting machine
Electronic voting machine
 
Audio system
Audio systemAudio system
Audio system
 
IRJET- IoT based Smart Ambulance System
IRJET-  	  IoT based Smart Ambulance SystemIRJET-  	  IoT based Smart Ambulance System
IRJET- IoT based Smart Ambulance System
 
Acoustic echo cancellation
Acoustic echo cancellationAcoustic echo cancellation
Acoustic echo cancellation
 
Multirate DSP
Multirate DSPMultirate DSP
Multirate DSP
 
Serial Communication Part-16
Serial Communication Part-16Serial Communication Part-16
Serial Communication Part-16
 
automatic railway gate control system using arduino
automatic railway gate control system using arduinoautomatic railway gate control system using arduino
automatic railway gate control system using arduino
 
Working of capacitive SAR ADC
Working of capacitive SAR ADCWorking of capacitive SAR ADC
Working of capacitive SAR ADC
 
Project report on home automation using Arduino
Project report on home automation using Arduino Project report on home automation using Arduino
Project report on home automation using Arduino
 
Signals & Systems PPT
Signals & Systems PPTSignals & Systems PPT
Signals & Systems PPT
 
Noise Analysis in Op Amp
Noise Analysis in Op AmpNoise Analysis in Op Amp
Noise Analysis in Op Amp
 
IRJET- Smart Dustbin
IRJET-  	  Smart DustbinIRJET-  	  Smart Dustbin
IRJET- Smart Dustbin
 
M voting
M votingM voting
M voting
 
Global wireless e voting powerpoint presentation
Global wireless e voting powerpoint presentationGlobal wireless e voting powerpoint presentation
Global wireless e voting powerpoint presentation
 
Chapter01 int to telecom
Chapter01 int to telecomChapter01 int to telecom
Chapter01 int to telecom
 
Introduction to electronic circuit design..model
Introduction to electronic circuit design..modelIntroduction to electronic circuit design..model
Introduction to electronic circuit design..model
 
Direct Digital Control
Direct Digital ControlDirect Digital Control
Direct Digital Control
 

Similar to End of year project report on remote sms based voting system by fomagha tatou mohamed

IRJET- E-Voting System for Election using Fingerprint and Aadhar Number
IRJET-  	  E-Voting System for Election using Fingerprint and Aadhar NumberIRJET-  	  E-Voting System for Election using Fingerprint and Aadhar Number
IRJET- E-Voting System for Election using Fingerprint and Aadhar NumberIRJET Journal
 
IRJET - Smart E-Voting System with Fingerprint Authentication using Arduino
IRJET - Smart E-Voting System with Fingerprint Authentication using ArduinoIRJET - Smart E-Voting System with Fingerprint Authentication using Arduino
IRJET - Smart E-Voting System with Fingerprint Authentication using ArduinoIRJET Journal
 
A NOVEL VOTING SYSTEM USING SMS
A NOVEL VOTING SYSTEM USING SMS A NOVEL VOTING SYSTEM USING SMS
A NOVEL VOTING SYSTEM USING SMS cscpconf
 
Captiosus Voting System
Captiosus Voting SystemCaptiosus Voting System
Captiosus Voting SystemIJMTST Journal
 
Online Voting System
Online Voting SystemOnline Voting System
Online Voting SystemIRJET Journal
 
IRJET- Design and Development of Security based Voting System
IRJET- Design and Development of Security based Voting SystemIRJET- Design and Development of Security based Voting System
IRJET- Design and Development of Security based Voting SystemIRJET Journal
 
ONLINE FINGERPRINT VOTING SYSTEM
ONLINE FINGERPRINT VOTING SYSTEMONLINE FINGERPRINT VOTING SYSTEM
ONLINE FINGERPRINT VOTING SYSTEMIRJET Journal
 
FINGERPRINT BASED SECURED VOTING
FINGERPRINT BASED SECURED VOTINGFINGERPRINT BASED SECURED VOTING
FINGERPRINT BASED SECURED VOTINGIRJET Journal
 
IRJET- Advanced Technology in Secured Online Voting System
IRJET- Advanced Technology in Secured Online Voting SystemIRJET- Advanced Technology in Secured Online Voting System
IRJET- Advanced Technology in Secured Online Voting SystemIRJET Journal
 
Smart Voting System Using Java Servlets
Smart Voting System Using Java ServletsSmart Voting System Using Java Servlets
Smart Voting System Using Java ServletsIRJET Journal
 
Internet – Voting System Using Blockchain Technology
Internet – Voting System Using Blockchain TechnologyInternet – Voting System Using Blockchain Technology
Internet – Voting System Using Blockchain TechnologyIRJET Journal
 
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORMADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORMijcax
 
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORMADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORMijcax
 
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORMADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORMijcax
 
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORMADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORMijcax
 

Similar to End of year project report on remote sms based voting system by fomagha tatou mohamed (20)

IRJET- E-Voting System for Election using Fingerprint and Aadhar Number
IRJET-  	  E-Voting System for Election using Fingerprint and Aadhar NumberIRJET-  	  E-Voting System for Election using Fingerprint and Aadhar Number
IRJET- E-Voting System for Election using Fingerprint and Aadhar Number
 
IRJET - Smart E-Voting System with Fingerprint Authentication using Arduino
IRJET - Smart E-Voting System with Fingerprint Authentication using ArduinoIRJET - Smart E-Voting System with Fingerprint Authentication using Arduino
IRJET - Smart E-Voting System with Fingerprint Authentication using Arduino
 
GLOBAL WIRELESS E-VOTING FULL REPORT FOR SEMINAR
GLOBAL WIRELESS E-VOTING FULL REPORT FOR SEMINARGLOBAL WIRELESS E-VOTING FULL REPORT FOR SEMINAR
GLOBAL WIRELESS E-VOTING FULL REPORT FOR SEMINAR
 
EVM.pptx
EVM.pptxEVM.pptx
EVM.pptx
 
A NOVEL VOTING SYSTEM USING SMS
A NOVEL VOTING SYSTEM USING SMS A NOVEL VOTING SYSTEM USING SMS
A NOVEL VOTING SYSTEM USING SMS
 
GLOBAL WIRELESS E-VOTING
GLOBAL WIRELESS E-VOTINGGLOBAL WIRELESS E-VOTING
GLOBAL WIRELESS E-VOTING
 
Captiosus Voting System
Captiosus Voting SystemCaptiosus Voting System
Captiosus Voting System
 
Online Voting System
Online Voting SystemOnline Voting System
Online Voting System
 
IRJET- Design and Development of Security based Voting System
IRJET- Design and Development of Security based Voting SystemIRJET- Design and Development of Security based Voting System
IRJET- Design and Development of Security based Voting System
 
ONLINE FINGERPRINT VOTING SYSTEM
ONLINE FINGERPRINT VOTING SYSTEMONLINE FINGERPRINT VOTING SYSTEM
ONLINE FINGERPRINT VOTING SYSTEM
 
Black book converted
Black book convertedBlack book converted
Black book converted
 
Black book converted
Black book convertedBlack book converted
Black book converted
 
FINGERPRINT BASED SECURED VOTING
FINGERPRINT BASED SECURED VOTINGFINGERPRINT BASED SECURED VOTING
FINGERPRINT BASED SECURED VOTING
 
IRJET- Advanced Technology in Secured Online Voting System
IRJET- Advanced Technology in Secured Online Voting SystemIRJET- Advanced Technology in Secured Online Voting System
IRJET- Advanced Technology in Secured Online Voting System
 
Smart Voting System Using Java Servlets
Smart Voting System Using Java ServletsSmart Voting System Using Java Servlets
Smart Voting System Using Java Servlets
 
Internet – Voting System Using Blockchain Technology
Internet – Voting System Using Blockchain TechnologyInternet – Voting System Using Blockchain Technology
Internet – Voting System Using Blockchain Technology
 
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORMADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
 
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORMADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
 
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORMADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
 
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORMADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
ADVANCED E-VOTING APPLICATION USING ANDROID PLATFORM
 

Recently uploaded

Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 

Recently uploaded (20)

Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 

End of year project report on remote sms based voting system by fomagha tatou mohamed

  • 1. - 1 - DEDICATION This piece of work is dedicated to the entire staff of the Faculty of Engineering and Technology as well as to all my classmates
  • 2. - 2 - ABSTRACT Electoral fraud is a very big and severe handicap to development. The impact is severely felt right down at the local level and the consequences are always tragic and catastrophic. Electronic voting systems have the potential to improve traditional voting procedures which provide additional advantage of having its flexibility and sophistication. Numerous electronic voting schemes have been proposed in the past, but this provide real authentication for the voters. On the other hand, GSM (Global System for Mobile communications) is the most widely used mobile networking standard. There are more than one billion GSM users worldwide that represent a large user potential not for mobile telephony, but also for other mobile applications that exploit the mature GSM infrastructure. In this project we are presenting electronic voting scheme by using GSM communication. By integrating an electronic voting scheme with the GSM infrastructure, we are able to modify existing GSM authentication mechanisms and provide enhanced voter authentication and mobility in order to maintain voter privacy. The objective and verdict takes of this project is to avoid the queue in voting time. Voting machines provide easy access to cast the vote by using mobile phone. The system is interactive as it has the capability to send results to remote voters at the end of the process. Keywords: GSM, Mobile, LCD, Subscriber Identity Module (SIM).
  • 3. - 3 - ACKNOWLEDGEMENTS I have taken efforts and devoted a lot of energy and time in this project. It will not have been possible without the kind support of many individuals and organisations. I will like to extend my sincere thanks to all of them. My endless appreciations are given to the almighty God for the breath of life, health and care he has always provided. I am highly indebted to the entire Faculty of Engineering and Technology staff for the knowledge they instilled in me in my whole academic programme. Particularly to Mr Nouadjep Serge who played a vital role in guiding all my steps from the beginning to the end of this project. My thanks and kind appreciations go to my parents and my entire family who worked tooth and nail to make sure I accomplish this project in the most excellent way possible. My profound and sincere gratitude to all my classmates for the endless co-operative support we have always given each other.
  • 4. - 4 - GENERAL INTRODUCTION Voting is a vital process of the democratic process. As such, the efficiency, reliability, and security of the Technologies involved are critical. Traditional voting technologies consist of hand-counted paper ballots. These paper based systems main leads to number of problems, including: Unacceptable percentages of lost, stolen, or miscounted ballots, Votes lost through unclear or invalid ballot marks, Limited accommodations for handicapped people. Today, the development and widespread use of information technologies is changing the way people perception towards voting processes and, ultimately, the way they vote. At the forefront of these new technologies is poll-site direct recording electronic (DRE) voting and remote Internet-based voting. In democratic based societies, voting is an important toll to Collect and reconsider people opinion… Traditionally, voting is done in centralized or distributed places called voting booths. Voters go to voting booths and cast their votes under the supervision of authorized parities. The votes are then counted manually once the election has finished. With the rapid development of computer technology and cryptographic methods, electronic voting systems can be employed that replace the unusual and problem oriented and most importantly error-prone human component. In order to increase efficiency and accuracy of voting procedures, computerized voting systems were developed to help colleting and counting the votes. These include lever voting machines, punched cards for voting, optical mark-sense scanners and direct recording electronic (DRE) type of voting systems in our purposed use. For a variety of reasons voters may be unlikely to attend voting booths physically, but need to vote for the sake of country future. For example, from home or while travelling abroad. Hence, there is great demand for remote voting procedures that are easy, transparent and most importantly, secure. Today, the most common and practical way for remote voting is to use postal voting, where voters cast their votes by post. However, it lacks proper authentication and involves a time-lapsing procedure. To improve mobility, address security problems of remote voting procedures and systems. We present an electronic voting using GSM. With more than one billon users, the GSM authentication infrastructure is the most widely deployed authentication mechanism so far. We insist to use of well-designed GSM authentication infrastructure to improve mobility and security of mobile voting procedures.
  • 5. - 5 - Another very important functionality of this project is its ability to send a feedback SMS to all subscribers on the statistics of the votes as well as the winner at the end of the session. To best accomplish the project, we have structured it into two main parts which are the software and hardware respectively. The software part contains all the codes and all the constraints that are linked to a voting process. The hardware is made up of a transmitters and receivers that receive information from subscribers and decodes them for good use in the system. All this is done with an Arduino board and a GSM module that are interconnected. Other components are attached to smoothen the proper functioning of our system.
  • 6. - 6 - LISTS OF FIGURES AND PHOTOGRAPHS Figure 1 The GSM module.................................................................................................. - 18 - Figure 2 The Arduino Board .............................................................................................. - 20 - Figure 3 The LCD board ..................................................................................................... - 21 - Figure 4 The relay module .................................................................................................. - 22 - Figure 5 Organigram of the voting system.......................................................................... - 24 - Figure 6 Vote test 1 ............................................................................................................. - 25 - Figure 7 Vote test 2 ............................................................................................................. - 26 - Figure 8 Vote test 3 ............................................................................................................. - 27 - Figure 9 Block diagram of the system ................................................................................ - 28 - Figure 10 power supply of system ...................................................................................... - 29 - Figure 11 Arduino-GSM connection................................................................................... - 29 - Figure 12 Back view of prototype....................................................................................... - 30 -
  • 7. - 7 - LIST OF TABLES Table 1 Voter's registration ................................................................................................. - 16 - Table 2 Party registration .................................................................................................... - 16 - Table 3 AT commands for GSM......................................................................................... - 19 - Table 4 PDU AT commands ............................................................................................... - 19 - Table 5 The LCD Pin configuration.................................................................................... - 22 -
  • 8. - 8 - Table of content DEDICATION...................................................................................................................... - 1 - ABSTRACT.......................................................................................................................... - 2 - ACKNOWLEDGEMENTS.................................................................................................. - 3 - GENERAL INTRODUCTION............................................................................................. - 4 - LISTS OF FIGURES AND PHOTOGRAPHS .................................................................... - 6 - LIST OF TABLES................................................................................................................ - 7 - CHAPTER I: OVERVIEW OF THE PROJECT................................................................ - 10 - I.1 Introduction .......................................................................................................... - 10 - I.2 Literature Review ................................................................................................. - 10 - I.2.1) Ballot voting and manual counting .................................................................... - 10 - I.2.2) Direct electronic recording voting systems........................................................ - 11 - I.2.3) Fingerprint voting systems (Biometric) ............................................................ - 11 - I.2.4) RFID based voting systems............................................................................... - 12 - I.2.5) Internet based voting systems ........................................................................... - 12 - I.2.6) SMS based voting systems................................................................................ - 12 - I.3) Conclusion................................................................................................................ - 14 - CHAPTER II: DESIGN AND METHODOLOGY............................................................ - 15 - II.1) Design philosophy................................................................................................... - 15 - II.2) Design approach...................................................................................................... - 15 - II.3) Design tools............................................................................................................. - 17 - II.3.1) The GSM modem.............................................................................................. - 17 - II.3.2) The Arduino board............................................................................................ - 20 - II.3.3) Liquid Crystal Display (LCD) .......................................................................... - 21 - II.3.4) The 5V relay module......................................................................................... - 22 - II.3.5) Other components ............................................................................................. - 23 - II.4) Conclusion ........................................................................................................... - 23 - CHAPTER III: IMPLEMENTATION, TESTS, RESULTS AND DISCUSSION ............ - 24 - III.1 Design Test............................................................................................................ - 24 - III.1.1) Software test .................................................................................................... - 24 - III.1.1) hard ware test................................................................................................... - 27 - III.2 Results and Discussion ..................................................................................... - 30 -
  • 9. - 9 - CONCLUSION................................................................................................................... - 32 - REFERENCES ................................................................................................................... - 33 - APPENDICES .................................................................................................................... - 34 - Appendix I: glossary ....................................................................................................... - 34 - Appendix II: Code........................................................................................................... - 34 -
  • 10. - 10 - CHAPTER I: OVERVIEW OF THE PROJECT I.1 Introduction The scope of this project is to design a voting remote voting system that can enable to people to vote where ever they are once they are registered in the system. Our focus is to facilitate the and easy the entire voting process to both the election body as well the voters. The day of election the voter need just to send his party of choice to the server number and sit and wait for the result. No need for any movement. Just a little click on the phone and it is done. A voter who finds his or herself in another town still has the ability to cast his vote. Other voting systems actually exist which we are going to compare with this one to show we have done the best. I.2 Literature Review There are many voting systems that exist in the world today which we are going to study one by, their various advantages as well as disadvantages before we cite specific areas where they can be applicable. I.2.1) Ballot voting and manual counting Traditionally, voting is done in centralized or distributed places called voting booths. Voters go to voting booths and cast their votes under the supervision of authorized parities. The votes are then counted manually once the election has finished. It is the case in most countries in the world and Cameroon in particular. We witness that in municipal, legislatives and municipal elections. This voting system brings a lot of disadvantages:  Unreliable since results are always contested.  Massive fraud and corruption.  Unfavourable to physically disable people since they find it difficult to move to pooling stations.  Unfavourable to remote people if they are present in the location where the election is taking place.  Takes too much procedure and demands a lot of man effort and time consuming  Prone to mistakes and errors.
  • 11. - 11 - The list of disadvantages is long and exhaustive. But this it presents some advantages as well such as:  Cheap to conceive and does not demand so much investment. With just a book, people can register, ballots papers are easy to print, and the boxes too are easy are to get.  They can be transparent with a good electoral commission put in place.  They are good for small communities I.2.2) Direct electronic recording voting systems With the advent of modern electronic devices, many electronic voting systems have been designed which are far better than the traditional and archaic voting systems of ballot boxes and manual counting. Direct recording electronic voting machine is designed to allow a direct vote on the machine by manual touch of a screen, monitor, wheel, or other devices and record the individual votes directly into a computer. It does not use a paper ballot. Some of the advantages include:  There is no need printing wasteful ballot papers.  There is increase in the speed of vote counting.  Easily usable even by handicap people. It equally presents some drawbacks which include the high cost needed to implement the machines. I.2.3) Fingerprint voting systems (Biometric) The fingerprint voting system is one of the most used electronic recording voting systems. With this system, the registration is based on the biometric information of the voter during registration. With this, every voter is identified within the system since one person can have just a single biometric data. It presents many advantages:  User registration and authentication is unique.  The system is not vulnerable to hackers and intruders. It provides a convenient and low cost tier of security  Reduce vote fraud by employing hard-to-forge technologies and materials, such as minimise the opportunity for identification fraud and buddy punching.  Eliminates problems caused by lost ID‟s or forgotten passwords by using physiological attributes.
  • 12. - 12 - The main drawback of the biometric system is that it is difficult and very expensive to implement, particularly at a large scale. I.2.4) RFID based voting systems The RFID based voting is a way of authenticating voters and allowing only the authorised users to vote. The whole system includes RFID scanner to scan the voter‟s ID cards. The system is equally secured with unique voter‟s authentication. If the RFID of a voter is missing, it will be difficult to the user to vote. This is a major drawback. I.2.5) Internet based voting systems In most advanced countries, internet based voting is mostly applicable since everyone has access to the internet. A web application is created to enable people to register and cast the vote when time comes. A website with a large bandwidth can accommodate as many people as possible. This thus makes easy the voting and as the counting process. These types of systems suffer a lot of attacks since intruders will look for all way possible to break into the site and get information or if possible modify the results at time. I.2.6) SMS based voting systems This is actually the scope of our project. As earlier mentioned, each and every user has a unique voting identification and authentication. More to that, the user is equally identified even at the level of the mobile operator. Hence making it completely impossible for one person to have more than one identification. Once registered, the user does not need a displacement the day of the election reaches. Anywhere he finds himself, he is permitted to cast his vote and it will be counted. One main advantage of this system is that the GSM network is very crowded with more than one billion subscribers in the world today. In case of too much traffic, the system can halt and will delay in operation. I.2.6.1) Characteristic of SMS based voting Voting system using SMS offer multiple advantages over traditional paper-based voting systems advantages that increase citizen access to democratic processes and encourage participation.  Reduced costs - E-voting systems reduce the materials required for printing and distributing ballots. Internet based voting, in particular, offers superior economies of scale in regard to the size of the electoral roll.
  • 13. - 13 -  Increased participation and voting options - E-voting offers increased convenience to the voter, encourages more voters to cast their votes remotely, and increases the likelihood of participation for mobile voters. Additionally, it permits access to more information regarding voting options.  Greater speed and accuracy placing and tallying votes -E-voting's step-by-step processes help minimize the number of miscast votes. The electronic gathering and counting of ballots reduces the amount of time spent tallying votes and delivering results.  Flexibility - E-voting can support multiple languages, and the flexible design allows up-to-the minute ballot modifications. I.2.6.2) Security features in GSM Confidentiality and signalling information element confidentiality. They are summarized as follows: Subscriber identity confidentiality is the property that the subscriber's real identity remains secret by protecting his International Mobile Subscriber Identity (IMSI), which is an internal subscriber identity used only by the network, and using only temporary identities for visited networks. Subscriber identity authentication is the property that ensures that the mobile subscriber who is accessing the network or using the service is the one claimed. In our proposed GSM mobile voting scheme, communication between the mobile equipment and the GSM network uses standard GSM technology. Hence GSM security features apply. Among which, the subscriber identity authentication feature is particularly used in the protocol. A random challenge RAND is issued when a mobile subscriber tries to access a visited network. The Authentication Centre (AC) computes a response SRES from RAND using an algorithm A3 under the control of a subscriber authentication key Ki, where the key Ki is unique to the subscriber, and is stored in the Subscriber Identity Module (SIM) on the Mobile Equipment (ME), as well as the Home Location Register (HLR). The ME also computes a response SRES from RAND as well. Then the value SRES computed by the ME is signaled to the visited network, where it is compared with the value SRES computed by the AC. The access of the subscriber will be accepted or denied depending upon the result of comparing the two values. If the two values of SRES are the same, the mobile subscriber has been authenticated, and the connection is allowed to proceed. If the values are different, then access is denied.
  • 14. - 14 - I.3) Conclusion In this chapter we have discussed some existing voting systems. However, we are going to throw our all focus on the SMS based voting system which in the essence of this project. It is and should remain the reference of choice for all voting systems we have today.
  • 15. - 15 - CHAPTER II: DESIGN AND METHODOLOGY II.1) Design philosophy This voting system will be very useful to the Buea municipality as well as other councils and communities around Cameroon. Nowadays, with modern instruments of information and communication, there is no need for people to still rely on traditional and archaic systems. Reason why this SMS based voting had to pop up to alleviate the burden the people always have in moving from place to place before casting a simple vote. Whereas, with just a simple phone and a SIM slotted inside, this can be done in less than no time and at no cost. Someone registered in Buea can still vote wherever he finds himself the day of election. The GSM been a universal network with many subscribers, the system is very flexible and can fit wherever need be. To realise this system, we have deployed both software and hardware tools which we will study below. II.2) Design approach Just as in a normal electoral process, voters have to register. For our system, 20 people were registered and among the information that was recorded, we have the name, the telephone contact which is very necessary for the voting process and the national identity number. These information are stored in the small database created with the use of Arduino and are used to identify each and every user. We equally believe then user is equally identified at the level of the mobile network operator. This thus makes the entire voting procedure unique and secured with a unique voter‟s identification. The table below is the information recorded during registration. NAME CONTACT IDENTITY NUMBER MOHAMED FOMAGHA +237679425420 GHSDHJSDHJSHJAF TABE ACHERE OBEN +237653777731 GHVSDHKJHSKFNC NJUACHA HUBERT M +237675921292 HDJDJ HDHDKKSHB VICTOR MAGHEM Y +237678800691 GHHDHJAGSGDHH ACHA ROLENCE +237670030932 NHDHSGFDHHDGS FON RODRIGUEZ CHI +237677521763 GNSDHSHFGSDHH EMEH ZADOCK +237679284946 HGFHDFKDGFHAJD TABE BAIYE BISMAC +237670741839 PLSHDBDHDHDJJFG
  • 16. - 16 - BANGE SEBASTIEN +237671129343 KJHHDGD HHDHDH OFON CHRIS TUTON +237675778805 QWDGHDHDNVKD MBUA PETER ESENJU +237679853151 PJFDGSDYDHDJJDJ ATABOH DONALD +237676101814 HJJFHFHFBHHDHDJ EMMANUEL AWEJAN +237651361085 LOFOFOFHSGDHDF AZEH JUNIOR +237672090820 BGDTTDFJFHJFHJFJ TOUTSOP BOREL +237678765327 XDOODDDDXJJDJD NDI DENIS NDI +237651312923 MJFFDHDHDHHDH MR NOUADJEP SERGE +237674857394 JJJDHGHDBGGEER JUSTINE BANYUY +237671649550 XDERODMDESKSK FUH EDISON SUH +237670318195 OOPMDNJDHDME TABIAYUK LIONEL +237674693661 GHTJSDNSJSOFHJE Table 1 Voter's registration The above information is now taken into consideration in the design of the system with the voter‟s phone number the first identifier that enables him/her to cast a valid vote. Equally, 4 parties were taken for our case study. These parties must also declare their candidature with their respective candidates during the time at wish the system is been conceived. For our case, the following table depicts the information recorded from contesting parties: NAME CANDIDATE SDF Mr Akum Prosper of SDF NPM Mrs Acha Gloria of NPM CPP Mr Siriki Madin of CPP NFC Mr Aladin Awan of NFC Table 2 Party registration The system is then designed by taking all the constraints that are linked to a voting process such as:  A non-registered cannot vote. Or if the latter attempts to vote, it will not be valid. Consequently, the system will send to him or her warning message.
  • 17. - 17 -  Also, a due registered voter cannot vote more than once. Attempting bridge the rule is punishable by the regulation in force. The system equally sends a warning message to any defaulter.  The system is opened only during the time of election. Meaning anyone (registered or not) attempting to vote before or after the schedule time frame for the election is simply doing a categorical waste of time.  The user has the freedom to vote by an empty ballot by simply sending the SMS <<no>> to the address of the server which in our case is +237678955564.  At the end of the voting process, if all registered voters cast properly their votes, the result will be published automatically. Else the ELECAM operator has the duty to publish it by simply sending an SMS <<end>> to the server.  All users are notified by SMS before the beginning of the process  All users receive all statistics of the election as well as the name of the overall winner and his party of choice at the end of the entire voting process. Thus there is a promotion of transparency. II.3) Design tools This SMS based voting system was designed around two main components: the GSM module and an Arduino board. They act as the hub of the system because without them nothing can work in the system. A liquid crystal display is also attached and is very useful since it prints out the results once the session is ended. Let us look deeper into the components used in this project: II.3.1) The GSM modem The GSM modem we have used in this project is the SIM900. It is simply a board having all the functionalities of a mobile phone. It is made to function using AT commands programmed with the Arduino board. It can be used for call, SMS and internet application purposes. The GPRS/GSM Shield provides you a way to use the GSM cell phone network to receive data from a remote location. The shield allows you to achieve this via any of the three methods: • Short Message Service • Audio • GPRS Service
  • 18. - 18 - The GPRS Shield is compatible with all boards which have the same form factor (and pinout) as a standard Arduino Board. The GPRS Shield is configured and controlled via its UART using simple AT commands. Based on the SIM900 module from SIMCOM, the GPRS Shield is like a cell phone. Besides the communications features, the GPRS Shield has 12 GPIOs, 2 PWMs and an ADC. Below are some features of the GSM SIM900 module • Quad-Band 850 / 900/ 1800 / 1900 MHz - would work on GSM networks in all countries across the world. • GPRS multi-slot class 10/8 • GPRS mobile station class B • Compliant to GSM phase 2/2+ • Class 4 (2W@850/900MHz) • Class 1 (1W@1800/1900MHz) • Control via commands (GSM 07.07, 07.05 and SIMCOM enhanced AT Commands) • Short message service • Free serial port selection • RTC supported with Super Cap • Power on/off and reset function supported by Arduino interface The figure below shows the front view of the module: Figure 1 The GSM module
  • 19. - 19 - The SIM card is slotted behind the GSM module in a jack reserve for it. It is done gently by respecting the prescribed procedure. As earlier mentioned, The GSM module functions based on AT commands. AT means attention. It means we need to use these commands to call the attention of the GSM to execute a given task. Below are some AT commands that are mostly used while interfacing the GSM module with the Arduino board. SMS Text mode : Command Description AT+CSMS Select message service AT+CPMS Preferred message storage AT+CMGF Message format AT+CSCA Service centre address AT+CSCB Select cell broadcast message types AT+CNMI New message indications to TE AT+CMGS Send message AT+CMSS Send message from storage Table 3 AT commands for GSM SMS PDU mode : Command Description AT+CMGL List Messages AT+CMGR Read message AT+CMGS Send message AT+CMGW Write message to memory Table 4 PDU AT commands One important thing to note about the GSM module is the transmit power. The maximum transmit power of the GSM is 30dBm (1w). We that this is very good as it cannot cause harming neither to the environment nor to people.
  • 20. - 20 - In our project, the GSM module is responsible for receiving votes as well as sending the feedback to voters as well as the winner candidate at the end of each voting session. It is like the main hub of the entire system. II.3.2) The Arduino board The Arduino is an electronic board constructed around the Atmega328 microcontroller. There are many flavours of Arduino but we selected the Arduino Uno in this project. It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analogue inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller. To power it, simply connect it to a computer with a USB cable or power it with an AC-to-DC adapter or battery. The Uno differs from all preceding boards in that it does not use the FTDI USB-to- serial driver chip. Instead, it features the Atmega8U2 programmed as a USB-to-serial converter. "Uno" means one in Italian and is named to mark the upcoming release of Arduino 1.0. The Uno and version 1.0 will be the reference versions of Arduino, moving forward. The Uno is the latest in a series of USB Arduino boards, and the reference model for the Arduino platform; for a comparison with previous versions. Below is a pictorial view of the Arduino Uno board as well as the pin configuration. Figure 2 The Arduino Board
  • 21. - 21 - The Arduino board is used in this project as interface the GSM module as well as the liquid crystal display. It is programmed to interprete the messages received by the GSM. It determines how the GSM should communicate in general. It passes the results to the display as well as triggers the external components in the system such as lamps and LED‟s. II.3.3) Liquid Crystal Display (LCD) LCD (Liquid Crystal Display) screen is an electronic display module and find a wide range of applications. A 16x2 LCD display is very basic module and is very commonly used in various devices and circuits. 16x2 means it has 2 rows and 16 coulombs on which it can display information. These modules are preferred over seven segments and other multi segment LEDs. The reasons being: LCDs are economical; easily programmable; have no limitation of displaying special & even custom characters (unlike in seven segments), animations and so on The LCD is based upon the liquid crystal technology. By applying Voltage to the LCD it becomes opaque, but before that it was a transparent material. This property is the main operating principle of LCD. The figure below shows the pictorial view of the LCD as well as the pin configuration: Figure 3 The LCD board The table below shows the pin description as well as their various functioning: Pin Number Function Name 1 Ground (0V) Ground 2 Supply voltage 5V (4.7V to 5.3V) VCC 3 Contrast adjustment, through a variable resistor VEE 4 Selects command register when low and dada when high Register select 5 Low to write to register, high to read from register Read/Write 6 Sends data to data pins when a high to low Enable
  • 22. - 22 - pulse is given. 7 8 bits data pins DB0 8 DB1 9 DB2 10 DB3 11 DB4 12 DB5 13 DB6 14 DB7 15 Backlight Vcc (5V) Led+ 16 Backlight Ground (0 V) Led- Table 5 The LCD Pin configuration In our project, the display is used to transfer the result of the exam to the examiner upon completion of the session. II.3.4) The 5V relay module This module is acting as the switching element between the DC pulse from Arduino and the AC supply to the system. Below is the look of the 2 relay module: The relay module is an electrically operated switch that allows you to turn on or off a circuit using voltage and/or current much higher than a microcontroller could handle. There is no connection between the low voltage circuit operated by the microcontroller and the high power circuit. The relay protects each circuit from each other. The each channel in the module has three connections named NC, COM, and NO. Depending on the input signal trigger mode, the jumper cap can be placed at high level effective mode which „closes‟ the normally open (NO) switch at high level input and at low level effective mode which operates the same but at low level input. Specifications On-board EL817 photoelectric coupler with photoelectric isolating antiinterference ability. -board 5V, 10A / 250VAC, 10A / 30VDC relays Figure 4 The relay module
  • 23. - 23 - and MCU I/O link, with the output signal indicator Pin Configuration 1. VCC: 5V DC 2. COM: 5V DC 3. IN1: high/low output 4. IN2: high/low output 5. GND: ground II.3.5) Other components There are many other components that are needed in the scope of realising the project such as resistors, capacitors, transistors, diodes, transformers, LED, lamp display… they are used to serve different purposes in power supply, output display… II.4) Conclusion In this chapter, we have discussed the procedures we took to realise our voting system. We equally talked about the key components that were needed to realise the project and the role each of them played. It is important for us to go deeper into the implementation and explain in details what was done.
  • 24. - 24 - CHAPTER III: IMPLEMENTATION, TESTS, RESULTS AND DISCUSSION III.1 Design Test To design this project till completion, we followed to paths which are the software and hardware respectively. The software consists of the code written using Arduino programming language. This code is then loaded into the arduino hardware which is interface to a GSM modem. Let us discuss the details of the project test from software to hardware test. III.1.1) Software test No software code can ever work effectively without a good and clear algorithm. It helps us to structure our code and take into consideration all the constraints that are needed in each and every voting process. Figure 5 Organigram of the voting system The code is written based on the above flowchart with other little constraints attached to it. Below are all the constraints we took related to an electoral process. The code is compiled and loaded into the arduino board in Proteus software. A virtual terminal and serial monitor of Adruino are used to test the behaviour of the entire system .An SMS is sent from a registered
  • 25. - 25 - number to the server number. The serial monitor is opened and display the entire received SMS. The system decodes this SMS by extracting the number of the sender as well as the content of the message. The number is first checked if eligible to vote. If so, then the content is also checked. If not then it is rejected. The content which contains the party of choice of the voter is compared with all party codes. If any is true, then the vote is validated and a counter is incremented as per party. The procedure continues so for all voters till the entire process ends. The figure below shows the capture of the serial monitor for a valid vote: Figure 6 Vote test 1 For a user attempting to vote more than once, the serial monitor capture gives the following:
  • 26. - 26 - Figure 7 Vote test 2 For a non-registered, the serial monitor will display: At the end of the voting process, the serial monitor will equally print the final result as well as the winner. The capture is given below:
  • 27. - 27 - Figure 8 Vote test 3 It is to be noted here that the serial monitor is a very good display tool that helps us during software and hardware realisation. It enables to view the step-by-steps functioning of the entire system. III.1.1) hard ware test  Block diagram of the system
  • 28. - 28 - Figure 9 Block diagram of the system The block diagram above permits us to see the way all components are connected to each other and facilitate the building and construction of the entire system  Circuit diagram of power supply As from the block diagram, we used two power supplies: one for the arduino board and the other for the GSM module.
  • 29. - 29 - Figure 10 power supply of system When measure we have 12.1V and 4.97V respectively which are around the desired values for our system.  Arduino and GSM The figure below shows the connection of the GSM and Arduino boards Figure 11 Arduino-GSM connection
  • 30. - 30 - All other components such as relay, the LCD display were connected around the arduino board. Below is a back view of the prototype: Figure 12 Back view of prototype  Overall system testing The overall system is mounted and everything connected in its respective position. An SMS is sent as normal. The only thing that changes this time is the LCD to display at any time the status of the system as well as the recorded result per party. The serial monitor is still the main display of the entire system since can be used for both software and hardware testing. The results above discussed in the software test are the same with the hardware test. The particularity of this system is its ability to store results of the election and transfer them back again to remote voters by SMS. This was a big innovation. III.2 Results and Discussion The voting system we conceived worked perfectly in all aspects. With main difficulties at the level of the GSM module. When the mobile network quality is not the best, it does not receive SMS. And thus the entire system is down in such cases since it acts as the main hub of the system. For future scope, some other features can be added such as:  A memory device is attached to the system to keep track of all data. This is to make sure that no data is loss even when the voting process has ended and results are published.
  • 31. - 31 -  A website can be added to the system and enable remote voters to keep track of the process.  Since the GSM module has the ability to connect to the internet, the same election can done offline and online. This will increase the number of voters and equally give the opportunity for voters not present in the country to cast their votes with ease.  And many others.
  • 32. - 32 - CONCLUSION Voting is a very good process in collective decision making. Putting in place the right voting system is a promotion of transparency as well as democracy. To incorporate digital voting systems such as that with SMS in most countries in Africa can help to eliminate some of the crises that arise in most countries at the end of each electoral process. E-Voting System Using GSM Mobile SMS is an excellent program to receive SMS messages this is the best solution and reference. The manual voting process can be very tedious, prone to electoral fraud and costly. The time that is been consumed and the resources often times runs into expensive projects. With all this, security is compromised because of the inability of all the human factors to provide efficient security needed for robust operation of the system.
  • 33. - 33 - REFERENCES [1] T. M. Carbaugh, “Secretary of State Kevin Shelley Announces Directives To Ensure Voter Confidence in Electronic Systems,” California Secretary of State, 2003. [2] D. L. Chaum, “Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms,” Communications of the ACM, Vol.24, No.2, 1981, pp.84-88. [3] C. T. Chiou, “A Study of Election Reform in Taiwan: An Observation from e-Voting Experiences in Developed Countries,” Journal of Research, Development and Evaluation Commission, Vol. 28, No. 4, 2004, pp.25-35 (in Chinese). [4] Compuware Corporation, “Direct Recording Electronic (DRE) Technical Security Assessment Report,” Ohio Secretary of State, 2003. [5] C. A. Gaston, “A Better Way to Vote,” Proceedings of the 38th Annual Hawaii International Conference on System Sciences, 2005, p.117c. [6] C. A. Gaston, SAVIOC Voting Systems, [Online], Available: http://www.savioc.com/, 2007. [7] Institute Policy Institute, “Report of the National Workshop on Internet Voting: Issues and Research Agenda,” Proceedings of the 2000 Annual National Conference on Digital Government Research, 2000, pp.1-59. [8] A. M. Keller, A. Dechert, K. Auerbach, D. Mertz, A. Pearl, and J. L. Hall, “A PC-based Open-Source Voting Machine with an Accessible Voter-Verifiable Paper Ballot,” Proceedings of the USENIX Annual Technical Conference, U.S.A., 2005, p.52. [9] T. Kohno, A. Stubblefield, A. D. Ribin, and D. S. Wallach, “Analysis of an Electronic Voting System,” IEEE Computer Society, 2004, pp.27-40.
  • 34. - 34 - APPENDICES Appendix I: glossary  SMS: Short Message Service  SIM: Subscriber Identity Module  USB: Universal Serial Bus  FDD: Frequency Division Duplexing  TDD: Time Division Duplexing  GSM: Global System for Mobile  UMTS: Universal Mobile Telecommunication Service  LTE: Long Term Evolution  SMS: Short Message Service  LCD: Liquid Crystal Display  LED: Light Emitting Diode  I2C: Inter-Intergrated Circuit  GPRS: General Package Radio Services  PWM: Pulse Width Modulation  RAM: Random-Access Memory  RF: Radio Frequency  Rx: Receiver  SIM: Subscriber Identity Module  SPI: Serial Peripheral Interface  TX: Transmitter  USART: Universal Asynchronous Receiver Transmitter  WAP wireless application protocol  WSN Wireless Sensor Network Appendix II: Code #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd (0x27,2,1,0,4,5,6,7,3,POSITIVE); #include<SoftwareSerial.h> // include the serial library that can be accessed for all codes
  • 35. - 35 - SoftwareSerial mySerial(51,52); //pin 51 the received pin of Arduino and pin 52 is the transmit pin (we are using software serial mode) int LED1=11; // declare LED as pin 13 of arduino int LED2=12; int Buzzer=2; String text=""; // text will be a variable to store characters String Receive=""; // a string of TEXT String AllMessage=""; // a String of characters String AllMessageread=""; // a String of characters String NewMessage=""; // a String of characters String SimNumber=""; String Answer=""; // string to store answer int i; // i is integer for looping int Voters_Number=20; // variable to host total number of voters int Candidate_Number=4; // number of candidates int a=0; // int variable int VoteCounter[]={ // counter for the various votes 0,0,0,0 }; int VoteTransfer[]={ // final counter for the votes 0,0,0,0 };
  • 36. - 36 - int NoCount=0; //variable for no vote int VoteCount=0; // variable for total vote int SMS_Count[20]={ // variable to store vote count of each voter 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; char* Parties[]= // parties registereted { "SDF", "NPM", "CPP", "NFC" }; char *Voters_Contact[20]= // voter registration { "+237679425420","+237653777731","+237675921292","+237678800691","+237670030932 ", "+237677521763","+237679284946","+237670741839","+237671129343","+237675778805 ", "+237679853151","+237676101814","+237651361085","+237672090820","+237678765327 ", "+237651312923","+237674857394","+237671649550","+237670318195","+237674693661 "}; void setup() // set up function setting { mySerial.begin(9600); // setting the baud rate of the GSM modem Serial.begin(9600); // setting the baud rate of Arduino trash();
  • 37. - 37 - mySerial.println("AT+CMGD=4r"); // issue the delete message command to the delay(1000); mySerial.println("AT+CMGF=1r"); // setting the GSM module to TEXT mode trash(); ReceiveSMS(); trash(); } // The receive function to alert the GSM module void ReceiveSMS() { mySerial.println("AT+CNMI=2,2,0,0,0r"); delay(1000); Serial.println("Waiting to Receive the votes"); } // The initial function to clear the GSM module void trash() { while(mySerial.available()>0) { AllMessage = char (mySerial.read()); AllMessageread+=AllMessage; } AllMessageread="";
  • 38. - 38 - AllMessage=""; } // function to publish the results void Publish() { Answer=""; SimNumber=""; digitalWrite(LED2,LOW); VoteTransferCount(); FinalVoteDisplay(); SendResult(); delay(4000); Check(); digitalWrite(LED2,HIGH); delay(4000); LampFinal(); VoteCount=0; } // function to send the results to all voters void Winner1(){ for(int i=0; i<20 ; i++) { Serial.println(i);
  • 39. - 39 - Winner1ToAll(Voters_Contact[i]); delay(5000); } } void Winner1ToAll(String PhoneContact) { mySerial.print("AT+CMGS=""); // the number that has to receive the text delay(200); mySerial.print(PhoneContact); delay(200); mySerial.println(""r"); delay(1000); mySerial.println("The Winner Of The Election is Mr Akum Prosper of SDF"); delay(200); mySerial.println((char)26); // identifies end of SMS content delay(1000); }