Serial Pass through problem Nano <-> SIM800L

Hi everyone,

apologies if this has been posted before - but I could not find a matching problem to mine. I am pretty new to the whole arduino and programming thing.

I am working on a 'Security GSM Alarm' System. In order to try out the functionality of the AT commands to the SIM800L breakout, I want to pass commands through the Serial Monitor. And I simply cannot get it to work.

The problem is : when I have the Serial monitor open, I can type my command, but it doesn't appear in the window below and I am not getting the normal 'OK' response.

The code I used has worked before - And the (blind) sending SMS commands using the SIM800.println("ATCOMMANDS"); command which still works fine, even without any command feedback from the breakout.

I have the SIM800L board with a dedicated 5V input. I power it with a 2.4A external supply and the board is starting up fine and connects to the network okay ( blinks at 3sec interval).

The wiring is :

SIM800L :

5V - External 5V+
GND - Common gnd Arduino + SIM
VDD -
TX - D7 pin on Nano
RX - D8 pin on Nano
GND - Commond gnd Arduino + SIM

I have changed the code 10000times now but this is what I am currently trying:

#include <SoftwareSerial.h>

SoftwareSerial SIM800( 7, 8 ); // RX, TX

void setup()
{
Serial.begin(9600);
SIM800.begin(9600);

Serial.println("Setup done");
}

void loop()
{
if (SIM800.available())
Serial.write(SIM800.read());

if (Serial.available())
{
while(Serial.available())
{
SIM800.write(Serial.read());
}
SIM800.println();
}
}

I am thinking of possible problem sources :

a) I fried the board somehow - but I am not sure how that would have happened ...
b) the Serial Monitor of the IDE is not working properly
c) the Breakout is set at a different baud rate ?
d) the timing between Serial.read() and Serial.write() needs to be different ?

I am a real newbie on this topic - but I would be very grateful if someone could give me some pointers.

Many Thanks.

You have to write in the code what command you are going to use to request something to the chip. Look at this video when is requesting things by the serial monitor.

Mira este video en el minuto 16:57 Hands-On Arduino 4: I2C Communication - YouTube

Rather than try to send each character as it arrives I suggest you collect a complete message and then send it to the SIM800 and the same for the return data. That will make it much easier to debug the process.

Have a look at the examples in Serial Input Basics - simple reliable ways to receive data.

...R

Hi, Thanks for the responses,

it seems that it is a problem with the CH340 driver - talking to the chinese Nano... Anyone experienced something like this ?