GPRS shield power and RTC

Today I received a Geeetech GPRS shield. It has its own power jack, and there is surely a pretty clear signal in that, but the docs seem very coy about the power requirements. The sleep mode requirement of 1.5mA does nothing to placate me. So, is there any information about the maximum power and the need to use the external supply? I am only interested in receiving texts with it, in order to control a relay.

I can't find any examples using the RTC. Am I right in assuming that the RTC is incorporated in the SIM900 and has nothing to do with, and no resemblance to, the normal Arduino RTCs - nothing to do with the SPI bus?

As to the power requirements, the SIM900 data sheet says 2 amps for 577uS (every 4.615mS) when transmitting. Figure 5 on page 22.

However, it does need to transmit just to remain in contact with the network, not only to transmit a text / sms.

I've not had a play with the clock so can't help you on that score I'm afraid.

And I've just had a quick play with the clock.

It is accessed using the AT+CCLK command, AT+CCLK? to read the time and AT+CCLK="yy/MM/dd,hh:mm:ss+zz" to set it, don't forget the time zone difference and it's two digits.

When power is disconnected the clock stops, and restarts when power reapplied. It doesn't reset.

I can't find a 1220 battery so I can check that it continues to run with one installed when the power is off, but that is my assumption.

Thanks for your comments. Two amps sounds bloody fierce and one wonders why a switch is provided to get power off the Arduino. Maybe the shield/socket layout is not exclusive to Arduino. I now see Tronixstuff has pertinent comment also.

Last night I found an unused CR1220. God knows how old it is, I think I got it for a Tandy pocket PC, but it tests good. It cost $6-50.... I imagine its sole purpose is to maintain the clock.

I have just found the code in the SIM900 book and adapted an Arduino demo. This compiles OK.

#include <SoftwareSerial.h>
SoftwareSerial mySerial(7, 8); // RX, TX
int i=0;
void setup()  
 // Open serial communications and wait for port to open:
  // set the data rate for the SoftwareSerial port
  mySerial.println( "AT+CCLK =\"12/12/27,10:43:50+08\"");
void loop() 
  if (mySerial.available())
   mySerial.println( "AT+CCLK?" );

I think I will try and adapt a spare PC power supply, which should have the grunt to run both. I now wondering again about that switch. It's probably not quite as stupid as I thought. If I feed a kosher 5v to the shield, shouldn't I get power to Arduino from the shield via the 5v pin?

I'm having a trouble with my GPRS connection... I'm using 2 profiles (0 and 1) to my communication process... When I send a packet and then I'm waiting for the answer a ^SIS arrives... So I open the profile/service it asks for, which actually is nor 0 neither 1, and the operation sends me and error (767, operation failed)... It is supposed that I'm not using those services that the SIS asks for, what can I do for solve that problem...?