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
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

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
Thanks xfpd but again no respond.
Sim800l is registered on network because it flicks every 3 second.
Any other advice please ?