Arduino Projects    |   Raspberry Pi  |     Electronic Circuits   |   Electronics Reference Design Library  |   AVR    |    PIC    |    8051    |    Electronic Projects

GSM/GPRS Module

Written By: 
Nikhil Agnihotri
GSM/GPRS module is used to establish communication between a computer and a GSM-GPRS system. Global System for Mobile communication (GSM) is an architecture used for mobile communication in most of the countries. Global Packet Radio Service (GPRS) is an extension of GSM that enables higher data transmission rate. GSM/GPRS module consists of a GSM/GPRS modem assembled together with power supply circuit and communication interfaces (like RS-232, USB, etc) for computer. The MODEM is the soul of such modules.
 

Types of Wireless Modems

 
 
Wireless MODEMs
Wireless MODEMs are the MODEM devices that generate, transmit or decode data from a cellular network, for establishing communication between the cellular network and the computer. These are manufactured for specific cellular network (GSM/UMTS/CDMA) or specific cellular data standard (GSM/UMTS/GPRS/EDGE/HSDPA) or technology (GPS/SIM). Wireless MODEMs like other MODEM devices use serial communication to interface with and need Hayes compatible AT commands for communication with the computer (any microprocessor or microcontroller system).

 
 
 
GSM/GPRS MODEM
GSM/GPRS MODEM is a class of wireless MODEM devices that are designed for communication of a computer with the GSM and GPRS network. It requires a SIM (Subscriber Identity Module) card just like mobile phones to activate communication with the network. Also they have IMEI (International Mobile Equipment Identity) number similar to mobile phones for their identification. A GSM/GPRS MODEM can perform the following operations:
 
1.      Receive, send or delete SMS messages in a SIM.
2.      Read, add, search phonebook entries of the SIM.
3.      Make, Receive, or reject a voice call.
 
The MODEM needs AT commands, for interacting with processor or controller, which are communicated through serial communication. These commands are sent by the controller/processor. The MODEM sends back a result after it receives a command. Different AT commands supported by the MODEM can be sent by the processor/controller/computer to interact with the GSM and GPRS cellular network.
 
 
GSM/GPRS Module
A GSM/GPRS module assembles a GSM/GPRS modem with standard communication interfaces like RS-232 (Serial Port), USB etc., so that it can be easily interfaced with a computer or a microprocessor / microcontroller based system. The power supply circuit is also built in the module that can be activated by using a suitable adaptor.

GSM/GPRS Module, Modem GSM/GPRS Module, Modem

 
 
 

Comments (82)

Great Article... ... This

Great Article... ... This article is mostly focused on GSM modem but there are lots of mobile which can be use as  the GSM modem.. so i wanna to know abt that mobile.. so plz update that contents...

it is a good article and it

it is a good article and it is having lot of information

and i need to know full AT commands and its functioin  so i hope to update the contents

 

Sir may i know what is the

Sir may i know what is the cost of modem which u shown on screen....and where its available.......

Ur site is superb....marvelous 

this modem costs around 2500

this modem costs around 2500 rupees in pakistan,,,,,,

 

Nice article it will help many beginners....keep it up.

can you tell me where can i

can you tell me where can i buy it in Pakistan.

 Nice article.......  

 Nice article.......

 

 Can anybody give me circuit

 Can anybody give me circuit diagram to build GSM MODEM..

no circuit needed for this

no circuit needed for this just consult the Data Sheet of SIM300DZ GSM Module and connect battery antenna and Tx, Rx Done!!

 

 

Where can I get that gsm, i

Where can I get that gsm, i need it for a project.

is this modem available

is this modem available somewhere exept qadri electronics in karachi??

Yes you can get this in

Yes you can get this in Matrix Eletronics - Never goto Advance Eletronics they are too expensive 

In our Project we required

In our Project we required the internal processing of GSM modem,Through which steps our GSM modem Process the picture(MMS) and send it to the GSM Netwok.

 

