Sim800l didnt respond to my arduino uno

Hello.
in this code: Use code tags to format code for the forum

#include <SoftwareSerial.h>

// Define the software serial pins for communication with SIM800L
SoftwareSerial sim800(10, 11); // RX, TX

void setup() {
  // Start serial communication with SIM800L
  sim800.begin(9600);
  
  // Start serial communication with Arduino IDE Serial Monitor
  Serial.begin(9600);
  Serial.println("Starting SIM800L communication...");

  delay(1000); // Wait for SIM800L to stabilize
  
  // Check if SIM800L is responding
  sendATCommand("AT");
  delay(1000);
  
  // Additional AT commands for debugging
  sendATCommand("AT+CSQ"); // Check signal quality
  delay(1000);
  sendATCommand("AT+CREG?"); // Check network registration status
  delay(1000);
}

void loop() {
  // Your main code here
}

// Function to send AT commands and print the response
void sendATCommand(const char* command) {
  Serial.print("Sending command: ");
  Serial.println(command);
  sim800.println(command);
  delay(1000);
  
  Serial.print("Response: ");
  while (sim800.available()) {
    Serial.write(sim800.read());
  }
  Serial.println();
}

In serial monitor it apear only :slight_smile: Sending command: AT
Response:
Sending command: AT+CSQ
Response:
Sending command: AT+CREG?
Response:
Building sketch
Ln 4, Col 29
Arduino Uno
on COM3 [not connected]
.
Sim800l led blink ever 3 second.
Can anyone help me please where is the problem
1

2 - VCC - Power supply pin, 3.4V to 4.4V input

any help please where is the problem ?

try using AltSoftSerial which can simultaneously transmit and receive
try this simple code where AT commands can be entered and see response

// UNO SIM800l AltSoftSerial basic AT commands test 

#include <AltSoftSerial.h>

// UNO SIM800l connection for basic AT command test 
//  use external power supply for transmit/receive communications
//SIM800L 5V  POWER to UNO 5V
//SIM800L GND POWER to UNO GND
//SIM800L VDD to UNO 5V
//SIM800L TXD to UNO RX pin 8
//SIM800L RXD to UNO TX pin 9
//SIM800L UART TTL GND and RST not connected

// Mega SIM800 test - note preferable to use a hardware serial port
//SIM800L TXD to Mega RX pin 48
//SIM800L RXD to Mega TX pin 46

// taking the RST pin to GND for a couple of seconds which will reset the device

//  RS232 shield 
//   RS232 TXD to UNO pin 9
//   RS232 RXD to UNO pin 8

// basic AT commands
// AT returns OK
// AT+CGMI  returns the manufacturer's name
// AT+CGMM returns the MODEM model number
// AT+CGMR returns details of the software and model revision level
// AT+CGSN returns the MODEM's serial number

AltSoftSerial simSerial;

void setup() {
  Serial.begin(115200);
  Serial.println("AltSoftSerial test");
  //Begin serial communication with Arduino and SIM800L
  simSerial.begin(9600);    // set to default baudrate
  Serial.println("SIM module intialized");
}

void loop() {
  if (Serial.available()) {
    char command = Serial.read();
    //Serial.println(command);
    simSerial.print(command);
  }
  while (simSerial.available()) {
    char reponse = simSerial.read();
    Serial.print(reponse);
  }
}

e.g. sample output when SIM800 connected to a UNO

AT
OK
AT+CGMI
SIMCOM_Ltd
OK
AT+CGMM
SIMCOM_SIM800L

You did not read?

Thanks xfpd but again no respond.
Sim800l is registered on network because it flicks every 3 second.
Any other advice please ?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.