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.
The GSM SIM900A module is designed to operate efficiently in a variety of environments. Below are its 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 |
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 |
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:
AT
to check if the module is responding.Below is an example of how to send an SMS using the GSM SIM900A 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
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
}
Module Not Responding to AT Commands
No Network Signal
SMS Not Sending
Module Restarts Frequently
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.