I see these GSM/GPRS modules that you can use with a microcontroller but all of them use the microcontroller to control the module using AT commands.

After a bit of googling i saw this GSM/GPRS IC 'SIM808'. Looking at it's datasheet i see that it has GPIO pins, UART, Bluetooth, GPS, I2c communication and an ADC!!!!.

As you can see this ic is really powerful but i have no idea how to program it. (i'm quite okay at programming AVRs using C)

My question is how do you do this?

How do you write programs and upload them to this ic? (it would be really good if it was C++ or even C)

The Datasheet


The IC enter image description here

  • \$\begingroup\$ How do you justify this being a duplicate? The questions are completely independent. \$\endgroup\$ – Voltage Spike Nov 21 '17 at 17:54
  • \$\begingroup\$ @laptop2d - actually the questions overlap and while both start with the goal of being autonomous, both have been "resolved" in the direction of using an external MCU to run the program and issue AT commands to the stock firmware. So they really are duplicates, modulo being different specific Simcom parts, something of little significance for the approach chosen. \$\endgroup\$ – Chris Stratton Nov 27 '17 at 4:06

You use the AT command set to read/write the GPIO and ADC, for example to read the ADC (page 149):


The first line is to read the ADC, the second is the response, with the status (1 = OK/Good), and the value (0-2800 integer). There are similar AT commands for reading the GPIO (AT+SGPIO/AT+CGPIO) or the PWM (AT+SPWM).

It is possible you could write custom firmware for the module, but that would have to be done through reverse engineering the processor/circuit.


My question is how do you do this [i.e, reprogram the SIM900 module]?

As a hobbyist... you don't. The datasheet implies that SIMCom can supply information on developing custom firmware -- while discussing the SPI interface, it states that:

Note: This function is not supported in the standard firmware. If user wants this function, the firmware must be customized. Please contact SIMCom for more details.

However, this information is almost certainly only available to larger companies. They're unlikely to provide it to an individual.