SIM900A GSM Module is the smallest and cheapest module for GPRS/GSM communication. It is common with Arduino and microcontroller in most of embedded application. The module offers GPRS/GSM technology for communication with the uses of a mobile sim. It uses a 900 and 1800MHz frequency band and allows users to receive/send mobile calls and SMS. The keypad and display interface allows the developers to make the customize application with it. Furthermore, it also has modes, command mode and data mode. In every country the GPRS/GSM and different protocols/frequencies to operate. Command mode helps the developers to change the default setting according to their requirements.
SIM900A Pin Configuration
The Module SIM900A looks like a single chip but it has a bunch of features that can help to build almost many commercial applications. Although, there are a total of 68 pins on SIM900A and using these pins helps to build the applications. But we will need few pins if you we use a module for interfacing with Arduino. We lists details of pinout diagram in next section.
SIM900A GSM Module Pin Configuration Descripton
GPIO Pins
The GPIO pins help to perform the simple and advance I/O function. All pins give the maximum output equal to the power supply which is useable to control most of the devices like sensors and other modules. All GPIO pins in SIM900A are:
- GPIO1 – Pin40
- GPIO2 – Pin41
- GPIO3 – Pin42
- GPIO4 – Pin43
- GPIO5 – Pin44
- GPIO6 – Pin47
- GPIO7 – Pin48
- GPIO8 – Pin49
- GPIO9 – Pin50
- GPIO10 – Pin51
- GPIO11 – Pin67
- GPIO12 – Pin68
Status Pins
The module has two status pins which help to indicate two different kinds of status. The first one is the working status of the module and the second for communication status. Net status means either the module is connecting to the network or other network functions, etc. Both these pins can’t operate LED directly. They always act with a combination of a transistor.
- STATUS – Pin52
- NIGHTLIGHT – Pin66
SIM900A Display Interface Pins
The device offers a 4 pin display interface with itself. The display isn’t necessary, it is only in case of requirement. The use of interface helps to get the visualization with the module and make it an application. All display pins are:
- DISP_DATA – Pin12 – For Display Data
- DISP_CLK – Pin11 – For Clock Input
- DISP_CS – Pin14 – To enable the display
- DISP_D/C – Pin13 – To select between data and command
I2C Pins
SIM900A has multiple kinds of communication and I2C is one of them due to is popularity. The module has a single I2C protocol pin, which helps to build the application with any module with that communication.
- SCL – Pin38
- SDA – Pin37
SDA for data and SCL for clock pulse.
SIM900A GSM Module Keypad interface Pins
The two-pin keypad is interfaceable with the module. The module will take the keypad data as a 2D matrix value from the KCB pins for each value. The keypad interface pins in the module are:
- KBR0~KBR4 (ROWS) – Pin40~Pin44
- KBC0~KBC4 (COLUMN) – Pin47~Pin51
Serial Port
The UART serial interface uses the two pins for proper data communication, which are RX and TX. Both pins have no independence on any other pins or modules. In SIM900A these pins are available but it also has some other pins for status/indication of data. By combining these pins, the serial port helps to generate the RS-232 connector too. All the serial pins are:
- RXD – Pin10 – To receive the data
- TXD – Pin 9- To send the data
- RTS – Pin8 – To send the request of data transmission
- CTS – Pin7 – To clear the send request
- RI – Pin4 – Ring indicator
- DSR – Pin6 – To indicate that data set ready
- DCD – Pin5 – To indicate data carry detect
- DTR – Pin3 – To indicate data terminal ready
Debug Interface
Debugging helps the developers to debug the module and update its firmware. In this module, there are sperate serial interface pins for debugging. Both pins are:
- DBG_TXD – Pin27 – For Data Transmission
- DBG_RXD – Pin28 – For Data receiving
SIM Interface
As we know that module SIM900A is a GPRS/GSM module. The module is dependent on some devices for some of its features. The most important one is the SIM. The SIM needs to connect with the module for GPRS/GSM functions to fully operate. All the sim interface of the module is:
- SIM_VDD – Pin30 – Power Supply of the SIM
- SIM_DATA – Pin31 – For data output
- SIM_CLK – Pin32 – For clock pulse
- SIM_RST – Pin33 – For reset
- SIM_PRESENCE – Pin34 – To detect the SIM
SIM900A Analog to Digital converter Pins
The module has only a single pin to detect and convert the analog signal to digital for SIM900A. The voltage range on the ADC pin is from 0 to 3 only.
- ADC – Pin25
PWM Pins
The PWM is mostly in microcontrollers for industrial applications but due to IoT, the module offers two PWM pins which helps to make the IoT and PWM based device without using any third interface.
- PWM1 – Pin35
- PWM2 – Pin36
Audio Interface
The audio interface will help to connect the mic and speaker with SIM900A. The connection of Line, Audio and Speaker will help to make the calls through the modules.
- MIC_P – Pin19
- MIC_N – Pin20
- SPK_P – Pin21
- SPK_N – Pin22
- LINEIN_R – Pin23
- LINE_L – Pin24
Control Pin
There is power on pins on the device, which helps to turn it on using external signals. There is two power on pins. The first one is PWRKEY which requires a LOW signal to power on/off the system. To do that, the pins require an input signal for a little bit long time. The second pin is PWRKEY_OUT, which gets short with the PWRKEY pin and turn on/off the device.
- PWRKEY – Pin1
- PWRKEY_OUT – Pin2
Reset pins
The device has an external LOW input signal reset pin to reset the device with the use of an external signal.
- NRESET – Pin16
SIM900A GSM Module RF Antenna
To extend the range of the SIM900A the antenna pin needs to connect with an external wire. The official antenna is also available for the module.
- RF_ANT – Pin60
Power Pins
The module SIM900A has multiple types of power pin. Some works as input and some as output. The most important one to understand is VRTC, which acts as a backup for the internal RTC of the device. All power and ground pins of the module are:
- VBAT(Input) – Pin55, Pin56, Pin57
- VRTC (Input/Output) – Pin26
- VDD_EXT(OUTPUT) – Pin15
- GND – Pin17, Pin18, Pin29, Pin39, Pin45, Pin46, Pin53, Pin54, Pin58, Pin59, Pin61, Pin62, Pin63, Pin64, Pin65
SIM900A GSM Module Block Diagram
The following diagram is describing the SIM900A internal structure of the module.
SIM900A GSM Module Main Features
FEATURES | DETAIL |
---|---|
Power Input | 3.4V to 4.5V |
Operating Frequency | EGSM900 and DCS1800 |
Transmitting Power Range | 2V for EGSM900 and 1W for DCS1800 |
Data Transfer Link | Download: 85.6kbps, Upload:42.8kbps |
SMS | MT, MO, CB, Text and PDU mode. |
Antenna Support | Available |
Audio Input/output | Available |
Serial Port | I2C and UART |
Serial Debug Port | Available |
Applications
- The module is the best application to design a graphic for Voice call and SMS application.
- Some IoT applications, mostly in an emergency have the module.
- The location trancing system also uses SIM900A.
- SIM900A can use for mobile communication.
How to use SIM900A GSM Module?
The module SIM900A has multiple pins but all of them have some hardware requirement that is available in the datasheet. There is a bunch of predesigned board which solves the requirement of the hardware. To use the module connect it with the Arduino like the given circuit.
Arduino Interfacing Example
After connecting the device use the AT commands through Arduino COM port or by Arduino Programming to operate the module each function. In case of sending data through Serial Program here’s the example code for simple AT command.
void setup() { Serial.begin(9600); Serial.println("AT"); Serial.println("AT+CMGF=1/&W"); Serial.println("AT+CMGS=\"+XXXXXXXXXXXX\""); //Change this to the sim phone number Serial.println("Hello World"); Serial.write(26); } void loop() { }
The following command is for a simple example to make the Arduino Program for sending the message from Arduino to the Module to operate. There is a bunch of commands for every function.
GSM900A Tutorials and Projects
After going through this tutorial, you might want to work on advanced tutorials and projects.
- GSM module interfacing with Arduino: Send and receive SMS
- Sending Data from GSM module to a web server using Arduino
- Home security system using PIR sensor and GSM module
- GSM Based Home Automation project using Arduino
- Receive sms gsm module using pic microcontroller
- Send sms using gsm module and pic microcontroller
2D Diagram
Other Wireless Modules:
scmatic digram