Arduino GSM Shield not responding?

I'm trying to get my arduino GSM shield working with the example "Send SMS" code provided. However, when I upload and compile the program, the serial monitor displays "SMS Messages Sender" and nothing else occurs.

Would greatly appreciate it if someone can tell me where I could have gone wrong.

I'm currently using the Arduino Mega. I'm following the guide provided by the Arduino's website with the code part of the example that comes with the Arduino program. Attached is wad is shown on the monitor.

I am using both a USB cable and an external power supply. I have performed the jumper wire modification required for the Mega to work with the shield as well.

no experience, do you have a sim card in the shield?


I also have troubles working with GSM Shield:

  • is erratic, rarely access the net
  • the access time of gsmAccess.begin(PINNUMBER) is abnorme
  • so the gprs.attachGPRS (my be worst)

I'm afraid to put myself in a business similar discomfort with how of Arduino Yun. My only (enough) positive activity on Arduino was with WIFI Shield.

John Rossati

Hello I´m also new in the arduino-world! I also want to use the arduino mega bord 2560 with the gsm/gprs shield but it doesn`t work.

I think there must be a problem with the sim card connection, because i tried the whole process (upload the programm, sim card with no pinnumber, serial monitor......wait) without sim card and arduino didn`t recognise a problem.

Here a shortcut from the gsm library:

if(gsmAccess.begin(PINNUMBER)==GSM_READY) notConnected = false; else { Serial.println("Not connected"); delay(1000); } }

Serial.println("GSM initialized");

This program should tell you that you have connected or not, but it doesnt!!

It doesnt tell me anything in the serial monitor!

So i hope someone could help me/us because i have tried everything i could with no result.


my be the problem on GSM library:

"The GSM3 library has an error. It includes HardwareSerial.h instead of Arduino.h in some classes."


John Rossati


I have the same problem....only "SMS Messages Sender" appear.

Did someone solve it?

I'm also having this problem. Seems to be popping up a lot lately. I've tried all the basic fixes such as using external power supplies or trying other SIMs and still can not find a solution. I'm using an Uno rather than the Mega.

Anyone with an idea would be very appreciated!

I have the same issue, especially when the board powers up.

Looking around this forum and StackOverflow I did arrange this piece of code. It has a timeout and if the GSM module does not initialize, the software will restart.

This does NOT fix the issue itself, but does a workaround to avoid the module to get stuck. Sometime, it needs a few restarts to get the GSM Shield initialized.

void(* SoftReset) (void) = 0; // declare reset function @ address 0

void InitGSM(char* pin)
   unsigned long myTimeout = 50000; // YOUR LIMIT IN MILLISECONDS 
   unsigned long timeConnect = millis();
   Serial.println("\nTrying to connect..");
   // Use async mode and requires that GSM debug mode has been set on GSM object creation
   gsmAccess.begin(pin, true, false); 
   while(millis()-timeConnect < myTimeout)
      // Call this if debugging is on. Otherwise we will never reach GSM_READY...?!?
      // might not call ready too often.??? See GSM3ShieldV1AccessProvider.cpp, GSM3ShieldV1AccessProvider::begin
      // Status check
      if (gsmAccess.getStatus() == GSM_READY)
   delay(500); // Let the message printout before reset is performed!

I’m deeply investigating the why of this issue. Having the GSM debug feature on, I saw the GSM module stuck at the first AT attempt. So maybe I’ll change the GSM library code to retry this first initialization step. Once this first step has passed, the other steps just run well (that’s what I noticed so far)

Hope this helps,

Does the Arduino’s SIM900 GSM module have the same kind of issue?

where should I put this code? inside the setup?

MarcoSilenzi: where should I put this code? inside the setup?

Typically, yes!

The above 'InitGSM' function replaces this:

      notConnected = false;
      Serial.println("Not connected");
  Serial.println("GSM initialized");

Hi all, I found a "fix" for this problem for me. Might be worth it for you to try as well.

I got in touch with telefonica through their "contact us" link on the page where you can manage your SIM card that came with the GSM shield.

They informed me that they had had some server issues, and that the SIM I activated hadn't actually been activated on their end. They took care of this and my setup then worked just fine!

They also informed me that they have been having bug issues with the PINManagement example sketch. If you're using this sketch at all, try another GSM example sketch such as SMS or WebClient.


I still have problems to connect arduino gsm shield to the network.
I’ve tried to use the suggested init procedure with no success.

I’ve also run many examples of the library.

The problem is always the same.

No access to the network.

Anyone with an idea would be very appreciated!



I also run into this problem with the Arduino GSM-shield and Mega2560.

  • erratic behavior when powering up or when resetting the Arduino.
  • program is hung at gsmAccess.begin(PinCode)==GSM_READY statement
  • I see that the network LED turns off
  • from here you can wait until eternity....

==> I found out that a longer power off cycle (unplug power, wait at least 30 seconds, replug power) then will usually get the GSM going, without any program change.

Of course, this does not explain the erratic behavior....

After working for most of Saturday and Sunday with the GSM shield on the Mega 2560, I come to the following insights:

  • When running using USB power from the PC, the GSM power appears marginal, and restarting it is difficult
  • A true reset signal is completely missing in the design - also on the Quectel module
  • The D7 input signal is redundant, as the power button 'key' turns on power automatically
  • The timeout code for using AT commands using millis() is buggy - using millis() gives unexpected results

Hi Guys, I just bought the GSM Shield and I have the same problem of ShadedCyan and I'm using Arduino Leonardo. When I upload and compile the program "Send SMS", the serial monitor displays "SMS Messages Sender" and nothing else occurs.

Did someone solved this problem so far?

Thank you All

Hi there,
Having the same problem with the GPRS Shield V2 icw UNO.

Stuck at “SMS Message Sender”.

Tried editing the GSM class to retry connecting many times until it timesout, no succes.
Also tried several other workarounds, but no luck so far.

Anyone a solution yet?

Directly working with AT commands seems to work fine, although for my purposes I could really use the GSM functionality.

ShadedCyan: I'm trying to get my arduino GSM shield working with the example "Send SMS" code provided. However, when I upload and compile the program, the serial monitor displays "SMS Messages Sender" and nothing else occurs.

I got the exact same problem, i have try a LOT of diferent thing to make it work.

Does anybody have found a fix for this?

Same problem over here. Board says it's connected to network but stuck on this line. Same thing happens on other examples. First time GPRS shield user

Hi, I am using the Arduino Mega ADK, and I am able connect sometime. It seem I can only connect between 1 and 3 times per day. This is a problem for especially when I have to demo my project. And it also take very long to reconnect.

If you are using the same card that I am using, then make sure to follow the instruction on the Arduino site (jump the pin they stated and bend the pin so it don't make connection as they stated.

Then use one of the sample program from Arduino IDE to test the connection, that should work for you.

Hi !

I bought 2 weeks ago the GSM shield Rev2

I use it with the UNO board with the example code : "send SMS" , and I had the same behavior : Just the message "SMS Messages Sender"

It was due to the PIN number , I setted a wrong one. So I tried with my mobile phone and then I remembered the correct one and then confirmed it.

Then the arduino goes to the message "not connected" I had always this message. I was disapointed.

But I found a small button named "power" on the shield. I push it few second and then the status led switch on and the status led started blinking !! Then I press the reset button to restart the soft, and it started to work !

I reached to send a SMS to my mobile phone !

On things that still doesn't work, is the serial, I cannot write characters on the serial console. So I put my number and the text in constant in the code.

And I added a whiel(1); at the end of the loop, to avoid sending lot of same SMS.

Hope it help someone