SIM800L doesn't respond to AT commands

Hi.

My SIM800L doesn't respond to AT command. The serial monitor is simply blank

And the led blinks every 3 seconds wich means its connected to a network

I power it trough a lm2596 buck down converter with 4.0 v (I've tried to power with voltages until 4.4v) , From a 12v power suply

Can you help me ?
(Please keep in mind that I'm a absolute beginner in this field. Thanks)

I used this wiring diagram from last minute engineers

Arduino-Wiring-Fritzing-Connections-with-SIM800L-GSM-GPRS-Module-LM2596

And also their code:

#include <SoftwareSerial.h>
 
SoftwareSerial mySerial(3, 2); 

void setup() { 
Serial.begin(9600);
mySerial.begin(9600); 
Serial.println("Initializing..."); 
delay(1000);
mySerial.println("AT");
updateSerial(); 
mySerial.println("AT+CMGF=1");
updateSerial(); 
mySerial.println("AT+CNMI=1,2,0,0,0"); 
updateSerial(); } 

void loop() {
 updateSerial();
} 

void updateSerial() { 
delay(500); 
while (Serial.available()) { 
mySerial.write(Serial.read());
 } 
while(mySerial.available()) { 
Serial.write(mySerial.read());}
 }


4.0 volt? What does the SIM card spec say?
What's the value of the resistors?
Why do You need double line spacing in the code? It makes the view being half the number of lines.

1 Like

An artifact from code lifted from HTML or PDF.

Not wanted....

I apologize for the double lines. i'll fix them right away.

As for the resistores their values are 10k and 20k

According to the SIM800l Datasheet
The module can be powered with Power supply of 3.4V ~4.4V
and The SIM interface is powered from an internal regulator in the module.

Thank You. That looks good.
Due to a travel I'll have to step aside for 2 days.....

1 Like

I understand.

Have you tried it direct to a serial terminal - ie, take the Arduino and your code out of the equation?

Please give some more details of the board that the SIM800L is on - in particular, its pinout.
A link to specs would help.

Have you contacted them for help?

A link to their page?

You copy every character coming in Serial.read out to software serial.
Add some Serial.print telling exactly what characters are transfered. I suspect Cr and/or Lf might be passing, and maybe ruin the AT comand syntax.

I'm really new at this. And i don't know what a serial terminal is, but ill try to look it up in order to use it.

The board the SIM800L is on is the Arduino Uno Board:
Arduino specs and pinout

And yes, i sent them a email. still waiting for response
Lastminuteengineers

Ok, ill try that and get back to you!

Your code uses Serial.read for the data into the controller. Are You sending those characters from serial monitor in the IDE? That was my assumption... Then a Serial.print can be used to print the hexadecimal representation of the characters handled.

A program like RealTerm or TeraTerm (to name but two) - or even the Arduino IDE's Serial Monitor - which lets you send & receive characters over a serial interface (a "COM port" on Windows; "/dev/tty" on Linux).

Characters you type at the keyboard are sent to the serial interface; characters received from the serial port are displayed on the screen.
This allows you to manually interact with any serial device.

ADDENDUM

Sometimes also called a "Terminal Emulator" - because it emulates the behaviour of the old, dedicated serial terminals:

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