GPRS Shield – SIM900

The GPRS Shield provides a way to communicate using the GSM cell phone network. The shield allows you to achieve SMS, MMS, GPRS and Audio via UART by sending AT commands. You do need a Sim with data activated. I went with a GiffGaff sim (this is an affiliate link) and put a data package on it, but you can go to an unlimited SMS package for around £7.50 a month if you will be using the shield / sending data regularly. (correct at the time of posting)

Where to Buy http://www.ebay.co.uk/itm/SIM900-GPRS-GSM-Shield-Development-Board-Quad-Band-Kit-For-Arduino-High-Quality-/351244040810?pt=UK_Computing_Other_Computing_Networking&hash=item51c7c6ba6a
http://www.geeetech.com/gprsgsm-sim900-shield-board-arduino-compatible-p-610.html
 You can also order from UK suppliers for a much quicker turn around, but the cost is roughly £35+ for the same board.
Useful The Geeetech guide for this shield is really good, and a great place to start when using this shield.
http://www.geeetech.com/wiki/index.php/Arduino_GPRS_Shield
700px-GPRS001
Important to Note Not all Arduino boards support software serial on D7 and D8, For example Arduino Mega and Mega 2560 only support the following pins for RX: 10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69. So Arduino Mega doesn’t support soft serial on Pin D7 and D8. If using GPRS shield with Ardiuno Mega, please use the hardware serial or use the jumper wires wiring GPRS TX and RX to the pins support interrupt on Ardiuno Mega. And not all pins on the Leonardo support change interrupts, so only the following can be used for RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI). More information about Softserial library please visit http://arduino.cc/en/Reference/SoftwareSerial

  • Users can use “AT+IPR=?” command to see supported baudrate, it will response a list of supported baudrate.
  • Users can use “AT+IPR=x”(x is value of supported baudrate) to set a fixed baud rate and save the configuration to non-volatile flash memory.

You need to check your board and see what pins will work. You may need to set a jumper from one to another if they differ.

 Also – small but important – turn the board on!
AT Command Manuel http://www.geeetech.com/Documents/SIM900_AT_Command_Manual_V1.03.pdf
Schematics http://www.geeetech.com/Documents/GPRSshield_sch.pdf
UPDATE There is also a V2 of this shield now: http://www.geeetech.com/wiki/index.php/GPRS_Shield_V2.0#Improvement_Details_of_GPRS_Shield_V2.0

Sample code, but note that they are using a pachube server which is no longer operating in the same way so you will likely need to set up an account on sparkfun data or similar to send your data to. https://data.sparkfun.com/