SIM800L troubleshooting guide

SIM800L Troubleshooting guide – Solution when you have problem with SIM800L

This article is referenced to video on our youtube channel below :

Wiring Diagram

Arduino with SIM800L wiring

This is the sketch used to forward serial data from the serial monitor to SIM800L and also SIM800L to the serial monitor with Arduino Uno or nano

#include <SoftwareSerial.h>

SoftwareSerial mySerial(3, 2); // RX, TX

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  mySerial.begin(9600);
}

void loop() {
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

If you are using Arduino Mega, you can use the sketch below. But you should connect the RX and TX pin to serial1 of Arduino mega.

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  Serial1.begin(9600);
}

void loop() {
  if (Serial1.available()) {
    Serial.write(Serial1.read());
  }
  if (Serial.available()) {
    Serial1.write(Serial.read());
  }
}

And here’s the AT commands list used in the video.

AT
AT+CPIN?
AT+CREG?
AT+COPS?
AT+CSQ

AT+CMGF=1
AT+CMGS=”phone number”

AT+SAPBR=3,1,"Contype","GPRS" 
AT+CSTT="3gprs","3gprs","3gprs"
AT+SAPBR=1,1 
AT+SAPBR=2,1