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

How to Use GSM Shield Sim900: Examples, Pinouts, and Specs

Image of GSM Shield Sim900
Cirkit Designer LogoDesign with GSM Shield Sim900 in Cirkit Designer

Introduction

The GSM Shield Sim900 is a versatile module designed to enable microcontrollers to connect to mobile networks. It supports functionalities such as sending and receiving SMS, making voice calls, and accessing the internet via GPRS. This shield is based on the Sim900 GSM module and is compatible with a wide range of microcontrollers, including Arduino boards. Its compact design and robust features make it ideal for IoT applications, remote monitoring, and mobile communication projects.

Explore Projects Built with GSM Shield 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 Shield 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 Shield 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 Interface
Image of sim900a : A project utilizing GSM Shield 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
Arduino UNO and SIM900A GSM Module for Remote Communication
Image of gsm: A project utilizing GSM Shield 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

Explore Projects Built with GSM Shield 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 Shield 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 Shield 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 sim900a : A project utilizing GSM Shield 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
Image of gsm: A project utilizing GSM Shield 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

Common Applications and Use Cases

  • IoT devices requiring mobile network connectivity
  • Remote monitoring and control systems
  • SMS-based alert systems
  • Voice call-enabled projects
  • GPRS-based data transmission for internet access

Technical Specifications

Below are the key technical details of the GSM Shield Sim900:

Parameter Specification
Operating Voltage 5V (via Arduino) or 7-12V (external power)
Communication Interface UART (TX, RX)
Frequency Bands Quad-band: 850/900/1800/1900 MHz
GPRS Connectivity Class 10
SMS Support Text and PDU modes
Voice Call Support Full-duplex
Power Consumption Idle: ~10mA, Active: ~250mA, Peak: ~2A
Antenna External antenna required
Dimensions ~80mm x 55mm

Pin Configuration and Descriptions

The GSM Shield Sim900 connects to a microcontroller via its pin headers. Below is the pin configuration:

Pin Description
TX Transmit data (connect to RX of MCU)
RX Receive data (connect to TX of MCU)
GND Ground
VCC Power input (5V or external 7-12V)
D7 Power key (used to turn the module ON/OFF)
D8 Status indicator (HIGH when module is ON)
D9 Reset pin (optional, for hardware reset)

Usage Instructions

How to Use the GSM Shield Sim900 in a Circuit

  1. Powering the Shield:

    • Connect the shield to an Arduino or provide an external power supply (7-12V). Ensure the power source can handle peak currents of up to 2A.
    • Attach the external antenna to the SMA connector on the shield for proper signal reception.
  2. Connecting to a Microcontroller:

    • Connect the TX pin of the shield to the RX pin of the microcontroller and the RX pin of the shield to the TX pin of the microcontroller.
    • Connect the GND pin of the shield to the GND of the microcontroller.
  3. Turning ON the Module:

    • Use the power key (D7) to turn the module ON. Hold the key for 2-3 seconds to power up the module. The status pin (D8) will go HIGH when the module is ON.
  4. Sending AT Commands:

    • Use a serial communication interface (e.g., SoftwareSerial on Arduino) to send AT commands to the module for SMS, calls, or GPRS.

Important Considerations and Best Practices

  • Power Supply: Ensure the power supply can handle the peak current of 2A to avoid module resets or instability.
  • Antenna Placement: Place the antenna in an open area for better signal reception.
  • Baud Rate: The default baud rate of the Sim900 module is 9600. Configure your microcontroller accordingly.
  • SIM Card: Insert a valid SIM card with an active data plan for GPRS and SMS functionality.
  • Error Handling: Always check the response of the module to AT commands to ensure proper operation.

Example Code for Arduino UNO

Below is an example of how to send an SMS using the GSM Shield Sim900 with an Arduino UNO:

#include <SoftwareSerial.h>

// Define RX and TX pins for SoftwareSerial
SoftwareSerial gsmSerial(7, 8); // RX = 7, TX = 8

void setup() {
  // Initialize serial communication
  Serial.begin(9600); // For debugging
  gsmSerial.begin(9600); // For GSM module communication

  Serial.println("Initializing GSM module...");
  delay(1000);

  // Send AT command to check communication
  gsmSerial.println("AT");
  delay(1000);
  if (gsmSerial.available()) {
    Serial.println("GSM module is ready.");
  } else {
    Serial.println("No response from GSM module.");
  }

  // Send SMS
  sendSMS("+1234567890", "Hello from GSM Shield Sim900!");
}

void loop() {
  // Nothing to do here
}

void sendSMS(String phoneNumber, String message) {
  gsmSerial.println("AT+CMGF=1"); // Set SMS mode to text
  delay(1000);

  gsmSerial.print("AT+CMGS=\"");
  gsmSerial.print(phoneNumber);
  gsmSerial.println("\""); // Set recipient phone number
  delay(1000);

  gsmSerial.print(message); // Write the SMS content
  delay(1000);

  gsmSerial.write(26); // Send Ctrl+Z to send the SMS
  delay(5000);

  Serial.println("SMS sent!");
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. Module Not Responding to AT Commands:

    • Ensure the module is powered ON (status pin D8 should be HIGH).
    • Check the TX and RX connections between the shield and the microcontroller.
    • Verify the baud rate is set to 9600.
  2. Frequent Module Resets:

    • Use a power supply capable of providing at least 2A peak current.
    • Check for loose connections in the power supply.
  3. No Network Signal:

    • Ensure the SIM card is properly inserted and has an active plan.
    • Place the antenna in an open area with good signal coverage.
  4. SMS Not Sending:

    • Verify the phone number format (e.g., include the country code).
    • Check the SIM card balance and SMS service activation.

FAQs

Q: Can the GSM Shield Sim900 be used for internet access?
A: Yes, the shield supports GPRS for internet access. You can use AT commands like AT+SAPBR to configure GPRS settings.

Q: What is the maximum SMS length supported?
A: The module supports SMS messages up to 160 characters in text mode.

Q: Can I use the shield with a 3.3V microcontroller?
A: The shield operates at 5V logic levels. Use a level shifter to interface with 3.3V microcontrollers.

Q: How do I reset the module?
A: Use the reset pin (D9) or send the AT+CFUN=1,1 command to perform a software reset.