Implementation of E-voting Machine Project using Python and Arduino


Our E-voting Machine project is very useful, This Project was implemented using Python and Arduino. The user is no longer required to check his register in search of records, after the voting procedure gets over, the admin will be able to calculate the total number of votes in just one click since the entire work is done using computers. The user just needs to enter his/her unique voter ID.

In today’s world, no one likes to manually analyze the result after the voting procedure gets over because the process is time-consuming and of which results get usually delayed. Everyone wants his/her work to be done by computer automatically and displaying the result for further manipulations. So this E-voting Machine project is about providing convenience regarding voting.


  • Our objective for the E-voting Machine project is to make a user-friendly Electronic Voting Machine that makes the current voting process faster, easier, and error-free.
  • We have used Arduino in our project for the implementation of push buttons and Python as a programming language.


The problem statement was to design a module:

  • Which is a user-friendly E-voting Machine
  • Which will restrict the user from accessing other users’ data.
  • Which will ease the calculations and storage of data.
  • Which will help the jury to declare the result without any biasing.


The E-voting Machine system will be user-friendly and completely secured so that the users shall have no problem using all options.

  • The system will be efficient and fast in response.
  • The system will be customized according to needs.


  • (Check
  • Store
  • )


  • Programming Language Used: Python, C
  • Hardware Used: Arduino UNO
  • Components Used: Push buttons, Connecting Wires, Resistances(100k ohm), Breadboard
  • Software Used: Anaconda 2.7.x, Python 2.7.x, Arduino IDE
  • Modules Used: Serial, SQLite, Tkinter, tkMessageBox


  • The user has to enter his/her ID in the system.
  • After verifying the user ID, the system will show a message that whether a user is eligible to vote or not after checking his/her details stored in the system.
  • A message will be displayed accordingly. The user will then have to press the button against which the name of the candidate is written and whom he/she wants to vote.
  • The votes hence are stored in the database and the results will be announced accordingly.


My project “e-VOTING SYSTEM” will be a great help in conducting voting at various organizations. So the modifications that can be done in our project is to add one major change which can be done in this project is to add the data of the voters. This will result in the total identification of the voter.


From this E-voting Machine project, we can conclude that this program is very useful in conducting the voting procedures smoothly. It provides easy methods to analyze the voting result. It helps in conducting faster, more secure, and more efficient voting. The program can be used per the norms of the voting requirements.

Download the complete project code, report, and PPT on E-voting Machine using Python and Arduino.

Grocery Store Management System Python Database Project

The objective of this python project is to design a GUI for the Grocery store Management System which incorporates details of the Employees, the Manager, the Designation of the employees, the categories of the products, the details of the Customer, and a list of available commodities, and location information of the grocery stores.

Suppliers and details of commodities which shows which items are going to be out of stock for the store which has various branches situated in various areas with different Managers taking care of that data set.

This database is efficacious in running the grocery stores. The users of the database will be the store managers.

  • Grocery Store Management System is designed to provide the grocery stores with the benefit of having everything online, from products data to customers data.
  • It helps the store managers to perform various functions like checking the products stock, suppliers information, customers information and also allows them to check if a particular product is available in any other branch.
  • It also helps to keep track of the store employees.
  • Provides a user-friendly interface where everything can be accessed with just a button click.


  • Created views using joins to have a virtual table that can be accessed anytime.
  • Created a table for login credentials that allow only the managers of the store to access the database.
  • We have used the database queries effectively and carefully to implement the insert, update, delete and search. We have also used a view to join our tables and view the records. A database with the name grocery store has been created.

In Grocery store management, we have the following tables which will store the corresponding data

Database table Design for Grocery Store Management System


The Location table has records of the location information of the grocery stores. For now, we have defined grocery stores in 20 locations.


The employee’s table has records of the Employees working in the grocery store. As we have defined our model to have managers for each store and they exclusively have the access to the database of the grocery store (DB Users), for now, we have defined all the managers for all the grocery stores listed in the Location table.


The Designation table has various records of different designations applicable/available in the grocery store.


The Customers table holds the details of the customer


The Manager table holds the details of the employee

DB Users

DB Users are the Managers


The Commodities table holds the details of various products such as the product number, product name, product quantity, and product price. 


The Suppliers table holds the details of the product suppliers


The Categories table holds the details of the Product categories


The GUI for our project, the Grocery Store Management system is built using Python Tkinter. We have created GUI for all our tables, where we can perform operations, such as INSERT, UPDATE, DELETE, and SEARCH on all the tables of our Grocery Store database. 

Database connection to GUI

 To establish a connection to the database and GUI the following syntax needs to be used.              

Here, I have used the credentials of my localhost database connection, however, one has to replace it with the credentials in their system. By using this, the user can connect to the database and a GUI will be displayed accordingly.

Description of GUI

The file has to be run, in which all the other modules are imported. Each module is for each table in our database. holds everything and it directs us to different modules with the help of buttons. When we run “”, a login window, where we have to enter the credentials will be displayed and will only take you inside, if you enter valid credentials. If the credentials are correct, then a window is displayed with image buttons for all our tables.

When we click on each button, it will be redirected to the respective module, and a connection is established with the database. To establish a successful connection with the database “grocery store”, it should be available in our system.

View the developer’s page on Github and download the Grocery Store Management System Python Tkinter Project & MySQL Database Design Project source code, Project Report, and Project PPT for academic project guidance and reference purposes.

Cyber Bullying Detection Using Machine Learning Project


Cyberbullying is the process of sending wrong messages to a person or community which causes heated debate among users. Cyberbullying is mostly seen on social networking sites where users reply to post with bullying words to threaten or insult other users. Cyberbullying is considered a misuse of technology. According to the latest survey done all over the world data day by day, cases are increasing on cyberbullying.

In order to solve this problem many natural language processing techniques are proposed by various authors which are time taking and not automatic. With the advancement of machine learning and artificial intelligence, models can be created and automatic detection can be implemented. To show this scenario live chat application is developed in python programming with multiple clients and one server and the Naive Bayes algorithm is used to train the model on a Twitter dataset using this model live detection of cyberbullying is predicted and alert messages are shown on the chat application.

Problem statement:

Social networking and online chatting applications provide a platform for any user to share knowledge and talent but few users take this platform to threaten users with cyberbullying attacks which causes issues in using these platforms.


To provide a better platform for users to share knowledge on social networking sites there is a need for an effective detection system that can automate the process of cyberbullying detection and take decisions.

Existing system:

  • Techniques like unsupervised labeling methods which use N-gram, and TF-IDF methods to detect cyberbullying are used which use the youtube dataset to detect attacks.
  • A support vector classifier is used to train models for detection.


Techniques that are used in the existing system are not automated they need time to process requests and update responses.

Social networking and chatting sites require automated detecting and processing methods.

Proposed system:

Cyberbullying detection is designed using machine learning techniques. The Twitter data set is collected with features and labels and the mode is trained using the Naive Bayes algorithm the trained model is applied to a live chatting application that has multiple clients and a single server. For each message, cyberbullying is detected using the model and then alert messages are posted on chat boards.


The cyberbullying detection process is automatic and time taken for detection is less and it works in a live environment. 

The latest machine learning models are used for training models that are accurate.

Software Requirement:

Programming language: python

Front End GUI : tkinter

Dataset: Twitter cyberbullying dataset

Algorithm: Naive Bayes