The SIM900A GSM Module is a compact and reliable GSM/GPRS module designed for communication over mobile networks. It enables devices to send and receive SMS, make voice calls, and connect to the internet using GPRS. This module is widely used in IoT applications, remote monitoring systems, and embedded projects requiring wireless communication.
The SIM900A GSM 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, Max: ~2A (during TX burst) |
Frequency Bands | Dual-band GSM 900/1800 MHz |
Communication Interface | UART (3.3V TTL logic) |
GPRS Connectivity | Class 10 |
SMS Support | Text and PDU modes |
Voice Call Support | Full-duplex |
Dimensions | 24mm x 24mm x 3mm |
Operating Temperature | -40°C to +85°C |
The SIM900A module typically comes with a breakout board for easier interfacing. 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 (3.3V TTL logic) |
RXD | 4 | UART Receive (3.3V TTL logic) |
DTR | 5 | Sleep mode control (optional) |
RST | 6 | Reset pin (active low) |
MIC+ | 7 | Microphone positive input |
MIC- | 8 | Microphone negative input |
SPK+ | 9 | Speaker positive output |
SPK- | 10 | Speaker negative output |
ANT | - | Antenna connector for GSM signal |
Below is an example of how to send an SMS using the 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() {
Serial.begin(9600); // Initialize Serial Monitor
SIM900A.begin(9600); // Initialize SIM900A module
delay(1000); // Allow module to stabilize
// Send AT command to check communication
SIM900A.println("AT");
delay(1000);
if (SIM900A.available()) {
Serial.println("SIM900A is ready!");
} else {
Serial.println("No response from SIM900A.");
}
// Send SMS
SIM900A.println("AT+CMGF=1"); // Set SMS mode to text
delay(1000);
SIM900A.println("AT+CMGS=\"+1234567890\""); // Replace with recipient's 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(5000);
}
void loop() {
// No actions in loop
}
No Response from the Module
SIM Card Not Detected
Weak Signal or No Network
AT Commands Not Working
Can the SIM900A work with 5V logic?
What is the maximum SMS length supported?
Can I use the SIM900A for internet browsing?
How do I reset the module?
By following this documentation, you can effectively integrate the SIM900A GSM Module into your projects and troubleshoot common issues.