Arduino Gprs Shield V2.0 and Duemilanove

I have used this program, but the reception of sms does not work.


//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++]; // 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(; // 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

can someone help me?
The text of SMS is incomplete for example i receved “godmorg” instead of “goodmorning” and each time is always different.
Thank you.


I use Arduino Uno R.3 / GPRS Shield V2.00.

I face the same problem (SMS messages are truncated just after the date information) and I am fighting with it since more than 1 week, changing serial buffer size, baud rate, rebooting shield and arduino boards, … but no result until now.

Some other people also fight with this, but no answer until now … : check on “Arduino Forum” with following title : “Help w/Seeedstudio GPRS Shields PLEASE!!!”

Did you find the solution on your side ?

Thnaks a lot

Hi, I have the same problem using Arduino MEGA 2650.

The first configuration I tried was:

Software serial to pin 10,11 (using wire to connect the right pins from “standard shield” 7,8)
Set The JUMPER to Software serial.

The Serial Bridge software proposed in the FAQ section of the shield wiki.

This actually is not working.

So I have solved using Hardware serial, with the same wires trick (routing to arduino hardware serial port 3), bending the shield pins going to the Serial Port 0 of Arduino Mega (Serial0).
And it works!

So I think that the flaw is in the code of the serial bridge or in the softwareserial library. (for some reason the buffer lost receiving data when the buffer is larger then 64 chars, I tried also to set 255 chars in the buffer size but nothing)

Your biggest problem is that you haven’t another hardware port on Duemilanove. So my answer not solve your problem (but I hope this help you to identify the problem)