UART A6 GSM & GPRS MODULE non functional

I recently bought the UART A6 GSM & GPRS MODULE, i have followed the dfrobot guide at https://www.dfrobot.com/wiki/index.php/Gravity:UART_A6_GSM%26_GPRS_Module_SKU:_TEL0113. Using the gsm initialization code, the device returns " ⸮" over and over. I would like assistance with this.

Hi Jacob,

Generally when serial returns that character it means it does not recognise the ascii character that has been sent. The most common cause for this is that the baud rate of the devices that are communicating are not the same. If you wanted to post the code you are using and how you have wired the module up we can go from there and get you back on track :).

I am using the code:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 10); // TX-Pin11, RX-Pin10
void updateSerial()
{
delay(2000);
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
}

}

void setup()
{
Serial.begin(9600);
mySerial.begin(9600);
}

void loop()
{
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();

mySerial.println(“AT+SNFS=0”); //Adjust to earphone mode(AT+SNFS=1 is microphone mode)
updateSerial();

mySerial.println(“AT+CRSL=2”); //Adjust volume, volume range is 0-15, maximum:15
updateSerial();

while(1)
{
if(mySerial.available())
{
Serial.write(mySerial.read()); //Forward what Software Serial received to Serial Port
if(Serial.available())
{
mySerial.write(Serial.read()); //Forward what Serial received to Software Serial Port
}
}
}
}

This sets the baud rate to 9600, which is what my serial monitor is set too.
I have the tx pin connected to pin 11, and the rx pin connected to pin 10. I am using the 5v pin on the arduino.

Hi Jacob,

Many people report that this device communicates at 115200 baud despite what it says in the user guide. SoftwareSerial is unreliable at that speed. Check out this forum. There are a couple fixes listed on there, I’m sure one will sort you out.

https://forum.arduino.cc/index.php?topic=422375.0

Let us know how it goes.

1 Like

I tried using the hardware serial port on my mega at 115200 but it didn’t work.

Hi Jacob,

Have you tried this tutorial yet? I would use a Mega for this:
https://www.elecrow.com/wiki/index.php?title=A6_GPRS/GSM_Shield

Still not working

Hi Jacob,

Are you connected via the correct RX TX pins? Others have been caught by that:

"Update: I WAS missing something obvious! Sorry to anyone else I baffled.

I was using the ‘other’ Tx/Rx pins on the A6 module. Now that I am using the U_TX/U_RX pins, which are for the UART, it is working.
I don’t know what the other pins are for, I haven’t seen any mention of them.
I can see that the ‘wrong’ Tx pin seems to be sending at about 10x the standard 115200 baud.

I also found what has been mentioned elsewhere - that the software serial is unreliable at 115200 baud on a Uno. I have been able to switch to a lower speed and then it is reliable. I plan to use a Mega anyway.

I am also having some difficulty getting the A6 to initialise reliably, but have not yet had time to try the various tricks available."

There is only one set of RX/TX pins on my module.

Hi Jacob,

I’ve been re-reading your post trying to find what might be the issue here… Can you try powering your Module from an external source? They only share the standby current draw, but I know from experience that this sort of module can sometimes exceed 1A of current. The 5V pin on the Arduino can be counted on for 500mA. It could be that the power needs of the GSM module are exceeding what the Arduino can provide.

Try powering it from its own 5v source and see if that solves the problem!

Now using an external power source, commands i send show up, but no responses.

Hi Jacob,

Do the two components share a common ground? Can you send me a diagram of how its wired up? Fritzing is great for this but hand drawn is ok as well. Have you tried this with different baud rates?

Arduino is powered by usb
Arduino TX1 to GSM RX
Arduino RX1 to GSM TX
GSM Ground to external ground
Gsm Vcc to external 5v source

HI Jacob,

It sounds like it might be a fault with the device itself. Reply to your order confirmation email and reference this thread.