Arduino and GPRS module

Has anyone worked with the GPRS module for Arduino (Hilo - Sagem)? I had one from libelium and I am trying to talk with it, first through the hyper-terminal and USB. To do so, the microcontroller should be taken out from arduino board.

I unblocked my sim, so it doesn't need a pin code. When I connect through HyperTerminal and press the on button for two seconds, I get

*PSSTK: "SETUP MENU",1,4,"MyProvider",0,0,1,0,0,7

and when I send an "AT" command I get back "OK".
My problem is that after a few seconds I am not able to send any commands from the terminal. Not even type them locally. Only when I restart the GPRS module through the button, it works until it blocks after a few seconds again.

Any help would be appreciated! Thanks!

Maybe it has entered data mode. Have you tried to switch back to command mode entering "+++" ?

Good luck!
Eduardo

Hi,

According to documentation, this command can be used only during a
data call. In any case, I tried it and nothing happened.

Thanks anyway. :slight_smile:

did you get that to work? becase i'm having the same problem.
I read that there could be some power issues as said on the docs at libelium but anyway I haven't tried to put that capacitor yet, just because i'm using an external power adapter so i think there's no point on doing that...

No, I haven't managed to make it work and I don't know where to get help. A power problem sounds like a very reasonable reason to me, but I also tried the external power and nothing changed. Maybe the capacitor is needed anyway? I don't know.

if you make any progress please let me know

hi Ikro,

I'm having the same problem, the module seems to power off automatically, about 10 seconds after the PSSTK welcome message.

Curiously, in certain terminal applications (Terminal on Windows XP) I'm seeing the <0> characters sent from the module just before it becomes unresponsive.

This string crops up alot in the AT command documentation (http://www.libelium.com/squidbee/upload/8/83/AT_Command_hilo.pdf) though not as response from the module, but as a convention for showing expected parameters.

I am continuing to explore!

Any word from someone with deeper knowledge?

OK, well the capacitor seems to do the job for me.

I'm using an external power supply for Arduino, and put a 220 uF cap across the 5v and GND pads on the GPRS shield as shown on the diagram (http://www.libelium.com/squidbee/index.php?title=New_GPRS_module_for_Arduino_(Hilo_-_Sagem))

I'm able to use AT to communicate with the module over extended periods with the cap in place.

Some modest progess with the GPRS shield, this is nothing special, it's not even working as an Arduino programme, just bare bones, but I have sent SMS fine.

Here's what works to send a SMS using Terminal on XP:

  • put a 220 uF capacitor across the 5v and GND pads of the GPRS shield
  • Load "blink" on Arduino, or any code not related to the GPRS shield
  • in the shield set TX/RX jumpers to USB and power jumper to 5v
  • unplug the power and USB, leave for 10 seconds, to power down the shield
  • connect USB, external power to shield and PC, open Terminal on XP
  • connect Terminal at 115200 Kbps
  • might see some <0> chars dumped to screen?
  • press down the "On/Off" button on the shield for 2 seconds to power on
  • after about 10 seconds, should see this message dumped to the terminal:
*PSSTK: "SETUP MENU",1,4,"TalkMobile",0,0,1,0,0,1
  • Here are the AT commands, with control characters to send an SMS:
AT+CMGF=1<CR,LF>
AT+CMGS="0044XXXXXXXXXX"<CR>
Hello World!<crtl-Z>
  • Here's the strings as they are entered in Terminal on XP, using the programmes decimal macros:
AT+CMGF=1#013#010 [send]
AT+CMGS="0044XXXXXXXXXX"#013 [send]
Hello World!#026 [send]
  • Here's the session transcript, TX and RX
*PSSTK: "SETUP MENU",1,4,"TalkMobile",0,0,1,0,0,1
AT+CMGF=1<CR,LF>
OK
AT+CMGS="00447971966009"<CR>
>
Hello World!<crtl-Z>
+CMGS: 1
OK

Some reference:

Non-printing ASCII Table http://www.physics.udel.edu/~watson/scen103/ascii.html
Control Codes ASCII Chart and Other Resources
Sending SMS using AT commands SMS Tutorial: How to Send SMS Messages from a Computer/PC Using a Mobile Phone or GSM/GPRS Modem? AT Commands

modified for clarity and speeling

tobie

You said you got it to work by using a cap. - but are you also powering the arduino board w/ 12V?

My gprs sheild (Libelium) responds with the following when you hold down the pwr. button:

*PSSTK: "REMOVE MENU",1 CRLF

Anybody seen this or know if this is bad?

hi Strafford,

The jumper on the shield is set to take voltage from "5v", though the Arduino board is powered using a 12v supply.

Have a look at the AT command manual for the Sagem HILo (this is the chipset used by the GPRS sheild) to help you debug AT responses.

http://www.libelium.com/squidbee/upload/8/83/AT_Command_hilo.pdf

I looked for "REMOVE MENU" and saw it is associated with "SIM APPLICATION TOOLKIT AT COMMANDS".

I have no idea what that is, though! I suspect its worth checking your SIM card works OK in a another handset?

I have the jumpers set according to the documentation (have 5v from arduino set, as well as usb gateway set) and have 12v attached. If I try and operate it w/o a sim card, I get no response at all from holding down the on/off button.

Just put the sim back in a cell phone and made a call.

bump. Anybody?

I have this module..

When I press the power button this what I get: *PSSTK: "END SESSION"

Any help please

netstat, don't 'hijack' other peoples posts. Start your own if you have a question and add as much detail as you can. :wink:

Im not hijacking the threath.... :wink:

some progress i guess....

this is what I get now..

*PSSTK: "END SESSION"

*PSSTK: "REFRESH",1,1

*PSSTK: "END SESSION"

*PSSTK: "NOTIFICATION",1,19,1,255,"",0,0

Hi to all.
I have the same problem also. Did any one find any solutios?
Please help !!
:-[

I think I solved partially...I add a 220uF capacitor....

I think my problem its because I dont have an antenna attached to the module...

Bonjour,

With a capacitor it works well with hyperterminal and also with arduino,
I use :
Serial.begin(9600);
And give more time after switchModule()
and Serial.print("blabla") for the SMS + serial.println(26,BYTE)
in the toto they use Serial.println("blabla")
Ans also I don't switch off the module
;D