i have a gsm module (wavecom

i have a gsm module (wavecom 2403A/2303A WismoQuick), how should i do to make a circuit as a simple and easy to understand for my students? thank you

Great Article... ... This

Great Article... ... This article is mostly focused on GSM modem but there are lots of mobile which can be use as the GSM modem.. so i wanna to know abt that mobile.. so plz update that contents...how can i interface mobile with it.. Thank you.

really nice

really nice article................

 well can anybody just tell

 well can anybody just tell me if we can also interface a microcontroller with cdma phone

a very ueful article for the

a very ueful article for the beginners

like me

can it be possible in vehicle

can it be possible in vehicle tracking by using gps and gsm module without pc? 

yes i hav done dat befor , is

yes i hav done dat befor , is prettyn simple . all u need is any GPS enabled cell phone. then u hav develop a J2ME application whch willl be deployed on d mobile phone . u need a web application dat wil consume Google Map services , then use a GCF(Generic Connection Framework)- HTTP connection  to talk to d web servlet . den also interface the phone to a Micro-Controller Unit using Serial Connection protocol.

sir if i want to make a

sir if i want to make a project on it  then from where i get the all component?

is there any shop in india for this?

pls reply sir.

i m waiting

this is an excellent site to

this is an excellent site to hobbyist and beginners thank u for good information

at same time would u please entered a project, how to interface a photo diode to microcontroller using gsm modem and send an alert message to a mobile

This modem is available in

This modem is available in INDIA @ 3400/-

Its name is Sim300 which is mostly used...!!! 

i like it!nice for lastyear

i like it!
nice for lastyear student to make project!
the modem  code is Sim300

hey bro can u send me code

hey bro can u send me code for inerfacing gsm sim300 to ATmega 128 for messaging.

hey bro can u send me code

hey bro can u send me code for inerfacing gsm sim300 to ATmega 128 for messaging.

at dishantvyas@gmail.com

I need some GSM industry

I need some GSM industry based project ......now i am pursuing M.tech .......so very good  related to health system......hope any1 got idea about this

i want to send sms to

i want to send sms to microcontroller via gsm mobile.

how it works???

plz..... reply

Is pretty simple  , i  hav

Is pretty simple  , i  hav done SMS based e-votin system , sms remote control , sms based e banking application for diferent firms and individual befor. i do it in 2 ways 1. conect the Sagem phone(My x7 ,My V55,V56) modem to the 8051 serial inteface (green to GND,white to p3.0,blue line to p3.1 then send AT command strings to the d modem. set the d nodem on text mode first(AT+CMGF=1 & CARRIAGE RETURN(ASCII(13)) , AT+CMGL="REC UNREAD" CARRIAGE RETURN(ASCII(13)) ,, any  new message will be red from the d phone modem via d controller UART lines 2. In the second method , i do use J2me on any Nokia phone using Messaging APIs(Message connections framework. but it requires 2 applications runing on 2 phones with the same message port number. then interface 1 one to the MCU using serialconnections  protocol.

hi .can u please elaborate on

hi .can u please elaborate on the fist method.m working on a bord whic contains 708KR microcontroller and one M10 GSM module.these 2 can communicate nw. i want to establish  the communication between the GSM & GPRS.how 2 do it can any one help?

 

its fucking awsome

its fucking awsome material!!!
the depth.. the intensity... really..... i congratulate you!! :) :)

Hello Everyone,  I am

Hello Everyone,

 

 

I am currently working on SMS gateway.can any one have code to establish a connection between modem and pc in c sharp.

Thanx

Regards,

Vishavdeep Goyal

is pretty simple , i hav done

is pretty simple , i hav done dat befor wit JSF  and also wit dot net . all u need  to do is to implement AT commands using Microsoft Communication control 6.0 in the d dot net framework or u can  develop a DLL that listens  for an incoming message using this strings(AT + CMGS ="Recipientn phone number" + chr(13) ,then the message body +  chr(26) UNREAD".  But u need  to dedicated an internet computer which will hav a GSM phone modem interfaced to it. then develop and publish a web service/ a web server side app using ASP.NET or JSF which will take take parameters like( userID , Message body , recipient phone number). the URL of ur web server app will be made available to user , such that  users can made HTTP request wit the  above parameters. mscomm1.setSettings("9600,N,8,1");

mscomm1.setDTRenabled(true);

mscomm1.setRSEenabled(true);

mscomm1.setPortOpen(true);

mscomm1.setHandshaking(MscommLib.FLOW_CONTROL_NONE);

the above code wil initialise the d computer on serial communication.

 for the d Phone Modem to  send SMS , it must be in

TEXT mode using AT+CMGF=1 + chr(13)

mscomm1.setOutput("AT+CMGF=1" + chr(13) ;

// the above wil set d modem on text mode , then on the Request event handler paste

//Querry a database to kno  if the user is authorised  using the userID as criteria

 

mscom1.setOutput("AT+CMGS=" + "/"+ Recipient phone number+/"" + chr(13)) ;

mscomm1.setOutput(message body + chr(26)) ;

 

 

 

 ... cheers ucontroller , the programing and embeded system guru. talk to me tru Gtalk wit this ID(ogbamudu@gmail.com add me to ur chat. am always on line 24/7 

what is the

what is the function mscomm1.setOutput all about .can u define it for my main programming

i am working for home

i am working for home security system GSM based...,sir, how can i construct it using microcontroller..,

 

tanx a lot..

helo sir..im also doing a

helo sir..
im also doing a project about home security using microcontroller
do you have the program for that..??
cn u please e-mail me if u do..
jon_daren@yahoo.com

Really helpfull article. Can

Really helpfull article.

 

Can I make calls using gsm modems?

I don't have windows xp. I

I don't have windows xp. I use windows 7 and Linux. How can I use Hyper terminal here??

Please help me asap.

Is pretty simple . solution

Is pretty simple . solution from ucontroller (the embeded system guru of the continent  add me on Gtalk to kno more tins from me usin d ID below ogbamudu@gmail.com or face book ID - Tsokoh Frank)

all u need to do is to use an XP system , they are 2 files to be copied - 1. a setup from ur windows NT folder , from Drive C go to program file -> Windows NT folder copy Hyperterm  and save it in a flash drive , then d second file is dll file from ur system 32 directory,  go to Drive C->Windows->System32 folder den copy Hyperterm.dll and save in a flash drive. den take d flash to ur Windows7 or Vista computer paste the setup in the same windows NT folder , paste the Hyperterm.dll file in the System 32 folder. finaly paste the setup also in ur desktop and double click, u wil see ur Hyperterminal runnig sucessfully.. cheers flex ur Hyperterminal

i read all of the content.

i read all of the content. but, i want to knw that how we can send the command through the microcontroller the syntax for same...its just in the form of data as we trasmitting serially.............???????or we have to defind some thing??????can u just give me one of example for same...??

Hi,This is Sandesh Shanmugam

Hi,

This is Sandesh Shanmugam persuing my master's in Biomedical Engineering at Manipal University India .I have included your GSM working diagram  as a reference  for my project thesis.I hereby request you to to grant me permission in including your material as a reference for my project thesis.
 
 
Thanking you 
Sandesh Shanmugam

This is one kind of good

This is one kind of good article... This is mostly used to GSM Technology.. But i want to like that gsm is using to AVR

This is the best article I

This is the best article I have read .... Its awesome...

 

Please let me know the GSM module shown in the Image here.... I am trying to use GSM communcation in my Project.
Thanks!!!
 

It's about time soemnoe wrote

It's about time soemnoe wrote about this.

Hi,I want to to use max232 bt

Hi,

I want to to use max232 bt I m unable to do so......

Actually I m interfacing sim300 dz with ma pc via db9 port so plz help me.

thanx in anticipation...

a nice and helpful

a nice and helpful article..!!!

 

THANK U SIR ..... ITS GOOD

THANK U SIR ..... ITS GOOD MATERIAL MAY I KNOW COST OF THIS GSM .....

hello friends i am making

hello friends i am making projects sms based notice board display.i am using 40x4 lcd display..can anyone help me to provide circuit diagram and code...plz reply me on my email id pawanchopra143@gmail.com.....

awesome explanation ..thank u

awesome explanation ..thank u so much :)

cheers

 

is this given data is

is this given data is sufficient for this project sir

hello siri want to receive

hello sir

i want to receive message using sim300 gsm modem.i have given serial programming using serial

interrupt.i have an problem. i amn't catching the +cmti indication and my gsm modem gives string  athyperterminal  "under voltage warnning".please sir help me as soon as possible.

thanks in adavance 

 

9ic

9ic

Nice guidance to develop a

Nice guidance to develop a complex System

Hello there, I want to design

Hello there, I want to design a project that works with GSM and microcontroller using assembly language, for sending message and making calls to my cellphone, please me guys, I'm trying but I'm struggling

Hi i have

Hi i have sparkfun's http://www.sparkfun.com/products/9427 SM5100B eval board and http://www.sparkfun.com/products/9533 GSM module. I am having problems with interfacing it with atmel AT89C51. 

Will this module work with Atmel AT89c51?

I am displaying the text on LCD.

Connections:

1)Rx and Tx ports of module to MAX232 which connect it to the Tx and Rx of 8051

2)LCD module is up and running

Please help

 

Thanks

hello , i am making project

hello , i am making project on sms based notice board ,, please help me with coding ,, its urgent ,, please please .. plz mail to man.rkaur@yahoo.com

plz send the coding

  // Program to Interface GSM

 

// Program to Interface GSM Module with 8051 microcontroller (AT89C51) without using PC

#include<reg51.h>
#define port P1
#define dataport P2				// Data port for LCD
sbit rs = port^2;
sbit rw = port^3;
sbit en = port^4;
int count,i;
unsigned char check,str[15];
bit check_space;

void init_serial()			// Initialize serial port
{
	TMOD=0x20;			// Mode2
	TH1=0xfd;			// 9600 baud
	SCON=0x50;			// Serial mode=1 ,8-Bit data,1 Stop bit ,1 Start bit, Receiving on
	TR1=1;				// Start timer
}
void delay(unsigned int msec)		// Function for delay
{
	int i,j;
	for(i=0;i<msec;i++)
	    for(j=0; j<1275; j++);
}

void lcd_cmd(unsigned char item)		// Function to send command on LCD
{
	dataport = item;
	rs= 0;
	rw=0;
	en=1;
	delay(1);
	en=0;
	return;
} 

void lcd_data(unsigned char item)		// Function to display character on LCD
{
	dataport = item;
	rs= 1;
	rw=0;
	en=1;
	delay(1);
	en=0;
	return;
}
	 	
void lcd_data_string(unsigned char *str)	// Function to display string on LCD
{
	int i=0;
	while(str[i]!='\0')
	{
 	  lcd_data(str[i]);				  
 	  i++;
 	  delay(10);						  				
   	}
	return; 
}
void lcd()
{
	lcd_cmd(0x38);		  				// For using 8-bit 2 row LCD 
	delay(5);			  						
	lcd_cmd(0x0F);        					// For display on cursor blinking
	delay(5);			 						
	lcd_cmd(0x80);		  				// Set the cursor on first position of LCD 
	delay(5);			  						
}

void transmit_data(unsigned char str)	// Function to transmit data through serial port
{
	SBUF=str;		  		//Store data in SBUF
	while(TI==0);	 			//Wait till data transmits
	TI=0;			  
}

 void receive_data()  interrupt 4	// Function to recieve data serialy from RS232 into microcontroller
 {	 
	RI=0;
	str[++count]=SBUF; 			//Read SBUF
	 
 }
  
unsigned char byte_check() 		// Function to check carraige return and new line character
{
	switch(str[0])
	{
		case 0x0a:
		{				// Return 0x00 for new line
		return 0x00;
		break ;
		}
		case 0x0d:
		{				// Return 0x01 for carriage return
		return 0x01;
		break ;
		}
		default :return 0x02 ;		// Return 0x02 for characters except new line and carriage return
	}
}

void main()
{ 
	lcd();								// Initialize LCD
	init_serial();							// Initialize serial port
	count=(-1);
	delay(500);
	lcd_data_string("Ready");
	delay(10);			 					
	lcd_cmd(0x01);	
	IE=0x94; 
	transmit_data('A');	  				// Transmit 'A' to serial port
	delay(1);
	transmit_data('T');	 				// Transmit 'T' to serial port
	delay(1);
	transmit_data(0x0d);  					// Transmit carriage return to serial port
	delay(50);
	while(1)
	{
		if(count>=0)
		{
			check=byte_check();	 			// Check the character
			if(check!=0x00)
			{			
				if(check==0x01)
				{
					if(check_space==1)	 	// Check previous character
					{
						lcd_data(0x20);
						check_space=0;
					}
				}
				else	
				{
					lcd_data(str[0]);
					check_space=1;
				}
			}
			count--;				   
			for(i=0;i<count;i++)	  		// Shift the whole array to one left
			{
				str[i]=str[i+1];
			}
		}
	}
}

 

the coding is there on this

the coding is there on this page itself.. under the 'Code' tab.. plz check again.

Is  it  possible  to

Is  it  possible  to  interface  GPS  and  GSM  with  one  microcontroller  of  8051  with  1  UART ?

How?

Article could have been a bit

Article could have been a bit breef for amatuers like me. xD

But still a Neat and good article. 

Thankyou sir! the information

Thankyou sir! the information provided was really meaningful for me!

 

Hi, as I know SIM300 can not

Hi, as I know SIM300 can not used to send MMS (Multimedia Messaging Service), but SIM900 can.

 

Can you please show how to send MMS using SIM900 and PIC microcontroller? I searched alot of in the internet but unfortunatly I couldn´t find any information about that !!

Sir i have gsm sim 300 modem

Sir i have gsm sim 300 modem i have connected it to pc and this modem is detected by pc when i type AT then it displays Ok on hyperterminal but when i am trying to send sms then no sms can able to send from modem please help me.

i want to transmit a code

i want to transmit a code AT+CMGS=1 at once by a function.how to transmit it?

 

how we can interface a gsm

how we can interface a gsm mobile with microcontroller...

i want to send the data of  microcontroller to an gsm device using a gsm device which is interfaced with microcontroller

 

how  can i  interface gsm

how  can i  interface gsm mobile with 8051

i want to send data of 8051 to other gsm mobile using an interfaced gsm mobile

can anyone help me??

can anyone suggest any other

can anyone suggest any other friendly GSM modem other than the SIM 300, which suppports TCP/IP.

can anyone suggest any other

can anyone suggest any other friendly GSM modem other than the SIM 300, which suppports TCP/IP.

can anyone help me with the

can anyone help me with the program for gsm based load contro or automation system!!! or pls help me to read the message from the gsm module via c code !!! i know the atcommands ie- at+cmgr and cmgl! pls help me with the c program! i am using atmega32!!! thanks

can anyone help me with the

can anyone help me with the program for gsm based load contro or automation system!!! or pls help me to read the message from the gsm module via c code !!! i know the atcommands ie- at+cmgr and cmgl! pls help me with the c program! i am using atmega32!!! thanks

Can I use phones like Nokia

Can I use phones like Nokia 3310 instead of the SIM300DZ? I would like to developed SMS based device controlling using one of the available PIC.

how can i get the number

how can i get the number inside the pic micro controller pls give any sample coding in working ccs compile formate pls send me sir my mail id: kavinkumarm@gmail.com

 

please give me example programs for communicaing the gsm with pic micro controller  

 Can anyone tell me the gsm

 

Can anyone tell me the gsm module NAME used for SMS MMS AND CALLS

I am now checking the

I am now checking the suppliers of SIM300DZ GSM Module I am seeing the name and description of the module but the picture of what suppliers are showing, by no means look any where close to what is being shown on your site Please advise.

Thank You

 

Mouse over to zoom in
 

hi guys, i'm working with

hi guys, i'm working with module sim 908 interface with pic18f2550 ,  anyone has similar project can share schematic circuit for me , i got confused about circuits

 

Here is my gmail: tinhnv92@gmail.com

 

thanks!

Here again   Iam trying to

Here again

 

Iam trying to purchase the sim 300from a supplier but the image that they are displaying is entirely different form what is on your site . Iam not seeing the components of the modulejust an outside lable the cost is US $30.00 please advise 

Sir, where I have toput the

Sir, where I have toput the codes? I mean which program you are using to code this?

Hi everyone, I wanna to build

Hi everyone, I wanna to build this module, anyone can tell me how?

Hi everyone, I wanna to build

Hi everyone, I wanna to build this module, anyone can tell me how?

I need to inteface the modem

I need to inteface the modem with atmega IC using microc . If  anyone have the coding or coding technique,please share with me.

 

 

I would like to get the

I would like to get the wiring diagram of the GSM/GPRS module since I need it to be simulated...Thanks

Could u send me the wiring

Could u send me the wiring diagram

Plz send me the circuit

Plz send me the circuit diagram

APPLICATIONS & TECHNOLOGIES

Learn about the latest applications and industry trends with tutorials and white paper design resources on vertical markets.

Automotive
Energy Harvesting
MEMS Technology
OpenSource Hardware
RFID & NFC
RF Wireless
Sensor
Solar
Touch
Wireless Charging

 

You are here