The SIM800L is a compact GSM/GPRS module that enables communication over cellular networks. It supports a wide range of functionalities, including SMS, voice calls, and data transmission via GPRS. This module is widely used in IoT applications, remote monitoring systems, and embedded projects requiring cellular connectivity. Its small size and low power consumption make it an excellent choice for portable and battery-powered devices.
Explore Projects Built with SIM800L
Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
This circuit integrates an Arduino UNO with a SIM800L GSM module, a photo diode light sensor, a relay, and an LED. The Arduino controls the relay and LED based on input from the light sensor and communicates with the SIM800L for GSM functionalities. Power is supplied by a lithium-ion battery, with a rocker switch for power control.
This circuit features an Arduino UNO microcontroller interfaced with a SIM 800L GSM module for communication purposes. The SIM 800L is powered by an LM2596 step-down module, which provides the necessary voltage regulation. The Arduino communicates with the SIM 800L via digital pins D2 and D3 for RX and TX respectively.
This circuit integrates an ESP8266 NodeMCU microcontroller with a SIM800L GSM module, a GPS NEO 6M module, and a 16x2 I2C LCD display for communication and location tracking. It also includes a pushbutton for user input, a piezo buzzer for audio alerts, and is powered by a 2x 18650 battery pack through an LM2596 step-down module.
This circuit consists of an Arduino UNO connected to a SIM 800L GSM module. The Arduino UNO communicates with the SIM 800L module via software serial to send and receive SMS messages, with the Arduino providing power and ground connections to the GSM module.
The SIM800L module is designed to operate efficiently in a variety of environments. Below are its key technical details:
Key Specifications
Parameter
Value
Operating Voltage
3.4V to 4.4V
Recommended Voltage
4.0V
Operating Current
20mA (idle), up to 2A (peak during TX)
Frequency Bands
Quad-band: 850/900/1800/1900 MHz
Communication Protocols
GSM, GPRS (Class 12)
Data Rate
GPRS: Up to 85.6 kbps
SIM Card Support
Micro SIM
Dimensions
25mm x 23mm x 3mm
Operating Temperature
-40°C to +85°C
Pin Configuration
The SIM800L module has several pins for power, communication, and control. Below is the pinout description:
Pin Name
Description
VCC
Power input (3.4V to 4.4V). Use a stable power source to avoid resets.
GND
Ground connection.
RXD
UART Receive pin. Connect to the TX pin of the microcontroller.
TXD
UART Transmit pin. Connect to the RX pin of the microcontroller.
RST
Reset pin. Active low. Pull low for at least 100ms to reset the module.
NET
Network status LED pin (blinks to indicate network activity).
DTR
Data Terminal Ready. Used for sleep mode control.
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.
Usage Instructions
How to Use the SIM800L in a Circuit
Power Supply: The SIM800L requires a stable power supply of 4.0V. Use a low-dropout regulator (LDO) or a DC-DC converter to step down from a higher voltage source. Ensure the power supply can handle peak currents of up to 2A.
Microcontroller Connection: Connect the RXD and TXD pins of the SIM800L to the TX and RX pins of your microcontroller, respectively. Use a logic level shifter if your microcontroller operates at 5V logic.
Antenna: Attach an external antenna to the module for better signal reception. Use a spring antenna or a PCB antenna with the appropriate connector.
SIM Card: Insert a micro SIM card into the SIM800L's SIM card slot. Ensure the SIM card is activated and has sufficient balance for SMS, calls, or data usage.
Network Status: Monitor the NET pin or onboard LED to check the network status. The LED blinks at different rates to indicate the connection state:
Fast blinking: Searching for a network.
Slow blinking: Connected to a network.
Example: Connecting SIM800L to Arduino UNO
Below is an example of how to send an SMS using the SIM800L module with an Arduino UNO:
Circuit Connections
SIM800L Pin
Arduino UNO Pin
VCC
External 4.0V
GND
GND
RXD
D2 (via voltage divider)
TXD
D3
Arduino Code
#include <SoftwareSerial.h>
// Define RX and TX pins for SoftwareSerial
SoftwareSerial SIM800L(2, 3); // RX = Pin 2, TX = Pin 3
void setup() {
// Initialize serial communication
Serial.begin(9600); // For debugging
SIM800L.begin(9600); // For SIM800L communication
Serial.println("Initializing SIM800L...");
delay(1000);
// 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);
SIM800L.println("\"");
delay(1000);
SIM800L.print(message);
delay(1000);
SIM800L.write(26); // Send Ctrl+Z to send the SMS
delay(5000);
Serial.println("SMS sent!");
}
Important Considerations
Power Supply: Ensure the power supply is capable of handling the module's peak current requirements. Use capacitors (e.g., 1000µF) to stabilize the voltage.
Antenna Placement: Place the antenna away from other components to avoid interference.
Logic Levels: Use a voltage divider or level shifter if your microcontroller operates at 5V logic.
Troubleshooting and FAQs
Common Issues and Solutions
Module Keeps Resetting
Cause: Insufficient power supply.
Solution: Use a power source capable of providing at least 2A peak current. Add capacitors to stabilize the voltage.
No Network Connection
Cause: Poor signal strength or incorrect SIM card.
Solution: Check the antenna connection and ensure the SIM card is activated and inserted correctly.
No Response to AT Commands
Cause: Incorrect UART connection or baud rate.
Solution: Verify the RX and TX connections. Ensure the baud rate matches the module's default (9600 bps).
SMS Not Sending
Cause: Incorrect SMS format or insufficient balance.
Solution: Ensure the SIM card has enough balance and the phone number is in the correct format.
FAQs
Q: Can the SIM800L work with a 5V power supply?
A: No, the SIM800L requires a voltage between 3.4V and 4.4V. Use a step-down regulator to provide the correct voltage.
Q: How do I reduce power consumption?
A: Use the DTR pin to enable sleep mode when the module is idle.
Q: What is the maximum data rate for GPRS?
A: The SIM800L supports a maximum GPRS data rate of 85.6 kbps.
Q: Can I use the SIM800L for voice calls?
A: Yes, the module supports voice calls. Connect a microphone and speaker to the MIC+/- and SPK+/- pins, respectively.
This concludes the documentation for the SIM800L module.