Serial Problem with SIM800L

Hello everyone.

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?

Thanks and have a nice week!

Does anyone have some advice or a solution for me?

Advice, yes.

SoftwareSerial mySerial(10, 11); // RX, TX

Did you connect a mySerial to pins 10 and 11? 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?

Thank you!

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.

Thanks anyway.

Hi

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

CatweazleNZ:
Hi

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.

i try using LM7805 voltage regulator from 6v adapter

If adequate heat sinking is provided, they can deliver over 1A output current.

Not too useful for a device that needs 2A.

A voltage regulator needs about 2V over the output voltage, too. If you need 5V out, you need 7V in.