

The SIM800L is a compact GSM/GPRS module that enables communication over mobile networks. It supports SMS, voice calls, and data transmission, making it an excellent choice for IoT applications, remote monitoring, and embedded systems requiring wireless connectivity. Its small size and low power consumption make it ideal for portable and battery-powered devices.








The SIM800L module is designed to operate efficiently in a variety of environments. Below are its key technical details:
| Parameter | Value |
|---|---|
| Operating Voltage | 3.4V to 4.4V |
| Recommended Voltage | 4.0V |
| Power Consumption | Idle: ~1mA, Active: ~200mA, Peak: ~2A |
| Frequency Bands | Quad-band: 850/900/1800/1900 MHz |
| Communication Protocols | GSM, GPRS (Class 12) |
| Data Transmission Speed | Up to 85.6 kbps |
| SIM Card Support | Micro SIM |
| Operating Temperature | -40°C to +85°C |
| Dimensions | 25mm x 23mm x 3mm |
The SIM800L module typically has 12 pins. Below is the pinout and description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | NET | Network status indicator (blinks to indicate GSM status) |
| 2 | VCC | Power supply input (3.4V to 4.4V, recommended 4.0V) |
| 3 | GND | Ground connection |
| 4 | RST | Reset pin (active low, pull low to reset the module) |
| 5 | RXD | UART Receive pin (connect to TX of microcontroller) |
| 6 | TXD | UART Transmit pin (connect to RX of microcontroller) |
| 7 | DTR | Data Terminal Ready (used for sleep mode control) |
| 8 | MIC+ | Microphone positive input |
| 9 | MIC- | Microphone negative input |
| 10 | SPK+ | Speaker positive output |
| 11 | SPK- | Speaker negative output |
| 12 | ANT | Antenna connection (external antenna required for GSM signal reception) |
Below is an example of how to send an SMS using the SIM800L module and an Arduino UNO:
| SIM800L Pin | Arduino UNO Pin |
|---|---|
| VCC | External 4.0V |
| GND | GND |
| RXD | Pin 10 (via level shifter if needed) |
| TXD | Pin 11 |
| RST | Pin 9 |
#include <SoftwareSerial.h>
// Define RX and TX pins for SoftwareSerial
SoftwareSerial sim800l(10, 11); // RX = Pin 10, TX = Pin 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 SMS
sendSMS("+1234567890", "Hello from SIM800L!");
}
void loop() {
// Nothing to do here
}
void sendSMS(String phoneNumber, String message) {
sim800l.println("AT+CMGF=1"); // Set SMS mode to text
delay(1000);
sim800l.print("AT+CMGS=\"");
sim800l.print(phoneNumber); // Set recipient phone number
sim800l.println("\"");
delay(1000);
sim800l.print(message); // Write the SMS content
delay(1000);
sim800l.write(26); // Send Ctrl+Z to send the SMS
delay(5000);
Serial.println("SMS sent!");
}
No Response from the Module:
Module Restarts During Operation:
No GSM Signal:
SMS Not Sending:
Q: Can I power the SIM800L directly from a 5V source?
A: No, the SIM800L operates at 3.4V to 4.4V. Use a voltage regulator to step down from 5V.
Q: How do I reduce power consumption?
A: Use the DTR pin to enable sleep mode when the module is idle.
Q: Can the SIM800L connect to the internet?
A: Yes, the SIM800L supports GPRS for basic internet connectivity. You can use AT commands to configure and establish a GPRS connection.
Q: What type of antenna should I use?
A: Use a GSM-compatible antenna with an appropriate connector for the SIM800L module.