SMS Based Voting System – AVR GSM Project using ATmega32 microcontroller

Nov 12, 2012 by


Hi friends !

Here I am showing a microcontroller based project called the “GSM Based Voting System“. Using this system you can ask your users to vote for any of the four options. Four available options are identified by a letters ‘A’, ‘B’, ‘C’ and ‘D’. User can vote for any option by sending a text message to the mobile number.

For example if you want to create a poll like this.

Which is your favorite phone brand?

A: Nokia

B: Apple

C: Samsung

D: L.G.

So your user can vote for any of the four brands by sending a message like this

VOTE x

where x is the choice he/she wish to vote for. For example if they want to vote for Nokia, then they should send a message like this :

VOTE A

The number of vote received for each option is shown in real time on the LCD Module. The votes are stored in the internal EEPROM of the AVR so they are not lost on power failures. That means even if you switch off the device and switch it on after few days (or few years!) it will remember the votes !

gsm based voting system project

Schematic for the Project

The project is based around AVR ATmega32 microcontroller which is connected to a 16×2 LCD Module and a SIM300 GSM Module. We have used xBoard 2.0 development board to accelerate our development process. It is a ready made ATmega32 board with built in 16×2 LCD Module and many other common peripherals. So if you are working with xBoard 2.0 then you only need to connect the GSM Module. It involves connecting only three wires!

We have made the prototype using xBoard development board because it has ATmega32 core circuit, 5v power supply circuit and the LCD module.

atmega32 gsm module thumb

After completing the connection, power up xBoard 2.0 using a 12v 500 ma DC adaptor. And program the board with the HEX file for the project(download available at the end of article). Then insert a SIM card in SIM300 module and power it up using a 12v 2A DC Adaptor. Restart the xBoard 2.0 using its reset button.

Here are some links for your help.

Source Code for the Project

#include <avr/io.h>
#include <util/delay.h>
#include <avr/eeprom.h>
#include "lib/lcd/lcd.h"
#include "lib/sim300/sim300.h"

void Halt();  void Reply(const char *num,uint8_t stat);
 For more detail: SMS Based Voting System – AVR GSM Project using ATmega32 microcontroller 

Related Posts

Share This

Leave a Comment

You must be logged in to post a comment.

Recent Posts

I2C Bus for ATtiny and ATmega

I2C Bus for ATtiny and ATmega

I love the Atmel AVR microcontrollers! Since building the Ghetto Development System described in thi[...]
Interfacing GY 26 with atmega640

Interfacing GY 26 with atmega640

Hello friend once again with new instructable in this I will show you how to interface GY 26 with UA[...]
Using Atmega32 with Arduino IDE

Using Atmega32 with Arduino IDE

Over time I have used all kinds of Atmel microcontrollers in various projects. One of the mos[...]
Standalone Arduino / ATMega chip on breadboard

Standalone Arduino / ATMega chip on breadboard

Step 1: Parts needed I bought my parts from Digikey and Sparkfun Electronics - they're 2 of my favo[...]
Burning atmega328-pu and atmega328p-pu bootloader

Burning atmega328-pu and atmega328p-pu bootloader

Burning the boot loader in an atmega328 could be somewhat tricky but if u follow these steps correct[...]

Read more:
Atmel Simplifies MCU Design with New Atmel Studio 6, Expands ARM Cortex-M Series Processor Portfolio
Close