The GSM SIM900 module is a versatile cellular modem that enables GSM/GPRS communication for embedded projects. It allows devices to connect to the internet, make or receive voice calls, and send or receive SMS messages using a mobile network. This module is widely used in IoT applications, remote data logging, security systems, and mobile communication solutions.
The GSM SIM900 module is designed to operate with a wide range of microcontrollers and microprocessors. Below are the key technical specifications:
Specification | Description |
---|---|
Power Supply | 3.4V - 4.5V DC |
Communication | GSM/GPRS |
Frequency Bands | Quad-Band 850/900/1800/1900 MHz |
GPRS Data | Downlink/uplink transfer: max 85.6 kbps |
SMS | Text and PDU modes |
Audio | Supports voice calls with external microphone and speaker |
Serial Interface | Asynchronous serial port, up to 115.2 kbps |
SIM Card | Supports 1.8V/3V SIM card |
Antenna Interface | 50 Ω SMA connector |
Control via AT commands | Standard and enhanced AT command set |
Pin Number | Name | Description |
---|---|---|
1 | VCC | Power supply input (3.4V - 4.5V DC) |
2 | RST | Reset pin, active low |
3 | RXD | Serial data receive pin |
4 | TXD | Serial data transmit pin |
5 | GND | Ground |
6 | RI | Ring indicator, indicates incoming call/SMS |
7 | DTR | Data Terminal Ready, used for sleep mode |
#include <SoftwareSerial.h>
SoftwareSerial sim900(7, 8); // RX, TX
void setup() {
// Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
Serial.begin(9600);
// Begin serial communication with SIM900 and set baud rate
sim900.begin(9600);
// AT command to set SIM900 to SMS mode
sim900.print("AT+CMGF=1\r");
delay(100);
// Set module to send SMS data to serial out upon receipt
sim900.print("AT+CNMI=2,2,0,0,0\r");
delay(100);
}
void loop() {
// Check if the SIM900 is sending a message
if(sim900.available()){
Serial.write(sim900.read());
}
// Check if the Serial Monitor is sending a message
if(Serial.available()){
sim900.write(Serial.read());
}
}
Q: Can I use the SIM900 module to connect to the internet? A: Yes, the SIM900 module supports GPRS for internet connectivity.
Q: How do I send an SMS using the SIM900 module? A: You can send an SMS by issuing the appropriate AT commands through the serial interface.
Q: What should I do if the module does not register on the network? A: Check the SIM card insertion, network coverage, and antenna connection. Also, ensure that the SIM card has not been locked with a PIN code.
Q: Can I use the SIM900 module with a 5V microcontroller like Arduino UNO? A: Yes, but you may need a level shifter or voltage divider as the SIM900 typically operates at 3.4V - 4.5V.
Q: How can I reduce the power consumption of the SIM900 module? A: Utilize the sleep mode by controlling the DTR pin and minimizing the active time of the module.