Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use GSM SIM900: Examples, Pinouts, and Specs

Image of GSM SIM900
Cirkit Designer LogoDesign with GSM SIM900 in Cirkit Designer

Introduction

The GSM SIM900 module is a versatile cellular modem that enables GSM/GPRS communication for embedded projects. It allows devices to connect to the internet, make or receive voice calls, and send or receive SMS messages using a mobile network. This module is widely used in IoT applications, remote data logging, security systems, and mobile communication solutions.

Explore Projects Built with GSM SIM900

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino UNO and SIM900A GSM Module Communication System
Image of srp: A project utilizing GSM SIM900 in a practical application
This circuit interfaces an Arduino UNO with a SIM900A GSM module. The Arduino communicates with the SIM900A via digital pins D9 and D10 for serial data transmission and reception, while both devices share a common ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO and SIM900A GSM Module for Remote Communication
Image of gsmsim900A_ardunio: A project utilizing GSM SIM900 in a practical application
This circuit interfaces an Arduino UNO with a SIM900A GSM module. The Arduino controls the SIM900A via digital pins D9 and D10 for serial communication, while both components share a common ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO and SIM900A GSM Module for Remote Communication
Image of gsm: A project utilizing GSM SIM900 in a practical application
This circuit integrates an Arduino UNO with a SIM900A GSM module, powered by a 12V power supply. The Arduino communicates with the SIM900A via digital pins D4 and D5 for TX and RX respectively, enabling GSM communication capabilities.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO and SIM900A GSM Module Interface
Image of sim900a : A project utilizing GSM SIM900 in a practical application
This circuit connects an Arduino UNO microcontroller with a SIM900A GSM/GPRS module, enabling cellular communication capabilities. The Arduino's digital pins D7 and D8 are connected to the SIM900A's 5VT and 5VR pins, likely for serial communication. A separate 5V connector provides power to the SIM900A, with common ground connections established between all components.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with GSM SIM900

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of srp: A project utilizing GSM SIM900 in a practical application
Arduino UNO and SIM900A GSM Module Communication System
This circuit interfaces an Arduino UNO with a SIM900A GSM module. The Arduino communicates with the SIM900A via digital pins D9 and D10 for serial data transmission and reception, while both devices share a common ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of gsmsim900A_ardunio: A project utilizing GSM SIM900 in a practical application
Arduino UNO and SIM900A GSM Module for Remote Communication
This circuit interfaces an Arduino UNO with a SIM900A GSM module. The Arduino controls the SIM900A via digital pins D9 and D10 for serial communication, while both components share a common ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of gsm: A project utilizing GSM SIM900 in a practical application
Arduino UNO and SIM900A GSM Module for Remote Communication
This circuit integrates an Arduino UNO with a SIM900A GSM module, powered by a 12V power supply. The Arduino communicates with the SIM900A via digital pins D4 and D5 for TX and RX respectively, enabling GSM communication capabilities.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of sim900a : A project utilizing GSM SIM900 in a practical application
Arduino UNO and SIM900A GSM Module Interface
This circuit connects an Arduino UNO microcontroller with a SIM900A GSM/GPRS module, enabling cellular communication capabilities. The Arduino's digital pins D7 and D8 are connected to the SIM900A's 5VT and 5VR pins, likely for serial communication. A separate 5V connector provides power to the SIM900A, with common ground connections established between all components.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Remote monitoring and control systems
  • IoT devices with cellular connectivity
  • SMS-based alert systems
  • Vehicle tracking with GSM location
  • Voice call enabled applications

Technical Specifications

The GSM SIM900 module is designed to operate with a wide range of microcontrollers and microprocessors. Below are the key technical specifications:

Specification Description
Power Supply 3.4V - 4.5V DC
Communication GSM/GPRS
Frequency Bands Quad-Band 850/900/1800/1900 MHz
GPRS Data Downlink/uplink transfer: max 85.6 kbps
SMS Text and PDU modes
Audio Supports voice calls with external microphone and speaker
Serial Interface Asynchronous serial port, up to 115.2 kbps
SIM Card Supports 1.8V/3V SIM card
Antenna Interface 50 Ω SMA connector
Control via AT commands Standard and enhanced AT command set

Pin Configuration and Descriptions

Pin Number Name Description
1 VCC Power supply input (3.4V - 4.5V DC)
2 RST Reset pin, active low
3 RXD Serial data receive pin
4 TXD Serial data transmit pin
5 GND Ground
6 RI Ring indicator, indicates incoming call/SMS
7 DTR Data Terminal Ready, used for sleep mode

Usage Instructions

Connecting to a Circuit

  1. Connect the VCC pin to a power supply within the specified range (3.4V - 4.5V DC).
  2. Connect the GND pin to the ground of the power supply and your microcontroller.
  3. Connect the RXD pin to the TX pin of your microcontroller.
  4. Connect the TXD pin to the RX pin of your microcontroller.
  5. Insert a valid SIM card into the SIM card holder.

Important Considerations and Best Practices

  • Ensure that the power supply can provide sufficient current for the module's operation.
  • Use a level shifter if your microcontroller operates at a different logic level than the SIM900 module.
  • Place the antenna in a position with minimal obstructions for better signal reception.
  • Follow proper ESD precautions when handling the module to prevent damage.

Example Code for Arduino UNO

#include <SoftwareSerial.h>

SoftwareSerial sim900(7, 8); // RX, TX

void setup() {
  // Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
  Serial.begin(9600);
  
  // Begin serial communication with SIM900 and set baud rate
  sim900.begin(9600);
  
  // AT command to set SIM900 to SMS mode
  sim900.print("AT+CMGF=1\r"); 
  delay(100);
  
  // Set module to send SMS data to serial out upon receipt 
  sim900.print("AT+CNMI=2,2,0,0,0\r");
  delay(100);
}

void loop() {
  // Check if the SIM900 is sending a message
  if(sim900.available()){
    Serial.write(sim900.read());
  }
  
  // Check if the Serial Monitor is sending a message
  if(Serial.available()){    
    sim900.write(Serial.read());
  }
}

Troubleshooting and FAQs

Common Issues

  • Power Issues: The module does not power up or frequently restarts.
    • Solution: Check the power supply for proper voltage and current capabilities.
  • Signal Issues: Poor signal strength or no network connectivity.
    • Solution: Verify the antenna connection and placement, and ensure the SIM card is activated and has network coverage.
  • Communication Issues: Inability to communicate with the module via serial interface.
    • Solution: Ensure proper connections between the module and the microcontroller, and verify the baud rate settings.

FAQs

Q: Can I use the SIM900 module to connect to the internet? A: Yes, the SIM900 module supports GPRS for internet connectivity.

Q: How do I send an SMS using the SIM900 module? A: You can send an SMS by issuing the appropriate AT commands through the serial interface.

Q: What should I do if the module does not register on the network? A: Check the SIM card insertion, network coverage, and antenna connection. Also, ensure that the SIM card has not been locked with a PIN code.

Q: Can I use the SIM900 module with a 5V microcontroller like Arduino UNO? A: Yes, but you may need a level shifter or voltage divider as the SIM900 typically operates at 3.4V - 4.5V.

Q: How can I reduce the power consumption of the SIM900 module? A: Utilize the sleep mode by controlling the DTR pin and minimizing the active time of the module.