Advanced GPRS Shield


Opening project for SIGAlabs is the Advanced GPRS shield for the Arduino and compatible boards.

The Advanced GPRS Shield is based on the Simcom’s SIM900D module and has exceptional features while keeping the price low. We designed this board with remote data logging and control in mind. With robust design and a selection of high quality components from branded semiconductors just to make sure that this is a shield you can be proud of. The heart of Advanced GRPS shield is a Quad-band  850/900/1800/1900MHz gsm module that delivers the latest technology in a small form factor and low power consumption.

Give to  your Arduino board the possibility to make voice calls, send or receive SMS messages carrying control commands or the gathered  data from sensors and, best of all, connect to the Internet using the GPRS network of your provider. As mentioned above, this board is designed with reliability in our minds, we want it to work in harsh enviroments and for you to be able to monitor and reset it automatically from your Arduino firmware. You have the features to power on and power off the GPRS modem just by toggling an Arduino’s board pin, you can monitor the modem’s power status and generate an interrupt on incoming call or SMS using the RING output. Last but not least the Simcom SIM900D module provides an internal Li-ion battery charger, so you can use an external battery to keep your shield online in all conditions.

General Features  

  • Based on SIMCom‘s SIM900D Module
  • Quad-Band GSM 850 / EGSM900/ DCS1800 / PCS1900 MHz
  • GPRS multi-slot class 10/8
  • GPRS mobile station class B
  • Compliant to GSM phase 2/2+
  • Class 4 (2 W @ 850 / 900 MHz)
  • Class 1 (1 W @ 1800 / 1900MHz)
  • Control via AT commands-multiplex ability according to GSM 7.10 Multiplexier Protocol
  • Short Message Service – so that you can send small amounts of data over the network
  • Embedded TCP/UDP stack – allows you to upload data to a web server
  • SIM Card holder and External antenna
  • Low power consumption – 1.0mA(sleep mode)
  • Stackable
  • Real time clock with backup capacitor.
  • Battery header
  • Audio header

Advanced Features
Advanced features are divided in power features, in communication features and control features.
Power Features
  • Normal operation:. Connect the Power Source pin to “normal”, this will power the shield from Arduino board 5V line. An external power source for Arduino board may be needed.
  • Battery operation: Connect a lithium battery (3.7V), a 1000mAh battery is recommended, to the battery header of the Advanced GPRS Shield. Change the power source pins  to the “Charge” side. Now the Arduino’s board 5V power line is connected to the internal charger of the SIMCOM SIM900D module handling the battery charging. The Advanced GPRS Shield is powered directly from the battery.
  • External power: You can power the Advanced GPRS shield independent from the Arduino board using the External Power header pins of the shield. Remove completely the pin from the “Power Source” selector. 5V power source is required with at least 500mA current.
  • Battery power Arduino(experimental): There is an open solder jumper on the bottom right corver of the Advanced GPRS Shield that connects the battery line to Arduino’s board 5V line. A clumping diode allows current to flow only from battery to 5V line and not the opposite (for its own protection). But this means that the Arduino board will work with 3.7V-4.2V of the lithium battery so this is why this is (still) an experimental option. Use with caution.

  Communication Features

  • Hardware Serial Port: On the upper left corner of the Advanced GPRS Shield there are two header rows for TX and RX lines of the shield. If you want to use the hardware serial port of the Arduino (D0 and D1 pins) put both jumpers to the “HW” side pins.
  • Software Serial Port: Because we know that most Arduino have only one hardware serial port and that makes it valuable you have the option to use a software serial implementation. We recommend “NewSoftSerial” library. We use the D7 and D8 pins of the Arduino board for this function, put both jumpers to the “SW” side pins.

  Control Features

  • Power on: You can power on the Advanced GPRS Shield’s module either by pressing the Power On button for at least 1.5 second or from your code just by setting the Arduino’s D5 pin to OUTPUT and toggling it HIGH for 1.5 second.
  • Status Monitor: You can solder the “Status” solder jumper on the board. When the “Status” (Arduino’s D4  Pin) is HIGH means that the GPRS module is powered on, when it is LOW you know that the GPRS module is powered off.
  • Ring: The RING line goes HIGH on incoming SMS and incoming call. You can use this as a trigger or interrupt for your application.
  • Reset button: You can easily RESET your Arduino Board from the RESET button.


Schematic for board revision 1.1

Advanced GPRS Shield Schematics 1/2

Advanced GPRS Shield Schematics 2/2

Source Code More Coming Soon!

You can download Arduino library for the Advanced GPRS from here hosted on GitHub.