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

How to Use gsm sim 900A: Examples, Pinouts, and Specs

Image of gsm sim 900A
Cirkit Designer LogoDesign with gsm sim 900A in Cirkit Designer

Introduction

The GSM SIM 900A is a versatile GSM/GPRS module designed for communication over mobile networks. It supports a wide range of communication protocols, including SMS, voice calls, and GPRS for internet connectivity. This module is widely used in IoT applications, remote monitoring systems, home automation, and other projects requiring wireless communication. Its compact size and reliable performance make it a popular choice for developers and engineers.

Explore Projects Built with gsm sim 900A

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 sim 900A 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 sim 900A 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 sim 900A 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 sim 900A 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 sim 900A

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 sim 900A 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 sim 900A 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 sim 900A 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 sim 900A 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:

  • Sending and receiving SMS messages
  • Making and receiving voice calls
  • Internet connectivity via GPRS
  • IoT applications such as smart meters, GPS trackers, and remote monitoring
  • Home automation systems
  • Industrial automation and control systems

Technical Specifications

Below are the key technical details of the GSM SIM 900A module:

Parameter Specification
Operating Voltage 3.2V - 4.8V (Typical: 4.2V)
Operating Current Idle: ~20mA, Active: ~200mA, Peak: ~2A
Frequency Bands Dual-band GSM 900/1800 MHz
Communication Protocols GSM, GPRS (Class 10)
Baud Rate Configurable (Default: 9600 bps)
SIM Card Support 1.8V and 3V SIM cards
Operating Temperature -40°C to +85°C
Dimensions 24mm x 24mm x 3mm

Pin Configuration and Descriptions

The GSM SIM 900A module typically has the following pin configuration:

Pin Name Description
VCC Power supply input (3.2V - 4.8V)
GND Ground
TXD Transmit data (UART communication)
RXD Receive data (UART communication)
DTR Data Terminal Ready (used for sleep mode control)
RST Reset pin (active low)
MIC+ Microphone input positive
MIC- Microphone input negative
SPK+ Speaker output positive
SPK- Speaker output negative
NET Network status indicator (blinking LED connection)

Usage Instructions

How to Use the GSM SIM 900A in a Circuit

  1. Power Supply: Ensure the module is powered with a stable voltage between 3.2V and 4.8V. A 4.2V power source is recommended for optimal performance. Use a capacitor (e.g., 1000µF) near the power pins to handle peak current demands.
  2. 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.
  3. UART Communication: Connect the TXD and RXD pins of the module to the RX and TX pins of your microcontroller (e.g., Arduino UNO). Use a logic level converter if your microcontroller operates at 5V logic levels.
  4. Antenna: Attach a GSM antenna to the module for better signal reception.
  5. Network Status: Connect an LED to the NET pin to monitor network status. The LED will blink at different rates to indicate the module's status (e.g., searching for a network, connected, etc.).

Important Considerations and Best Practices

  • Use a power supply capable of providing at least 2A peak current to avoid unexpected resets during operation.
  • Place the GSM antenna away from other electronic components to minimize interference.
  • Ensure proper grounding to avoid noise and communication issues.
  • Use AT commands to configure and control the module. These commands can be sent via UART.

Example: Connecting GSM SIM 900A to Arduino UNO

Below is an example of how to send an SMS using the GSM SIM 900A module and Arduino UNO:

Circuit Connections:

  • GSM SIM 900A TXDArduino UNO RX (Pin 10)
  • GSM SIM 900A RXDArduino UNO TX (Pin 11)
  • GSM SIM 900A VCC4.2V Power Supply
  • GSM SIM 900A GNDArduino GND

Arduino Code:

#include <SoftwareSerial.h>

// Define RX and TX pins for SoftwareSerial
SoftwareSerial gsm(10, 11); // RX = Pin 10, TX = Pin 11

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

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

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

  // Send SMS
  sendSMS("+1234567890", "Hello from GSM SIM 900A!");
}

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

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

  gsm.print("AT+CMGS=\"");  // Command to send SMS
  gsm.print(phoneNumber);  // Recipient's phone number
  gsm.println("\"");
  delay(1000);

  gsm.print(message);      // SMS content
  delay(1000);

  gsm.write(26);           // ASCII code for CTRL+Z to send SMS
  delay(5000);

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

Notes:

  • Replace +1234567890 with the recipient's phone number.
  • Ensure the GSM module is connected to a network before sending SMS.

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 properly.
    • Check the TXD and RXD connections between the module and the microcontroller.
    • Verify the baud rate (default is 9600 bps).
  2. Frequent Resets or Unstable Operation:

    • Use a power supply capable of providing at least 2A peak current.
    • Add a capacitor (e.g., 1000µF) near the power pins to stabilize the voltage.
  3. No Network Connection:

    • Check the SIM card for activation and sufficient balance.
    • Ensure the antenna is securely connected and positioned for optimal signal reception.
    • Verify that the module supports the frequency bands of your local network.
  4. SMS Not Sending:

    • Ensure the module is connected to the network (check the NET pin LED status).
    • Verify the phone number format (e.g., include the country code).

FAQs

Q: Can the GSM SIM 900A module be used for internet connectivity?
A: Yes, the module supports GPRS for internet connectivity. You can use AT commands like AT+SAPBR and AT+HTTP to establish a GPRS connection and perform HTTP requests.

Q: Does the module support 4G networks?
A: No, the GSM SIM 900A is a 2G module and supports GSM 900/1800 MHz frequency bands.

Q: How can I reduce power consumption?
A: Use the DTR pin to enable sleep mode when the module is idle. This significantly reduces power consumption.

Q: Can I use the module with a 5V microcontroller?
A: Yes, but you need a logic level converter to interface the 5V microcontroller with the module's 3.3V UART pins.