I bought a SIM800L module like the one in the following link with the same antenna:
I uploaded the following code:
#include <SoftwareSerial.h>
//Create software serial object to communicate with SIM800L
SoftwareSerial mySerial(18,19); //SIM800L Tx & Rx is connected to Arduino
void setup()
{
//Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
Serial.begin(9600);
//Begin serial communication with Arduino and SIM800L
mySerial.begin(9600);
Serial.println("Initializing...");
delay(1000);
mySerial.println("AT"); //Once the handshake test is successful, it will back to OK
updateSerial();
mySerial.println("AT+CSQ"); //Signal quality test, value range is 0-31 , 31 is the best
updateSerial();
mySerial.println("AT+CCID"); //Read SIM information to confirm whether the SIM is plugged
updateSerial();
mySerial.println("AT+CREG?"); //Check whether it has registered in the network
updateSerial();
}
void loop()
{
updateSerial();
}
void updateSerial()
{
delay(500);
while (Serial.available())
{
mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port
}
while(mySerial.available())
{
Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port
}
}
First thing I notice once I connect the arduino mega through the USB is that the SIM800L blinks 3 times and then stops for around 20 seconds then turns back on once again and repeats the same thing again for 20 secs.
For the connection, 5vin --> 5V of the arduino.
GND --> GND of the arduino.
VDD--> not connected
TXD--> pin 18 of arduino
RXD--> pin 19 of arduino
GND--> GND of arduino
RST--> not connected
All it displays on the serial monitor is "Initializing...."
I believe that 4G sim cards are backwards compatible.
I'm not certain if you are asking a question about the SIM card, or about the network service you can connect to. The SIM800l can only connect to a 2G (GSM/GPRS) network and work at that speed.
I managed to modify the things you mentioned above. Now it is looking for a signal but cant connect strangely. I am pretty sure that the network coverage is strong. What is the issue here?
Reminder the problem being faced is that SIM800L module keeps blinking every second, meaning it is not connected to a network.
I have 4G service available. The issuse is that I tried communicating through AT commands but it does not reply. So if I type AT, it doesnt show on the serial monitor nor it replies back with OK.
Im using the code mentioned above. All it displays is "Initializing..." thats it.
Note: Im communicating with the arduino using the cable attached. I have read that communication can only be done using USB to TTL. Is that the reason?
Note: Im communicating with the arduino using the cable attached. I have read that communication can only be done using USB to TTL. Is that the reason?
No. Connecting a computer to an Arduino with a USB cable is standard. There is a TTL>USB converter on the Arduino. You should be able to confirm communiction between the Arduino and the computer with any of the basic ide examples which use Serial communication.
The issue is that I tried communicating through AT commands but it does not reply. So if I type AT, it doesn't show on the serial monitor nor it replies back with OK.
You need to back up and achieve AT communications between the Arduino and Sim800l. You can do this without using the monitor by hard coding the AT commands in the code. There are plenty of examples available on the internet,
I have 4G service available
I have no experience with whether or not the Sim 800l will function properly with a 4G SIM. According to the internet, in the case of phones, some older 2G phones will work with a 4G sim. There is also the issue of the network you are trying to connect with, and what services and signals are provided by them.
None of this matters if the Arduino can't communicate with the module.
I managed to modify the things you mentioned above.
Maybe you didn't do it correctly. Can you provide a wiring diagram.
cattledog:
You need to back up and achieve AT communications between the Arduino and Sim800l. You can do this without using the monitor by hard coding the AT commands in the code. There are plenty of examples available on the internet
If you review the code written above, I did hard code the AT command but it does not seem to be working.
cattledog:
Maybe you didn't do it correctly. Can you provide a wiring diagram.
Well, I attached a picture of the power supply I'm using and connecting it to the 5V and GND pins of the module. According to my knowledge, I dont need to hook up the arduino to pick up a signal. The module does not pick up a signal. I measured the current drawn and it was about 65mA, which is way too low. It should draw between 1A-2.5A
If the fast blink pattern indicates that the module can not find a network to register on to, and you can not communicate with the module using AT commands, you are in a doubly bad place. I don't really have any advice for you.