The SIM800L V2.0 GSM module by Simcom Wireless is a compact and versatile cellular module that provides GSM/GPRS functionality for voice, data, and SMS communication. This module operates on quad-band frequencies, making it suitable for global mobile network applications. It is commonly used in IoT projects, remote data logging, security systems, and mobile communication devices due to its small form factor and comprehensive feature set.
Pin Number | Pin Name | Description |
---|---|---|
1 | VCC | Power supply input (3.4V to 4.4V) |
2 | RST | Reset pin, active low |
3 | RXD | UART receive pin |
4 | TXD | UART transmit pin |
5 | GND | Ground |
6 | DTR | Data Terminal Ready, sleep mode control pin |
7 | RI | Ring Indicator, indicates incoming call/SMS |
8 | MIC+ | Positive terminal for microphone input |
9 | MIC- | Negative terminal for microphone input |
10 | SPK+ | Positive terminal for speaker output |
11 | SPK- | Negative terminal for speaker output |
Power Supply: Connect a stable power source of 3.4V to 4.4V to the VCC and GND pins. Ensure that the power supply can deliver sufficient current for the module's operation.
UART Communication: Connect the RXD and TXD pins to the corresponding TX and RX pins of a microcontroller, such as an Arduino UNO, for serial communication.
Microphone and Speaker: If voice functionality is required, connect a microphone to the MIC+ and MIC- pins and a speaker to the SPK+ and SPK- pins.
Antenna: Attach a suitable GSM antenna to the module's antenna connector for cellular network access.
SIM Card: Insert a SIM card with an active subscription into the SIM card holder.
#include <SoftwareSerial.h>
SoftwareSerial sim800l(10, 11); // RX, TX
void setup() {
sim800l.begin(9600); // Set baud rate for the software serial port
Serial.begin(9600); // Set baud rate for the hardware serial port (to PC)
delay(1000);
Serial.println("Initializing...");
sim800l.println("AT"); // Send AT command to check communication
}
void loop() {
if (sim800l.available()) { // Check if the module is sending a message
Serial.write(sim800l.read()); // Display the message on the serial monitor
}
if (Serial.available()) { // Check if a message is received from the serial monitor
sim800l.write(Serial.read()); // Send the message to the module
}
}
Q: Can the SIM800L module be used with a 5V microcontroller like Arduino UNO? A: Yes, but a level shifter or voltage divider is recommended for the RX and TX lines to protect the module from higher voltage levels.
Q: How can I reduce the power consumption of the module? A: Utilize the DTR pin to put the module into sleep mode when not in use.
Q: What should I do if I can't send SMS or make calls? A: Check the SIM card balance and service status. Ensure that the correct AT commands are being used and that the module has registered to the network.