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

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

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

Introduction

The SIM900A GSM is a versatile GSM/GPRS module designed for communication over mobile networks. Manufactured by Ardino with the part ID "UNO," this module supports a wide range of communication protocols, including SMS, voice calls, and GPRS for internet connectivity. It is widely used in IoT applications, remote monitoring systems, and embedded projects requiring wireless communication.

Explore Projects Built with SIM900A GSM

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 for Remote Communication
Image of gsm: A project utilizing SIM900A GSM 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 Communication System
Image of srp: A project utilizing SIM900A GSM 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 SIM900A GSM 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 SIM900A GSM 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 SIM900A GSM

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 gsm: A project utilizing SIM900A GSM 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 srp: A project utilizing SIM900A GSM 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 SIM900A GSM 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 SIM900A GSM 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

  • Sending and receiving SMS messages
  • Making and receiving voice calls
  • Internet connectivity via GPRS
  • Remote monitoring and control in IoT systems
  • GPS tracking systems (when paired with GPS modules)
  • Home automation and security systems

Technical Specifications

The SIM900A GSM module is designed to operate efficiently in embedded systems. Below are its key technical details:

Key Technical Details

  • Operating Voltage: 3.2V to 4.8V (typical: 4.0V)
  • Operating Current: 1.5A (peak during transmission)
  • Frequency Bands: Dual-band GSM 900/1800 MHz
  • Communication Protocols: GSM, GPRS (Class 10)
  • Data Rate: Up to 85.6 kbps (GPRS)
  • SIM Interface: 1.8V/3V SIM card support
  • Serial Communication: UART (up to 115200 bps)
  • Operating Temperature: -40°C to +85°C
  • Dimensions: 24mm x 24mm x 3mm

Pin Configuration and Descriptions

The SIM900A GSM module has a standard pinout for easy integration into circuits. Below is the pin configuration:

Pin Name Pin Number Description
VCC 1 Power supply input (3.2V to 4.8V)
GND 2 Ground
TXD 3 UART Transmit pin (connect to RX of microcontroller)
RXD 4 UART Receive pin (connect to TX of microcontroller)
DTR 5 Data Terminal Ready (used for sleep mode control)
RST 6 Reset pin (active low)
SIM_VDD 7 SIM card power supply
SIM_DATA 8 SIM card data line
SIM_CLK 9 SIM card clock line
SIM_RST 10 SIM card reset line
NETLIGHT 11 Network status indicator (LED output)
PWRKEY 12 Power on/off control (active low)

Usage Instructions

The SIM900A GSM module is straightforward to use in embedded systems. Below are the steps and best practices for integrating it into your project.

How to Use the Component in a Circuit

  1. Power Supply:

    • Connect the VCC pin to a stable 4.0V power source.
    • Ensure the power supply can provide at least 2A to handle peak current during transmission.
    • Connect the GND pin to the ground of your circuit.
  2. UART Communication:

    • Connect the TXD pin of the SIM900A to the RX pin of your microcontroller (e.g., Arduino UNO).
    • Connect the RXD pin of the SIM900A to the TX pin of your microcontroller.
    • Set the UART baud rate to 9600 bps (default) or configure it as needed.
  3. Powering On:

    • Pull the PWRKEY pin low for at least 1 second to power on the module.
    • The NETLIGHT pin will blink to indicate network status:
      • Fast blinking: Searching for network
      • Slow blinking: Connected to network
  4. SIM Card:

    • Insert a valid SIM card into the SIM card slot.
    • Ensure the SIM card supports GSM 900/1800 MHz bands.
  5. Antenna:

    • Connect an external GSM antenna to the antenna connector for better signal reception.

Important Considerations and Best Practices

  • Use a decoupling capacitor (e.g., 100µF) near the VCC pin to stabilize the power supply.
  • Avoid placing the module near high-frequency components to reduce interference.
  • Use proper level shifters if interfacing with a 5V microcontroller, as the SIM900A operates at 3.3V logic levels.
  • Ensure the SIM card is activated and has sufficient balance for SMS, calls, or data usage.

Example Code for Arduino UNO

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

#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 with the SIM900A module
  SIM900A.begin(9600); // Default baud rate for SIM900A
  Serial.begin(9600);  // Serial monitor for debugging

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

  // Send AT command to check communication
  SIM900A.println("AT");
  delay(1000);
  if (SIM900A.available()) {
    Serial.println("SIM900A is ready!");
  } else {
    Serial.println("Failed to communicate with SIM900A.");
  }

  // Send an SMS
  sendSMS("+1234567890", "Hello from SIM900A!");
}

void loop() {
  // Nothing to do in the loop
}

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

  // Specify the recipient's phone number
  SIM900A.print("AT+CMGS=\"");
  SIM900A.print(phoneNumber);
  SIM900A.println("\"");
  delay(1000);

  // Send the message
  SIM900A.print(message);
  delay(1000);

  // End the message with Ctrl+Z (ASCII 26)
  SIM900A.write(26);
  delay(5000);

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

Troubleshooting and FAQs

Common Issues and Solutions

  1. Module Not Responding to AT Commands:

    • Ensure the PWRKEY pin is pulled low for at least 1 second to power on the module.
    • Check the UART connections (TXD and RXD) between the module and microcontroller.
    • Verify the baud rate is set correctly (default: 9600 bps).
  2. No Network Connection:

    • Ensure the SIM card is properly inserted and activated.
    • Check the antenna connection for proper signal reception.
    • Verify the module supports the GSM frequency bands of your region.
  3. SMS Not Sending:

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

    • Check the power supply for stability and ensure it can provide at least 2A.

FAQs

Q: Can the SIM900A work with 5V microcontrollers like Arduino UNO?
A: Yes, but you need to use level shifters or voltage dividers for the UART pins, as the SIM900A operates at 3.3V logic levels.

Q: Does the SIM900A support 4G networks?
A: No, the SIM900A only supports GSM 900/1800 MHz bands and GPRS for data communication.

Q: How can I check the signal strength?
A: Use the AT command AT+CSQ. The module will return a signal strength value (e.g., +CSQ: 20,0).

Q: Can I use the SIM900A for GPS tracking?
A: The SIM900A does not have built-in GPS functionality, but it can be paired with a GPS module for tracking applications.