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

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

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

Introduction

The GSM SIM900A is a compact and reliable GSM/GPRS module designed for communication over mobile networks. It supports dual-band GSM (900/1800 MHz) and provides functionalities such as sending and receiving SMS, making voice calls, and accessing the internet via GPRS. The module is widely used in IoT applications, remote monitoring systems, home automation, and vehicle tracking systems due to its versatility and ease of integration.

Explore Projects Built with GSM SIM900A

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 SIM900A 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 SIM900A 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 SIM900A 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 SIM900A 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 SIM900A

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 SIM900A 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 SIM900A 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 SIM900A 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 SIM900A 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

  • Internet of Things (IoT) devices for remote communication
  • SMS-based alert and notification systems
  • Voice call-enabled embedded systems
  • GPS tracking and vehicle monitoring
  • Home automation and security systems
  • Industrial automation and telemetry

Technical Specifications

The GSM SIM900A module is designed to operate efficiently in a variety of environments. Below are its key technical details:

Key Technical Details

Parameter Specification
Operating Voltage 3.2V to 4.8V (Typical: 4.0V)
Operating Current Idle: ~20mA, Active: ~200mA, Peak: 2A
Frequency Bands GSM 900/1800 MHz
Communication Protocols GSM, GPRS (Class 10)
Data Transmission Rate Uplink: 85.6 kbps, Downlink: 85.6 kbps
SIM Interface 1.8V/3V SIM card support
Operating Temperature -40°C to +85°C
Dimensions 24mm x 24mm x 3mm

Pin Configuration and Descriptions

The SIM900A module typically comes with a breakout board for easier integration. Below is the pin configuration:

Pin Number Pin Name Description
1 VCC Power supply input (3.2V to 4.8V)
2 GND Ground connection
3 TXD Transmit data (UART output)
4 RXD Receive data (UART input)
5 DTR Data Terminal Ready (used for sleep mode control)
6 RST Reset pin (active low)
7 MIC+ Microphone positive input for voice calls
8 MIC- Microphone negative input for voice calls
9 SPK+ Speaker positive output for voice calls
10 SPK- Speaker negative output for voice calls
11 NETLIGHT Network status indicator (blinks to show GSM status)
12 SIM_VDD SIM card power supply
13 SIM_DATA SIM card data line
14 SIM_CLK SIM card clock line
15 SIM_RST SIM card reset line

Usage Instructions

The GSM SIM900A module can be easily integrated into a circuit for communication purposes. Below are the steps and best practices for using the module:

How to Use the Component in a Circuit

  1. Power Supply: Connect the VCC pin to a stable 4.0V power source and GND to ground. Ensure the power supply can handle peak currents of up to 2A.
  2. UART Communication: Connect the TXD and RXD pins to the UART pins of a microcontroller (e.g., Arduino UNO). Use a logic level converter if the microcontroller operates at 5V logic.
  3. SIM Card: Insert a valid SIM card into the SIM card slot. Ensure the SIM card is activated and has sufficient balance for SMS, calls, or data usage.
  4. Antenna: Attach a GSM antenna to the module for better signal reception.
  5. Initialization: Use AT commands to initialize the module and configure its settings. For example, send AT to check if the module is responding.

Important Considerations and Best Practices

  • Use decoupling capacitors near the power supply pins to stabilize the voltage.
  • Ensure the antenna is securely connected to avoid signal issues.
  • Avoid placing the module near high-frequency components to reduce interference.
  • Use proper heat dissipation techniques if the module operates in high-temperature environments.

Example: Connecting to an Arduino UNO

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

Circuit Connections

  • Connect SIM900A TXD to Arduino RX (Pin 0).
  • Connect SIM900A RXD to Arduino TX (Pin 1).
  • Connect SIM900A VCC to a 4.0V power source and GND to ground.

Arduino Code

#include <SoftwareSerial.h>

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

void setup() {
  // Initialize serial communication
  Serial.begin(9600); // For communication with the PC
  SIM900A.begin(9600); // For communication with the SIM900A module

  // Wait for the module to initialize
  delay(1000);
  Serial.println("Initializing SIM900A...");

  // Send AT command to check module response
  SIM900A.println("AT");
  delay(1000);
  while (SIM900A.available()) {
    Serial.write(SIM900A.read()); // Print module response to Serial Monitor
  }

  // Send SMS command
  SIM900A.println("AT+CMGF=1"); // Set SMS mode to text
  delay(1000);
  SIM900A.println("AT+CMGS=\"+1234567890\""); // Replace with recipient's phone number
  delay(1000);
  SIM900A.println("Hello, this is a test SMS from SIM900A!"); // SMS content
  delay(1000);
  SIM900A.write(26); // Send Ctrl+Z to send the SMS
  delay(1000);
  Serial.println("SMS sent!");
}

void loop() {
  // No actions in the loop
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. Module Not Responding to AT Commands

    • Ensure the module is powered correctly and the SIM card is inserted.
    • Check the UART connections and baud rate settings.
  2. No Network Signal

    • Verify that the antenna is connected securely.
    • Check if the SIM card is activated and has network coverage.
  3. SMS Not Sending

    • Ensure the SIM card has sufficient balance.
    • Verify the recipient's phone number format (e.g., include the country code).
  4. Module Restarts Frequently

    • Check if the power supply can handle peak currents of up to 2A.
    • Use a capacitor (e.g., 1000µF) near the power pins to stabilize the voltage.

FAQs

Q: Can the SIM900A module be used with 5V microcontrollers?
A: Yes, but you need a logic level converter to interface the 3.3V UART pins with 5V logic.

Q: Does the module support 4G networks?
A: No, the SIM900A only supports GSM (2G) networks.

Q: How can I check the signal strength?
A: Use the AT command AT+CSQ. The module will return a signal strength value.

Q: Can I use the module for internet access?
A: Yes, the SIM900A supports GPRS for basic internet connectivity. Use AT commands to configure GPRS settings.