Authors: Nandhakumar J
Certificate: View Certificate
In a democratic country, like India voting is an important way where the citizen can cast their vote. Usually voting is done by casting their vote in polling booth. As the technology increases, nowadays electronic voting machine is used for casting vote. This paper is about an IoT based voting machine with fingerprint verification. The main aim of this project is to make voting secure using fingerprint verification and also to reduce malpractices. The details of the voter along with their fingerprint in stored in database. If the fingerprint matches with the stored fingerprint, the system checks the aadhar number of the user and if authenticated, it checks if multiple votes have been cast. If the fingerprint matching is not correct “Matching failed” message will be displayed and if aadhar number is not correct, then “Aadhar not match” message will be displayed. Voter can enter his/her native place and vote for the corresponding candidate using thingspeak and the result can be obtained using the same. The Arduino Uno is the controller used in this project. Fingerprint is used to authenticate the user. There is at least a slight difference between the fingerprints of each person. When a malpractice occurs, “Already voted”message will be displayed. The arduino IDE is used for programming the board and cloud is used to display ballot card and to store the result. System provides an alert on malpractice and only an authorized voter can cast the vote. This project safeguards the citizen’s right to vote and guarantee fair election.
Voting is the right of each citizen to cast the vote and select their leader. India is a democratic country and each citizen has the right to vote and show their option. People also have the right to change the ruling party in upcoming election by voting for the candidate. Voting is not done to elect the government leaders, but also conducted to elect the leaders in schools, colleges, banks, society, etc.
Biometrics is a way used to recognize a person based on his physical nature. The fingerprint, iris, face, voice, etc. are the mainly used biometrics to recognize a person. There are two key functions for biometrics, first is one to one matching and other is one too many matchings. In one to many matching the biometric sample is compared with the already stored samples. In one to one matching, it compares with the previously stored sample. Biometric method results in a faster security, and more convenient method for user verification. Biometric method is better than password security. Fingerprint is unique for each individual so it can be used as a mark of signature, verification and authentication.
Fingerprint is the biometric which is used in this project. Finger-print will be different for each individual. In this project, fingerprint is used for the authentication of the user and allows him to cast vote based on his fingerprint image. Finger-print matching can be divided into three types: correlation- based matching, minutiae-based matching, pattern-based (or image-based) matching. In correlation- based matching, two fingerprint images are superimposed and therefore the correlation between corresponding pixels is computed for various alignments. In minutiae-based matching, minutiae from the two fingerprints are extracted and stored in a two-dimensional plane as a set. This matching method consists of finding the alignment between the template and the input minutiae sets that result in the maximum number of minutiae pairings. In pattern-based (or image-based) matching method it compares with stored template and the candidate’s fingerprint. This requires that the images to be aligned within the same orientation. To do this, the algorithm finds a central point within the fingerprint image and centers there on. In a pattern-based algorithm, the template contains the sort, size, and orientation of patterns within the aligned fingerprint image. Almost all the sectors are storing data digitally. To create digital India, most of the tasks are made through on-line. When the voting is made on-line, it helps the voters to vote from anywhere in the world. Thingspeak is one of the ways which helps in making voting on-line. Obtaining online result makes the system faster.
Traditionally voting was done by marking with stamp casting vote for the corresponding candidate and then dropping the paper to a ballot box. To calculate the number of vote each vote must be calculated in each ballot box and then sum all the votes for each candidate and candidate who secured largest vote will be selected as the winner.
All this process was done manually and it will take more time to declare the elected person. After voting each voter will be marked with ink in their finger in-order to prevent voting again. This method continued till the invention of electronic voting machine. Voting is one of the rights of all the citizens of country like India. In Indian citizens has the right to select the person who needs to rule them or the next few years. If the citizens are not satisfied with that leader then during next election citizens can change the leader. But there many malpractices occurring which will not affect in the correct result. In the existing system it consumes more time and it is not much secure. In order to vote the voter must vote in corresponding center. The postal voting is also not much secure. In this project, appropriate techniques are taken advantage of to fulfill the aim of the research, which ultimately is to develop a system which prevents the malpractices occurring during election.
Fingerprint of each candidate eligible for voting is enrolled and saved in the system. Fingerprint is used as the biometric identification. The stored fingerprint and the aadhar number are matched with the stored database. It provides verification of the voter. It also checks whether that voter has voted more than one time for the same election. The result will be also store in the cloud. Since voting is done using cloud, it allows the voter to vote from anywhere in the world. If the verified voter it trying to vote for more than one time then an alert will be produced. Here we are using a buzzer sound to know that a malpractice has occurred.
A. Existing Systems
Electronic voting machine is used nowadays for polling vote. Electronic voting machine consists of two parts: one is control unit and other is balloting unit. The control unit is controlled by the presiding officer and after the verification; voter will be allowed to poll his vote. The balloting unit is inside the voting compartment. When the verification is completed by the presiding officer, he presses the ballot button then the voter can cast his vote. Voter use the button against name of candidate which he wants to vote. In the existing system voter needs to carry his ID card for verification. The presiding officer will check with the list and ID card for verifying of the voter. This is time consuming. At the end of voting all the EVM will collected and submitted to counting center and the selected government employees will count the vote and finally publish the result.
There are some problems with this existing system. One problem is neither authority nor anyone else can link any ballot to the voter. Another problem is one can change the program installed in the EVM (security problems). Another problem is (verifiability) independently verification of that all votes have been counted correctly. Availability is another problem the system works properly as long as the poll stands and any voter can have access to it from the beginning to the end of the poll. One candidate casts the votes of all the members or few amounts of members in the electoral list illegally is also one of the problems in existing system.
B. Proposed System
In this system we are using fingerprint as the biometric method of verification and its on-line version. The voter’s fingerprint and aadhar number is enrolled and stored in a database. During the process of voting the first system ask for the aadhar number if it matches with the stored aadhar number, it checks whether the fingerprint matches. If the fingerprint matches, then the system checks whether that person has voted before, for the same election. If he has not voted then “Fingerprint and aadhar number matches. Cast vote” message be displayed. After voting, the register will be incremented. If that person has voted before, then “already voted” message is displayed along with a buzzer sound.
Voting is done using keypad through thingspeak. When a message is displayed to cast vote, then that person is allowed to cast vote. For voting, first the system asks for entering the native place, it is done using keypad. Then the voter is allowed to vote for the candidate he wants. Voter’s vote and time of voting is saved in thingspeak. The result also will be obtained. Since this system uses thingspeak, it can be used for postal voting also. There should be a polling officer in-order to control voting. The voter can vote from candidate of their native place since the system is on-line.
II. LITERATURE SURVEY
R. Murali Prasad, Polaiah Bojja, Madhu Nakirekanti [Murali Prasad 2016] discuss about the user login with the aadhar number and a password. Then checks whether that person is eligible for casting vote. This paper examines policy regarding the electronic approaches and developments towards electronic data storage and transmission. In this paper the user should first show their fingerprint and checks whether are his eligible for casting his vote. Fingerprint reader reads the detail of the voter from the tag. The information obtained from the reader is passed to the controller, and then checks with the already stored data. If it matches with stored data then that person is allowed to vote or poll his vote. If it information read from the fingerprint reader does not match with the stored data a message will be displayed on the LCD display. Voting is done using switches.
Rahil Rezwan, Huzaifa Ahmed, M. R. N. Biplob, S. M. Shuvo, Md. Abdur Rahman [Huzaifa 2017] proposed a system which will be used in a country like Bangladesh. The system is based on electronic voting machine. They created a database which stores the fingerprint of the voter. When the fingerprint is placed it checks for matching with the created database. The system identifies if the voter is not registered and casting vote more than one time. If it matches with the database then that person can vote. The system counts the vote and it is able to show the result after certain period of time. This system allows showing result faster. This system helps in becoming more accurate and less time in publication of the result.
Anandaraj S, Anish R, Devakumar P.V [Anandaraj 2015] discuss about the existing voting methods. The various type of voting machine introduced. The disadvantages of electronic voting machine are described in this paper. It says that in the electronic voting machine the voter will be able to obtain any acknowledgement after casting vote. Votes are been counted manually. This paper describes a simple and secured method of polling vote by using biometric. The main aim at increasing the flexibility security, reliability, scalability of the model and provide less time consumption to announce the result. Fingerprint module is used here for voting. Fingerprint detail of a person is already stored in government database. Voting machine is connected to a computer, which contains the full database of the people who is eligible for voting. Touch screen is used because it is user friendly. The printers are used in-order to get the authentication poll. GSM module is used to send results to the corresponding authority.
The functional block diagram of the IoT based voting machine with fingerprint verification consist of controller, fingerprint module, Wi-Fi module, keypad, power supply and a cloud. The controller used in this system is arduino Uno. Power is given to the system from the laptop. Keypad is used to poll the vote. Message regarding the system instructions and any malpractice will be displayed on the serial monitor. Fingerprint module is used to place the finger; it is used to store the database of the voter’s fingerprint.
Fingerprint module identifies the fingerprint of each user with the fingerprint in the database and displays a message if it belongs to an authenticated person. It will give the result of matching on the serial monitor. The ballot paper of the voting is stored on the cloud. The final count of each candidate is stored in different field in the cloud. Here, thingspeak is used to store the final count obtained by the candidate. ESP8266 is used to provide Wi-Fi to the controller. Buzzer is used as an alert when a person votes for the second time. Here they are divided into two units’ finger-print unit and voting unit.
The figure 3.1 shows the block diagram of verification unit. It mainly deals with the enrolling and matching. It consists of the fingerprint module which is used for store the fingerprint of the voter and checks with the database for matching. Here the aadhar number of the voter is also stored. The system also verifies the aadhar number of users stored in the database. System checks whether that person tries to cast his vote more than once. Buzzer is used to alert when second voting occurs.
Figure 3.2 shows the voting procedure. When a message occurs in the fingerprint unit that person is eligible to cast vote, then he can cast vote through this unit. After voting a register will be incremented. The voters can choose the place where they want to vote. Voting is done through the ThingSpeak using keypad. Finally result can be obtained in the serial monitor of the arduino.
A. System Working
First the voter should enroll his aadhar number and fingerprint. During the process of voting, it checks with enrolled data if it matches, then check if there exists any previous entry against that user. If that voter has voted before, “Already voted” message will appear along with a buzzer alarm. If not voted before, he can cast his vote through ThingSpeak where he select his native place and cast vote and a register will be incremented. Then at the end of the voting, the result can be obtained.
B. Hardware Requirement Fingerprint Sensor
Fingerprint Module consists of optical fingerprint sensor, high-speed DSP processor, high- performance fingerprint alignment algorithm, high-capacity FLASH chips and other hardware and software composition, stable performance, simple structure, with fingerprint entry, image processing, fingerprint matching, search and template storage and other functions. Fingerprint module has two interface TTL UART and USB2.0, USB2.0 interface are often connected to the computer; RS232 interface may be a TTL level, the default baud is 57600, can be changed, ask a communication protocol, microcontroller, like ARM, DSP and other serial devices with a connection, 3.3V- 5V microcontroller are often connected directly.
C. Software Requirement Arduino
IV. RESULTS OF IMPLEMENTATION
The proposed system is implemented. There are mainly two units in this system, one for verification and other for voting. Arduino UNO was programmed using Arduino IDE. In the verification unit there are three scenarios- voting for first time, voting more than once, mismatch in fingerprint and aadhar number. If user attempts to vote for the first time, his fingerprint and aadhar number is compared with data in the database, if a match occurs, he can cast vote and message “Authenticated. Proceed” displays on the serial monitor of the arduino. If an authenticated user tries to cast vote more than once then a buzzer sound will be produced and “already voted” message displays on serial monitor. If the fingerprint and aadhar number of a person is not available in the database, he can’t cast his vote. In the voting unit, the voter can cast vote by using keypad through ThingSpeak and finally the authorized officer gets the summary of voting.
V. FURTHER SCOPE
This method of voting helps to make voting more secure. Postal voting can also be made secured by using IoT based voting. This system allows voting from anywhere in the world. This system requires less time for getting result than the current methods used. The controller with more memory helps in storing more information. Security can be improved by adding more biometrics such as face; iris, etc. By enhancing online security, we can make the system fully automatic.
The concept proposed here is a voting system based on IoT. As India is a democratic country, all the citizens have the right to choose a person to lead them. World is becoming completely digitized. As a part of digitization, here voting is also digitized. One of the benefits of this project is that it reduces the time taken to announce the result. Here, the system is made more secure by introducing biometric and aadhar number verification. This system allows one person to vote only once. Multiple voting is not allowed. This system can be used for postal voting also.
 [Anandaraj 2015] Anandaraj S, Anish R, Devakumar P.V, “Secured electronic voting machine using biometric”.  IEEE, 2015 International Conference on Innovations in Information, Embedded and Communication Systems, .19-20 March 2015  [Ashok 2012] D. Ashok Kumar, T. Ummal Sariba Begum Department of Computer Science, Government Arts, College,” Electronic voting machine, International Conference on Pattern Recognition, IEEE, Salem, Tamilnadu, India, 21-23 March 2012.  [Huzaifa 2017] Huzaifa Ahmed, M. R. N. Biplob, Md. Abdur Rahman, Rahil Rezwan, S. M. Shuvo,  “Biometrically Secured Electronic Voting Machine,” 2017 IEEE Region 10 Humanitarian Technology Conference (R10-HTC), Dhaka, Bangladesh. 21 - 23 Dec 2017.  [Murali Prasad 2016] R. Murali Prasad, Madhu Nakirekanti, Polaiah Bojja, “AADHAR based Electronic voting Machine using Arduino”. International Journal of Computer Applications (0975-8887) Volume 145 - No.12, July 2016
Copyright © 2022 Nandhakumar J. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.