
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.

The SIM900A GSM module, manufactured by SIMCOM (Part ID: SIM900A), is a compact and powerful device designed for communication over GSM networks. It supports functionalities such as SMS, voice calls, and GPRS data transmission. This module is widely used in IoT applications, remote monitoring systems, and embedded projects requiring reliable wireless 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.

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.

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.

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.
| Parameter | Value |
|---|---|
| Operating Voltage | 3.2V to 4.8V (Typical: 4.0V) |
| Operating Current | Idle: ~20mA, Active: ~200mA, Peak: ~2A |
| Frequency Bands | Dual-band GSM 900/1800 MHz |
| Communication Protocols | AT Commands (via UART) |
| GPRS Connectivity | Class 10, Max. 85.6 kbps (downlink) |
| SMS Support | Text and PDU modes |
| Voice Support | Full-duplex voice communication |
| 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 | Description |
|---|---|
| VCC | Power supply input (3.2V to 4.8V). |
| GND | Ground connection. |
| TXD | Transmit data pin (UART output). Connects to RX of the microcontroller. |
| RXD | Receive data pin (UART input). Connects to TX of the microcontroller. |
| DTR | Data Terminal Ready. Used for sleep mode control (optional). |
| RST | Reset pin. Active low, used to reset the module. |
| MIC+ | Microphone positive input for voice communication. |
| MIC- | Microphone negative input for voice communication. |
| SPK+ | Speaker positive output for voice communication. |
| SPK- | Speaker negative output for voice communication. |
| NET | Network status LED pin (blinks to indicate GSM network status). |
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 SIM900(7, 8); // RX = Pin 7, TX = Pin 8
void setup() {
// Initialize serial communication
Serial.begin(9600); // For debugging
SIM900.begin(9600); // For SIM900A communication
// Wait for the module to initialize
delay(1000);
Serial.println("Initializing SIM900A...");
// Send AT command to check communication
SIM900.println("AT");
delay(1000);
if (SIM900.available()) {
Serial.println("SIM900A is ready!");
}
// Send SMS
sendSMS("+1234567890", "Hello from SIM900A!");
}
void loop() {
// Nothing to do here
}
void sendSMS(String phoneNumber, String message) {
SIM900.println("AT+CMGF=1"); // Set SMS mode to text
delay(1000);
SIM900.print("AT+CMGS=\"");
SIM900.print(phoneNumber);
SIM900.println("\"");
delay(1000);
SIM900.print(message); // Message content
delay(1000);
SIM900.write(26); // Send Ctrl+Z to send the SMS
delay(5000);
Serial.println("SMS sent!");
}
Module Not Responding to AT Commands:
No Network Connection:
Module Restarts During Operation:
SMS Not Sending:
AT+CMGF=1) and the SIM card has sufficient balance.Q: Can the SIM900A module connect to 3G or 4G networks?
A: No, the SIM900A only supports GSM 900/1800 MHz bands.
Q: What is the maximum baud rate supported by the SIM900A?
A: The SIM900A supports baud rates up to 115200 bps.
Q: Can I use the SIM900A module for GPS tracking?
A: No, the SIM900A does not have GPS functionality. Use a dedicated GPS module for tracking.
Q: How do I reset the module?
A: Pull the RST pin low for at least 100ms to reset the module.
This documentation provides a comprehensive guide to using the SIM900A GSM module effectively. For further details, refer to the official SIMCOM datasheet.