Interfacing Arduino UNO with Icomsat v1.1 SIM900 GSM Module for Sending SMS

Interfacing Arduino UNO with Icomsat v1.1 SIM900 GSM Module for Sending SMS


Hello guys! Today in this tutorial I am going to show you how to interface Icomsat V1.1 GSM 900 module with an Arduino uno and send SMS to any number.


For this tutorial we need:
                1) Arduino Uno
                2) Icomsat 1.1 GSM Module
                3) An Arduino Cable
                4) PC or Laptop


If you are totally new you can start from here else you can skip these step and go to the Uploading the Code part of the tutorial.


Arduino Uno                                                Icomsat 1.1 GSM Module

Arduino_uno GSM



The steps are really very simple. Trust me after this tutorial you will say, interfacing this module is the easiest of all.


Testing your GSM Module

  1. Insert a SIM card in the module, connect the antenna and place it over the Arduino Uno.
  2. Power up the Arduino Uno connecting it to the PC. You can see a red LED in the Module lights up.
  3. Now press the “SIM900 Power” button right under the LED. You can see a green LED “NET” keeps blinking frequently and after few second another green LED “Status” lights up and the previous one keeps blinking after but after 1 second.
    This means your module is working.

If it don’t work –
Check the antenna again.
Check if the Module is set perfectly in the UNO.
Try the “Power Button” again.
Try the “SIM900 Reset” button (Under Power Button).
Try the whole procedure again.



Uploading the Code

Download the library from the link below, I used this library for this tutorial and this is the best still on the internet.

Library Created by Marco Martines

Alternate Download Link

Remove the module and upload the code below in you Arduino UNO using your own phone number (line no 27). Or download the code from here

#include "SIM900.h"
#include <SoftwareSerial.h>
#include "sms.h"


boolean started=true;

void setup() 


  Serial.println("GSM Shield testing.");

  if (gsm.begin(9600))

    if (sms.SendSMS("Insert you phone number here with country code", "SMS from Arduino"))
    Serial.println("\nSMS sent OK");

void loop() 



REMEMBER Every time you upload your code remove the GSM Module from your Arduino Uno Board else the code will not upload.

Now power up the board like the way we did it in Testing your GSM Module.
When your GSM board is ready press the “Arduino RST” button which resets the Arduino. Or you can add a delay of 20,000 millisecond in the setup to skip this procedure. This is done because in the code you can see that when the Arduino starts within few second the SMS sending code is done running but by that time the GSM module wasn’t ready.

What if it doesn’t work?

  1. Check the TX RX pin shorts are like the way I did in the picture below
  2. Check the antenna again.
  3. Check if the Module is set perfectly in the UNO.
  4. Try the “Power Button” again.
  5. Try the “SIM900 Reset” button (Under Power Button).
  6. Try the whole procedure again.


Now it should work.

In my next tutorial I will show you how to make calls just by changing the AT command.

Still if you have any problem you can mail me at and please  comment if you feel that I need to make changes in my post to make it better.

Thank You

What are your thoughts?