Quad-band GPRS/GSM Shield for Arduino Mega

From LinkSprite Playgound
Jump to: navigation, search

Introduction

LinkSprite SM5100B GSM/GPRS module: a miniature, single-side board, quad-band GSM 850/EGSM 900/DCS 1800/PCS 1900 module, ready for integration in various kinds of Fix wireless phones and other wireless devices.

USA providers are all on 850/1900Mhz and pratically all the rest of the world uses 900/1800Mhz.


ARDUI MEGA 5100 GPRS.jpg

Features

Application Ideas

Cautions

Schematic

Specification

Temperature range Normal range: -10°C to +55°C (full compliant)

Storage: -40°C to +85°C

Weight < 9g
Physical dimensions 35.0X39.0X2.9 mm (typical)
Connections 60 pins
Power Supply VBAT: 3.3V to 4.2V range, 3.6V typical.
Power consumption Off mode: <100uA

Sleep mode: <2.0mA

Idle mode: <7.0mA (average)

Communication mode: 350 mA (average,GSM)

Communication mode: 2000mA (Typical peak during TX slot,GSM)

Li-ion Battery charging management and interface (OPTION) Li-ion Battery charging management is included. The charger interface is provided on 60-pin connector.

(only for 3.7V Li-ion Battery)

Frequency bands EGSM900 +GSM850+ DCS1800+PCS1900
Transmit power Class 4 (2W) for EGSM900/GSM850

Class 1 (1W) for DCS1800/PCS1900

Supported SIM card 3V/1.8V SIM card. (auto recognise)
Keyboard interface 4x6 keyboard interface is provided
UART0 interface with flow control Up to 460 kbps

Full hardware flow control signals (+3.0V) are provided on 60 pins.

UART1 interface without flow control 2-Wire UART interface

Up to 460 kbps

LCD interface Support standard SPI interface

Pin definition and Rating

Mechanic Dimensions

Usage

Due to the large current of the GPRS module, a wall adaptor is recommended: http://www.cutedigi.com/product_info.php?products_id=4184


Hardware Installation

Tutorial 1

Jumpers position:

J1: 5100RX to TX1

J2: 5100TX to RX1

Pass through code:

<syntaxhighlight lang="c">

  1. include //Used for string manipulations

char incoming_char=0; //Will hold the incoming character from the Serial Port.

void setup()

{

 //Initialize serial ports for communication.

Serial.begin(9600);

Serial1.begin(9600);

Serial.println("Starting SM5100B Communication...");

}

void loop()

{

//If a character comes in from the cellular module...

if(Serial1.available() >0)

{

incoming_char=Serial1.read(); //Get the character from the cellular serial port.

Serial.print(incoming_char); //Print the incoming character to the terminal.

}

//If a character is coming from the terminal to the Arduino...

if(Serial.available() >0)

{

incoming_char=Serial.read(); //Get the character coming from the terminal

Serial1.print(incoming_char); //Send the character to the cellular module.

}

}

</syntaxhighlight>

Programming

AT Command Tester Application

AT Command Tester is a free online tool test AT Commands and other modem functionalities of 2G modules (GPRS/EDGE) , 3G Modules (HSDPA/EVDO) and 4G Modules (LTE).AT Command Tester tool connects to the modem port of the device and can test various modem functions such as getting device information, gprs data call, voice call,http access, checking signal condition, network registration, SMS functions, SIM access, phonebook functions etc.

In the 'Port Configuration' section of the tool, users can search for available ports using the 'Find Ports' button. Then using the 'Connect' button, users can connect to the modem port of the device.

In the 'Command Mode' tab of AT Command Tester, single AT commands can be sent. The drop down list provides AT command description and examples. Users can modify the default command settings.

M2m img1.PNG


Under the 'Script Mode' tab, multiple AT commands can be sent at a time. Users can add descriptive comments and save the script on their local machine.

Script mode.PNG

Data Call

To make a data call with the modem, you need to connect to the APN of the carrier network. The carrier APN and other required information are stored in the SIM card and are referred as PDP contexts. Typically multiple PDP contexts are stored in the SIM for different call types. With the AT Command Tester you can edit/add/delete PDP contexts in a easy to use user interface.

Datacall.PNG



Typical call setup sequence,

AT+CGDCONT?

+CGDCONT: 1,"IP","epc.tmobile.com","0.0.0.0",0,0
+CGDCONT: 2,"IP","test5","0.0.0.0",0,0
+CGDCONT: 3,"IP","","0.0.0.0",0,0

OK
Checking registration status...

AT+CREG?

+CREG: 0,1

OK
The device is registered in home network.

Checking if device is already connected...

AT+CGACT?

+CGACT: 1,0
+CGACT: 2,0
+CGACT: 3,0

OK
AT+CMEE=1

OK
Attaching to network...
AT+CGATT=1

OK

Connecting...

AT+CGACT=1, 1

OK
Connect Sucessful


SMS

The SMS tab of the 'AT Command Tester' tool provides the interfaces to send SMS messages. You can also list/view/delete SMS messages stored on the SIM.

Sms.PNG
General sequence for sending SMS message,

Checking registration status...

AT+CREG?

+CREG: 0,1

OK
The device is registered in home network.

AT+CMGS="858XXXXXXX"

> Test Message with AT Command Tester�

+CMGS: 19

OK
SMS Send successful

Network Selection - This tab allows the user to manually select available networks. Modems are typically set for automatic network selection. 'Find Networks' button will command the modem to scan for available networks.

Network selection.PNG


AT+COPS command will initiate network scan in the modem,

Finding Networks. Please wait..

AT+COPS=?

+COPS: (2,"T-Mobile","T-Mobile","310260"),(1,"AT&T","AT&T","310410"),,(0,1,4),(0,1,2)

OK
Networks found


Phonebook

With the 'Phone Book' tab, you can add/delete/read phone book entries stored on the SIM,

Phone book.PNG

Getting phonebook entries..

AT+CPBR=1,99

+CPBR: 1,"*233",129,"Refill Now"

+CPBR: 2,"#999#",255,"Check Balance"

+CPBR: 3,"8878878878",129,"Test"

OK

FAQ

Please list your question here:

Support

If you have questions or other better design ideas, you can go to our forum to discuss or creat a ticket for your issue at linksprite support.

Resources

How to buy

Here to buy Quad-band GPRS/GSM Shield for Arduino Mega on store

See Also

Other related products and resources.

Licensing

This documentation is licensed under the Creative Commons Attribution-ShareAlike License 3.0 Source code and libraries are licensed under GPL/LGPL, see source code files for details.