SIm900 not connecting with arduino mega2560

Hi I am trying to use sim900 shield with my arduino. The first and main problem i am facing is that it is not coumunicating with my ardiuno. i tried Arduino uno mega due none of them are working same problem exits with each ardiuno. i tried software serial on mega and hardware serial on due still the same problem ardiuno is not coumunicating even i typed AT i dont get a response "ok" none of them are working i tired many tutorials and example even the simple example is not working mentioned in this link.[In-Depth: Send Receive SMS & Call with SIM900 GSM Shield & Arduino]
I used the simple tutorial and the simple code mentioned in this link but its not handshaking
Can any one please help me out with this issue i am so fed up now. GSM shield is power on green light is blinking every 3 second means network is found but when i type AT it does not respond.
I am uploading a picture of my project

thankyou in advance``

@zainraza24, your topic has been moved to a more suitable location on the forum. Installation and Troubleshooting is not for problems with your project :wink:

Do you have a link (URL) to the shield that you're using?

Just starting with rye basics…

  • On the MEGA2560, there’s no need to use software serial. You have four hardware ports.
  • You need to ensure the nominated serial tx/rx pins are cross connected properly
  • The modem requires a good strong 5V power supply… you can’t draw it from the Arduino.

If you’re still stuck, sketch out the wiring / schematic of how your boards are linked (not a frizzy drawing). Show pin names.

Once you’re sure it’s all connected properly, Post your test code up here in [code tags]

Hi , First of all thankyou for the reply,
This is the link of the shield i am using and i supplied external 12 volts 1 amp supply. used the crossed and straight connection i am not recieving any response on the serial monitor i only see intitailizing

I am using the softwareserial as i have code for software serial.

include <SoftwareSerial.h>

//Create software serial object to communicate with SIM900
SoftwareSerial mySerial(7, 8); //SIM900 Tx & Rx is connected to Arduino #7 & #8

void setup()
  //Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
  //Begin serial communication with Arduino and SIM900


  mySerial.println("AT"); //Handshaking with SIM900
  mySerial.println("AT+CSQ"); //Signal quality test, value range is 0-31 , 31 is the best
  mySerial.println("AT+CCID"); //Read SIM information to confirm whether the SIM is plugged
  mySerial.println("AT+CREG?"); //Check whether it has registered in the network

void loop()

void updateSerial()
  while (Serial.available()) 
    mySerial.write(;//Forward what Serial received to Software Serial Port
    Serial.write(;//Forward what Software Serial received to Serial Port

Check the power supply spec for the modem…
although i’ve not used the SIM900, I’ve used a few other SIMCOM modems.

They all need up to 2A max, particularly during initial cell discovery*, so that could be your problem.

Otherwise, worth checking that 2G is still available in your region, as the SIM800 is only a 2G modem, and won’t work when the carriers have folded their 2G networks (like here in Australia).

*which can take up to a minute for the first time in busy cells. Typically 10-20 secs under normal startup.

Is your modem configured for 9600 ?

I am supplying 12 volts from a powersupply so it can draw as much current as it needs.
2 g available i can see edge sign on my cell phone i am using same sim card on the modem.and modem is blinking yellow light 1 per 3 seconds it measn it has found the network
can u please tell me about how to configure it to 9600. its no even responding to any thing i type in serial monitor. even for simply typing AT it does not responde me ok. At check the communication between modem and ardiuno. sim comunicatiion will come after. i am stuck at the first command AT.

You may need to walk through the whole range of speeds (I’d start at 4800), then try a simple AT at each speed u til you get a response.

Then you’ll know the speed, and can subsequently send the AT command to change it if you need to.

…supplying 12 volts from a powersupply so it can draw as much current as it needs.

Assuming the power supply is rated for 2A or greater.. !