Use Icomsat+GPS Shield to Do Positioning via SMS

Icomsat is an expansion board that can be made calls and sent and received massages. GPS shield is an expansion board that can realize global positioning. Now, by combining them together, we can make a simple gadget that can check the current location via SMS. In practical, this gadget can be used in real-time cargo’s position checking.


1. Connect the jumpers in these Icomsat’s pins: RXD->D2, TXD->D3. Then access the GSM antenna and plug SIM card into the slot in the ICOMSAT’s back.

2. Connect the jumpers in these GPS shield’s pins: RXD->D1, TXD->D0. Access the GPS antenna

3. As we will use Icomsat to connect to UART1 of MEGA board, GPS shield connect to UART2, we should stack GPS shield and Icomsat together, then plug them into the Arduino socket of MEGA board.

4. The final assembly picture as below:

Upload demo into mainboard

1. Download GSM and GPS arduino supporting libraries from these two links:


2. Extract them into the directory Arduino\libraries, then open the files HWSerial.h and GSM.h in GSM library. Uncomment #define MEGA and comment #define UNO

//#define UNO 
#define MEGA 

3. Use Arduino IDE to run the demo sim900_gps_test.pde and upload it to Mega board Unplug the USB and power the mega board by 9V/1A external power. Place your GPS in the area of good reception. When Icomsat runs a while, you can use your phone to send an SMS to the SIM card’s number with “gps” content. Then you will receive a returning message with information which includes the location’s longitude, latitude and time. For example:

lat: 22.588160 lon: 113.944100 time: 20140730073230

lat refers to latitude, lon refers to longitude, and time refers to GMT.

If you get a massage saying “gps not ready”, that means the GPS shield is not ready to positioning yet.

You can watch the vedio here.

Tags: , , Back Top

About Sherry

I'm Sherry from ITEAD studio. Now I'm in charge of the daily editing of ITEAD blog. As a start learner, maybe I'm not qualified to answer most technical questions you've left in the comment, but with our engineers' help, I'll try my best to help you find the way out.

Responses to “Use Icomsat+GPS Shield to Do Positioning via SMS

  1. I´m Trying to upload -sim900_gps_test.pde- to Arduino Uno and I´m receiving this message (Serial2.begin(9600);) ‘Serial2′ was not declared in this scope. Please help me.

    • Yes, you can. If you connect them through dupont lines,  you don’t need to plug jumpers in Icomsat and GPS shield. The connections of them as follow:

      Icomsat RX,TX -> Arduino Mega UART1(D18,D19)

      GPS RX,TX -> Arduino Mega UART2(D16, D17)

  2. Hello ,

    I have bought your Board and I have followed step by step your tutorial But I do not receive a SMS back. I have then decided to keep the same Hardware structure as presented in the link below

    Then I have tried to test some examples in the TinyGPS example ” Just to be able to display The Latitude and the longitude But it did not work, I keep receiving the error message. “No GPS detected: check wiring.” or nothing.

    Could you please help or open the case if necessary?

    Kind Regargds,

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>