I have a prolem with the Serial communication with a SIM800L Module from eBay.
I tried the code from this post on Arduino Forum by vlada0 and tried to do the output of my input in the Serial Monitor, too.
This is my Sketch:
// Connect VCC to +4V
// Connect GND to Ground
// Connect RX (data into SIM800L) to Digital 11
// Connect TX (data out from SIM800L) to Digital 10
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
mySerial.begin(9600);
//Reset, not always used, see below.
pinMode(7, OUTPUT);
digitalWrite(7, HIGH);
delay(1000);
digitalWrite(7, LOW);
}
void loop() // run over and over
{
if (mySerial.available())
{
Serial.write("<");
while(mySerial.available())
{
Serial.write(mySerial.read());
}
}
if (Serial.available())
{
Serial.write(">");
while(Serial.available())
{
char c = Serial.read();
mySerial.write(c);
Serial.write(c);
}
mySerial.println();
Serial.println();
}
}
But even with the original code from the post I do not get a response back from the SIM800L.
I tried sending "AT", "AT+CR" and "AT+CR \r\n"
If I add the 4 lines "reset", the only response I get back is, if I switch off the power supply from the SIM800l and power it on, I get a "<" in the Serial Monitor?
Does anyone have some advice or a solution for me?
PaulS:
Did you connect a mySerial to pins 10 and 11?
Yes, also tried to swap them. My first mistake was, to connect RX and RX, but it have to be RX Arduino <-> TX SIM800.
So, the wiring is not the problem.
PaulS:
If not, then the instance name is dumb. The instance name should reflect what it attached to the pins.
If you get a dog, you don't call it myDog, do you?
Yes, you're definitely right, I just copied the code, to simple test the module.
These modules communicate at 2.8V and will likely be problematic trying to connect directly to a 5V Arduino. You need an interface converter and can power the SIM800/2.8 volts side using the RST pin on the SIM800 that runs at 2.8 volts.
You connect your Arduino RX and TX pins, and 5V VCC and ground from the Arduino on one side. You connect the SIM800 RX and TX plus the RST (2.8V) and ground from the SIM800 on the other side.
Works just fine after that.
I presume that you have provided a separate 4 volt, 2 amp power supply. You cannot power these devices from an Arduino.
These modules communicate at 2.8V and will likely be problematic trying to connect directly to a 5V Arduino. You need an interface converter and can power the SIM800/2.8 volts side using the RST pin on the SIM800 that runs at 2.8 volts.
You connect your Arduino RX and TX pins, and 5V VCC and ground from the Arduino on one side. You connect the SIM800 RX and TX plus the RST (2.8V) and ground from the SIM800 on the other side.
Works just fine after that.
I presume that you have provided a separate 4 volt, 2 amp power supply. You cannot power these devices from an Arduino.
Cheers
Catweazle NZ
do you have recommendation or guide related to sim800L power supply? i try using LM7805 voltage regulator from 6v adapter, the sim800l looks like power shortage when i try to access / AT COMMAND related to SIM, for example AT+CNUM.