Strange Errors from GPS/GPRS SIM908 with Aruduino MEGA 2560

userHead Account cancelled 2013-11-06 00:34:52 8242 Views3 Replies
We are having problems with the board that are hard to reproduce, so I
thought I will describe the circumstances and hopefully you can
suggest a way to fix it, or a way to gather more information.

We're using the shield with an arduino Mega 2560. It's being powered
from an AC-to-DC converter at 7.7 volts. We've measured Vin on the
shield at 7 volts.

We're using the code hosted here: ... spberry-pi

In the section "Realtime geolocation tracking". We have modified it a
bit, but not much.

Most recently, we've been having problems with the section of the code
that establishes a GPRS connection to upload the GPS coordinates to a
webserver. When the arduino sends this command:


The shield returns the following:


SIM900 R11.0


This behavior is intermittent. Sometimes it works, then a day later it
doesn't. We can't figure out what the difference is, because we're not
changing hardware or software. We also sometimes have problems with
these commands:


Sometimes, the failure is because the shield returned "ERROR". Other
times, the shield returns nonsense strings (i.e. ÿÿÿÿÿÿÿÿÿÿ).

Any ideas about what could be causing these failures?
2013-11-12 19:19:44 MITengineer, is there any updates?

I encourage you to try the module tester from one of our contributors:

It has some new updates, and improvements not documented on the wiki, but the side panel is transparent on the commands used and the output.

Another good option would be to check the signal strength of the module before each time to make sure the sim card is registered. Failing to do so, i think unplug/plug or pressing firmly on the connector of the antenna would help.

userHeadPic Jose
2013-11-07 11:59:29 This is how N4rf has managed to do: ... PS.ino#L51

I'm trying to locate what that error means on the datasheet but did not have much time yet to do so. Let me know if you have any updates.
userHeadPic Jose
2013-11-06 14:35:04 Hello MITengineer
For this module, in the sample code
[quote] digitalWrite(5,HIGH);
    digitalWrite(5,LOW); [/quote]
it defines 'RST' as a button for "turn on" and "turn off". It has two status. And when you open the serial monitor ,it just like press "RST". So you open serial monitor when the module is working. It will sleep.  Close it and open it again, it will turn on.So sometimes you need to push button again to wake it up.

For mega 2560, it need a little time to get ready for Serial port, you need wait a little time.
For "ÿÿÿÿÿÿÿÿÿÿ", it is because the module is sleeping , it can't answer your AT command right now ,it will display "ÿ". Just wait for the "STAT" light and "NET" begin to blink. These means it begin to work.
userHeadPic Grey.CC