GPRS shield shut down after AT+CIPSTART

Hi,

I am using multiple GPRS Shield V2 in a project with Arduino Mega 2560 to send data to a web server.
After a few week/month of working properly I start to have an issue with the shields.
The Arduino is powered from a 12V battery using a SJ-WYUCB DC 5V USB Tension Step Down Module (3A) from dx.
This shield stop when I am sending the AT command : AT+CIPSTART="TCP","example",80
I did the following test :

  • Connect the Arduino Mega with the GPRS Shield V2 to my computer (macbook pro)
  • Load the following code to the Arduino (this code is from the wiki page GPRS_Shield_V2.0):
//Serial Relay - Arduino will patch a 
//serial link between the computer and the GPRS Shield
//at 19200 bps 8-N-1
//Computer is connected to Hardware UART
//GPRS Shield is connected to the Software UART 
 
#include <SoftwareSerial.h>
 
SoftwareSerial GPRS(7, 8);
unsigned char buffer[64]; // buffer array for data recieve over serial port
int count=0;     // counter for buffer array 
void setup()
{
  GPRS.begin(19200);               // the GPRS baud rate   
  Serial.begin(19200);             // the Serial port of Arduino baud rate.
 
}
 
void loop()
{
  if (GPRS.available())              // if date is comming from softwareserial port ==> data is comming from gprs shield
  {
    while(GPRS.available())          // reading data into char array 
    {
      buffer[count++]=GPRS.read();     // writing data into array
      if(count == 64)break;
  }
    Serial.write(buffer,count);            // if no data transmission ends, write buffer to hardware serial port
    clearBufferArray();              // call clearBufferArray function to clear the storaged data from the array
    count = 0;                       // set counter of while loop to zero
 
 
  }
  if (Serial.available())            // if data is available on hardwareserial port ==> data is comming from PC or notebook
    GPRS.write(Serial.read());       // write it to the GPRS shield
}
void clearBufferArray()              // function to clear buffer array
{
  for (int i=0; i<count;i++)
    { buffer[i]=NULL;}                  // clear all index of array with command NULL
}
  • Open the Serial Monitor of the Arduino App and type the following AT command :
AT+CGATT?

+CGATT: 1

OK
AT+CIPMUX=0

OK
AT+CIPSHUT

SHUT OK
AT+CSTT="example.m2m","",""

OK
AT+CIICR

OK
AT+CIFSR

123.123.123.123
AT+CIPSTART="TCP","example",80

OK

CONNECô
  • As you can see the “CONNECT” response is not complete because the shield shutdown (red led go OFF) at this point (just after the AT+CIPSTART).

I have this problem with multiple GPRS V2 Shields…

Can you help me?

Hello,

We tried to reproduce your issue in our end.The problem due to inadequate power.Please try connecting the arduino Mega to an external power supply.

Thanks and Regards

Ok, thanks for your reply!
Do you know why is it working fine for a few weeks/months and then at some point the board refuse to AT+CIPSTART?
Benjamin