sim900 not properly receiving sms text messages

Note I am a complete newbie to coding so talk to me like I am a 2 year old :slight_smile:

Working with a GSM shield and having some issues recieving text

Using this as a test foundation to see if I am getting texts I use the "Receiving text messages and displaying them on the serial monitor" code here

http://tronixstuff.com/2014/01/08/tutorial-arduino-and-sim900-gsm-modules/

Problem is that it truncates the text message. It will end at 15-16 characters and in some cases mixes up letters at the end of the characters it sends to the serial monitor.

Here is what I am getting:

+CMT: "+14038310195","","14/02/03,13:21:37-28"
Let's show John

(What this should have said is "Let's show John how this truncates")

+CMT: "+14038310195","","14/02/03,13:21:56-28"
Also show the e

(What this should have said is "Also show the mixed up letters at the end" you will note after "the" in the message it should have been a m not e)

Do you have any idea what is going on?

I am trying to set this up http://www.instructables.com/id/Athena-The-Global-Car-Tracking-System/ and it was not working so I figured I would see what is not working properly by going through your code and testing... The shield sends text fine but does not seem to receive it properly...

Any help is appreciated

Hi.
Copied from: http://www.geeetech.com/wiki/index.php/Arduino_GPRS_Shield

With Arduino 1.0 you should be able to use the SoftwareSerial library included with the distribution (instead of NewSoftSerial). However, you must be aware that the buffer reserved for incoming messages are hardcoded to 64 bytes in the library header, "SoftwareSerial.h": 1.define _SS_MAX_RX_BUFF 64 // RX buffer size
This means that if the GPRS module responds with more data than that, you are likely to loose it with a buffer overflow! For instance, reading out an SMS from the module with "AT+CMGR=xx" (xx is the message index), you might not even see the message part because the preceding header information (like telephone number and time) takes up a lot of space. The fix seems to be to manually change _SS_MAX_RX_BUFF to a higher value (but reasonable so you don't use all you precious memory!)
The Softwareserial library has the following limitations (taken from arduino page) If using multiple software serial ports, only one can receive data at a time. http://arduino.cc/hu/Reference/SoftwareSerial This means that if you try to add another serial device ie grove serial LCD you may get communication errors unless you craft your code carefully.

Hope this helps!
Regards, F.

Thanks for the reply i set the buff to 100 for simple message like "switch on " it is working fine