You can use the to send and receive SMS messages. The SIM900 is used for GPRS communication, which is soldered directly to the board. You can use it by inserting a SIM card and controlling the SIM900 with AT commands.

It has an ATmega328P chip integrated, so you can program the by using the Arduino IDE environment. A reset button can also be found on this module. The module connects to PC via an USB to serial converter chip (CH340G).

ozeki gprs module front side
Figure 1 - Ozeki GPRS Module front side

ozeki gprs module back side
Figure 2 - Ozeki GPRS Module back side

Figure 1 - photos


Specifications:

  • IC: ATmega328P
    • Clock Speed: 16 MHz
    • Flash Memory: 32 KB
    • SRAM: 2 KB
    • EEPROM: 1 KB
  • SIM900 module integrated on the circuit
  • Simcard holder slot
  • USB support provided by a CH340G USB to serial chip:
  • Power supply from outside DC connector (5V, 2A)
  • 500mA resettable fuse
  • Status LEDs: power, TX, RX, D13
  • Status LEDs of the SIM900: POWER, Status, Netlight

SIM900 module

Features:

  • Quad-Band 850/ 900/ 1800/ 1900 MHz
  • Dual-Band 900/ 1900 MHz
  • Control via AT commands
  • Low power consumption: 1.5mA (sleep mode)
  • Pinouts from the SIM900:
    • RX pin: D7
    • TX pin: D8
    • Power pin: D9

Pinout of the :

the pinout of the ozeki gprs module
Figure 3 - The pinout of the Ozeki GPRS Module

Program codes

An example code that connects your PC to the SIM900

The role of this code is to build a communication stream between your serial port and the SIM900 chip. Through this communication stream you can send AT commands to the SIM900 modul. For example the simplest command is AT\n and the response should be AT\nOK\n

SoftwareSerial.h is a default library connected to the Arduino IDE, so you do not have to do anything to acquire it.

Downloadable code:
GPRSModuleExampleCode.zip

#include <SoftwareSerial.h>

#define SIM900_power_pin 9

SoftwareSerial SIM900_serial(8,7);// RX, TX
char c;

void setup() {
  digitalWrite(SIM900_power_pin, HIGH); //turns SIM900 on
  
  Serial.begin(115200);
  SIM900_serial.begin(19200); //this is the maximum baud rate of SoftwareSerial
}

void loop() {
  if(Serial.available()){
    c = (char)Serial.read();
    SIM900_serial.print(c);
  }
  
  if(SIM900_serial.available()){
    c = (char)SIM900_serial.read();
    Serial.print(c);
  }
}
Source Code 1 - Arduino example for transfering characters to and from the SIM900 module

More information