SIM900a Mini Modem, IMEI 0, help with TX RX pins I have Simcom SIM900a GSM (SIM900a Mini DEV Board v3.9.2) and I am interfacing it with Arduino UNO.
I have no idea how to connect SIM900a to Arduino UNO.
What I did now is:

I connect the following Pin from above image to:
5 to: GND (Digital GND near Pin 13)
6 to: 5V of Arduino
2 to: GND of Arduino near 5V
3 to: Digital Pin 0 of Arduino (RX)
4 to: Digital Pin 1 of Arduino (TX)
1 to: (No idea)
From Picture option 7, 8, 9 are not connected to anything.
Can you please guide me am I doing right?
I am getting hard time to find out what is TX and RX in my SIM900a module as it is not written there.
My SIM900a looks like this, this(Schematics given) and this.
When I upload the sketch:
File &gt; Examples &gt; GSM &gt; TestModem:
to Arduino, I got this output from Serial Monitor:

Starting modem test...ERROR, no modem answer.
Checking IMEI...Modem's IMEI: 0
Reseting Modem... Modem is functioning properly: IMEI: 0

PS:
I saw this schematic here which is way different than what I am doing.
PSS:
Hints, am I supposed to provide external power supply of 5 V 2 A OR do I need some kind of converters (TTL to RS232 converter) ?
Finally I found solution to this problem:
My Pins connections were wrong, it should not be: 0 and 1 it should be 2 &amp; 3:
2 - RX Arduino
3 - TX Arduino

also SoftwareSerial.h is not working with SIM900A
Pins:
All connections should be like this:
SIM900A - Arduino
=================
VCC     - VDC (+5V)
GND     - GND
5VR     - Connect to Arduino TX (Pin 3)
5VT     - Connect to Arduino RX (Pin 2)

As discussed here.
Very important:
Any program with header/library: #include &lt;SoftwareSerial.h&gt; is not working but #include &lt;GSM.h&gt; is working fine. As SoftwareSerial.h only work with GSM Shield and SIM900A isn't a shield.
Program/Sketch to Upload:
/*
SMS sender

created 25 Feb 2012
Originally written by Tom Igoe
But this is modified version
*/

// Include the GSM library
#include &lt;GSM.h&gt;

#define PINNUMBER &quot;&quot;

// initialize the library instance
GSM gsmAccess;
GSM_SMS sms;

void setup(){
// initialize serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial){
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.println(&quot;SMS Messages Sender&quot;);
// connection state
boolean notConnected = true;

// Start SIM900A GSM 

while (notConnected){
    Serial.println(&quot;Status 1: Please wait a while, If it taking lot of time, \nmeans you have wrong pin connections.&quot;);
    // If your SIM has PIN, pass it as a parameter of begin() in quotes
    if (gsmAccess.begin(PINNUMBER) == GSM_READY){
    Serial.println(&quot;Status 2: GSM is ready.&quot;);
    notConnected = false;
}else{
    Serial.println(&quot;Status 3: Not connected&quot;);
    delay(1000);
  }
}
    Serial.println(&quot;Status 4: GSM initialized. &quot; );
    
    // calling function to send message
    sendMessage();
}

void loop(){
    // empty loop
}

// method to send message to specific number just once.
void sendMessage(){
    Serial.print(&quot;Message is sending...: &quot;);
    // send the message
    sms.beginSMS(&quot;03XXXXXXX &quot;); // Replace XXXXXXX with your mobile number.
    sms.print(&quot;This is just some message&quot;); // Message content, replace with your's.
    sms.endSMS();
    Serial.println(&quot;COMPLETE!\n&quot;);
    Serial.println(&quot;Message Sent...!\n&quot;);
}

Bam, It is working, and it successfully can send message.
Things to remember:

As everywhere being said you need to supply external power supply to SIM900A   it requires 5 Volts and 2 Amphs.

Connect GND of SIM900A to Arduino GND.

Connect VCC+ (above photo connection 2) to 5V pin of Arduino.


One Problem:
When I upload sketch of:

Example &gt; GSM &gt; TestModem:

to Arduino, I got this output from Serial Monitor:

Starting modem test...ERROR, no modem answer.
Checking IMEI...Modem's IMEI: 0
Reseting Modem... Modem is functioning properly: IMEI: 0

I cannot get IMEI from SIM900A but I can send message.