

The SIM800L V2 is a compact GSM/GPRS module manufactured by RoHS. It enables communication over cellular networks, supporting SMS, voice calls, and data transmission. This module is widely used in IoT applications, remote monitoring systems, and embedded projects requiring wireless connectivity. Its small size and low power consumption make it an excellent choice for portable and battery-powered devices.








The SIM800L V2 module is designed to operate efficiently in a variety of environments. Below are its key technical details:
| Parameter | Specification |
|---|---|
| Operating Voltage | 3.7V to 4.2V |
| Recommended Voltage | 4.0V |
| Power Consumption | Idle: ~1mA, Active: ~200mA, Peak: ~2A |
| Frequency Bands | GSM 850/900/1800/1900 MHz |
| Data Transmission | GPRS Class 12, up to 85.6 kbps |
| SMS Support | Text and PDU modes |
| Voice Call Support | Full-duplex |
| Dimensions | 25mm x 23mm x 3mm |
| Operating Temperature | -40°C to +85°C |
The SIM800L V2 module has 8 pins. Below is the pinout and description:
| Pin Name | Pin Number | Description |
|---|---|---|
| VCC | 1 | Power input (3.7V to 4.2V). Use a stable power source to avoid resets. |
| GND | 2 | Ground connection. |
| RXD | 3 | UART Receive pin. Connect to the TX pin of the microcontroller. |
| TXD | 4 | UART Transmit pin. Connect to the RX pin of the microcontroller. |
| RST | 5 | Reset pin. Active LOW. Pull LOW for 100ms to reset the module. |
| NET | 6 | Network status LED output. Blinks to indicate GSM network status. |
| DTR | 7 | Data Terminal Ready. Used for sleep mode control. |
| MIC+ | 8 | Microphone positive input for voice calls. |
Power Supply:
Microcontroller Connection:
Antenna:
SIM Card:
Reset:
Below is an example of how to send an SMS using the SIM800L V2 with an Arduino UNO:
#include <SoftwareSerial.h>
// Define RX and TX pins for SoftwareSerial
SoftwareSerial sim800l(10, 11); // RX = 10, TX = 11
void setup() {
// Initialize serial communication
Serial.begin(9600); // For debugging
sim800l.begin(9600); // For SIM800L communication
// Wait for the module to initialize
delay(1000);
Serial.println("Initializing SIM800L...");
// Send AT command to check communication
sim800l.println("AT");
delay(1000);
if (sim800l.available()) {
Serial.println("SIM800L is ready!");
} else {
Serial.println("No response from SIM800L.");
}
// Send an SMS
sendSMS("+1234567890", "Hello from SIM800L!");
}
void loop() {
// Nothing to do here
}
// Function to send an SMS
void sendSMS(String phoneNumber, String message) {
sim800l.println("AT+CMGF=1"); // Set SMS mode to text
delay(1000);
sim800l.println("AT+CMGS=\"" + phoneNumber + "\""); // Set recipient
delay(1000);
sim800l.print(message); // Write the message
delay(1000);
sim800l.write(26); // Send Ctrl+Z to send the SMS
delay(5000);
Serial.println("SMS sent!");
}
Module Keeps Resetting:
No Network Connection:
No Response to AT Commands:
SMS Not Sending:
Can the SIM800L V2 work with 5V logic levels?
What is the default baud rate of the SIM800L V2?
Can I use the SIM800L V2 for internet access?
How do I check the network signal strength?
AT+CSQ. The module will return a signal strength value.By following this documentation, you can effectively integrate the SIM800L V2 into your projects and troubleshoot common issues.