Interfacing SIM900D GSM Module Board with Arduino Mega 2560

Interfacing SIM900D GSM Module with Arduino Mega 2560

Interfacing SIM 900D GSM Module with Arduino

The SIM900 is a complete Quad-band GSM/GPRS solution in an SMT module which can be embedded in the customer applications. Featuring an industry-standard interface, the SIM900 delivers GSM/GPRS 850/900/1800/1900MHz performance for voice, SMS, Data, and Fax in a small form factor and with low power consumption.

With a tiny configuration of 24mm x 24mm x 3 mm, SIM900 can fit almost all the space requirements in your M2M application, especially for a slim and compact demand of design.

– SIM900 is designed with a very powerful single-chip processor integrating AMR926EJ-S core
– Quad – band GSM/GPRS module with a size of 24mmx24mmx3mm
– SMT type suit for customer application
– An embedded Powerful TCP/IP protocol stack
– Based upon mature and field-proven platform, backed up by our support service, from definition to design and production

SIM900D GSM Module

SIM900 GSM Module comes with TTL Serial Port interfacing, which makes it easy to interface it with any microcontroller. However SIM900 comes in QFP (Quad-Flate Package), it is difficult to solder it at home, So we have bought SIM900D GSM Board from

But there is a little problem in this GSM board, that the MIC and SPEAKER Pins of SIM900D GSM Module are not connected to any connector on board, they remained NOT CONNECTED. So this module can only be used for interfacing it with devices, which only require SMS and GPRS Facility. No, any voice capability.


SIM900D GSM Module Board

SIM900D GSM Module Pinouts:

SIM900D GSM Board pinouts SIM900D GSM Board pinouts

SIM900D Pin Description

Interfacing SIM900D GSM Module with Arduino:

Interfacing SIM900D GSM Module with Arduino Mega 2560

It is necessary to connect 4 Volt Battery to BAT Terminal, to function properly. If you connect Power Supply, it might not work properly with a Power supply of lower than 3 Amperes 3.5v to 4.5v. We have connected Battery of 4V and 7Ah.

To turn ON the module, connect GROUND with PKEY for at least one Second and then leave it unconnected, check Module LEDs. One LED will remain ON and other will blink continuously.

SIM900D GSM Module Board Arduino Mega 2560
GND Ground of Arduino and Ground(-ve) of Battery
BAT +4V Battery
PKEY Ground it for one second to turn it ON and OFF and then leave it unconnected.

Code for Interfacing GSM Sim 900D with Arduino Mega 2560:

The Code below is used to connect Arduino with SIM900D GSM Module Board, with Manually entering AT Commands using Serial Monitor window of Arduino.

To check if the connections are correct, send AT-Command using Serial Monitor, if the reply is OK then the connections are OKAY. And Device is functioning correctly.

void setup()

void loop()
// Serial.print(a);



How to work with SIM900D GSM Module board:

– After connecting SIM900D GSM Module with Arduino as shown above
– Open “Serial Monitor” window from Arduino Software
– Use following commands and check its reply
– Initially, SIM900D GSM Module is configured to work with any serial baudrate from 1200bps to 115200bps. But It is necessary to configure it with one baudrate, using AT Command “AT+IPR=9600”, the reply will be “OK”, now if you turn OFF the device by connecting PKEY with GROUND for one second and you turn ON device using same procedure, you will get following MESSAGE:



+CFUN: 1

– If the call facility is also available then you will receive “CALL READY”

Auto turning off of SIM900D GSM Module Board:

– If you connect SIM900D GSM Module Board BAT Terminal directly with Arduino +5v, it will give you warning “OVER-VOLTAGE WARNING” because the voltage required at BAT terminal is from 3.5v to 4.7v

– If you connect SIM900D GSM Module Board BAT Terminal directly with Arduino +3.3v, it will not operate the Module

– If you connect SIM900D GSM Module Board BAT Terminal directly with External Power Supply of 4 volts (or in range from 3.5v to 4.5v), and turn ON the module by pressing POWER KEY (turning PKEY low or connecting it with GROUND for one second and then releasing it OPEN CIRCUITED), will turn ON the module, the LED will turn ON and will turn OFF while other LED will turn ON and first LED will start blinking. And might turn OFF if SIM is inserted in Socket of the board.

– Or with External Power Supply of 4v, the board may turn ON, but when you send any command which functions with SIM like Sending SMS, Making a call or any other call at SIM may cause it turn off. Because when SIM is activated, it requires at least 2A current, if Adapter will not provide sufficient amount of Current then module will turn OFF.

Related Links:

2 Comments on “Interfacing SIM900D GSM Module Board with Arduino Mega 2560”

  1. AOA
    i want to interface sim 900d with raspberry pi for send location sms can you tell me how to interface with pi

Leave a Reply

Your email address will not be published.