Maduino Zero SIM800C

From MakerFabsWiki
Revision as of 06:20, 19 July 2019 by Charlin (talk | contribs) (GSM Connectivity)

Jump to: navigation, search

Warning:this page in progress, not completed yet


Maduino Zero SIM800C is a one-stop solution for IOT (Internet of Things) projects, it integrate a micro Controller SAMD21G18A-AU, GRRS/GSM module SIM800C, on-board power management and storage, to make the Maduino Zero SIM800C ready for real project for IOT projects such as smart-home, outdoor monitoring, shared bicycle, etc. The GRPS/GSM module A6 support quad-band 850/900/1800/1900MHz, that covers any GSM network, after inserting a SIM card, then you will able to use the SMS/GPRS service of Cellular connectivity.
The Maduino Zero SIM800C based on the Arduino, users can program it with Arduino IDE, which is very easy especially suit for the none-programmers. There are also detailed guide for users to learn how to create the first IOT project with Maduino Zero SIM800C board, with which the starters can learn the hardware and programming skill quickly.

Model: OAC800SIM


  • Powered by lithium battery 3.4-4.2V or USB(5V)
  • SAMD21G18A: 32-bit ARM® Cortex®-M0 up to 48MHz, 256KB flash, 32KB SRAM, LQFP48
  • Integrated Power Control System
  • Quad-band: 850/900/1800/1900Mz
  • Interface: I2C/SPI/UART/ADC/DAC/I2S/38*GPIO
  • Arduino Compatible
  • Working Temperature: -20 ~ +85℃
  • Default baud rate: 115200bps
  • Size: 40*55mm

Interface Function

①PWR: Power Indicator
②CHG: Charge Status Indicator
③VBAT: Lipo Battery Connector
④CHG: 5V power Input Connector, connect to the solar panel to charge the battery.
⑤Micro USB: 5V Power Input, USB to serial Communication
⑥RESET: Reset Button for SAMD21G18A-AU
⑦Serial Port Select:
D0&D1: Hardware serial port;
D7&D8: Software serial port;
⑧A6 Serial Port for Firmware Updates
⑨GSM: Antenna IPX Connector


①Micro SIM Card Holder
②Micro SD Card Holder

Pins usage on Arduino

  • D0 – RX from SIM800C (Hardware Serial Communication Selected)
  • D1 – TX to SIM800C (Hardware Serial Communication Selected)
  • D2 - Unused
  • D3 - Unused
  • D4 - SD Card CS PIN(Low active)
  • D5 - connect to SIM800C UART1_DTR
  • D6 - Unused
  • D7 - Unused
  • D8 - Unused
  • D9 - Power ON Control of SIM800C (High active)
  • D10 - Unused
  • D11 - Unused
  • D12 - Unused
  • D13 - Unused
  • D14(A0) - Unused
  • D15(A1) - Unused
  • D16(A2) - Unused
  • D17(A3) - Unused
  • D18(A4) - Unused
  • D19(A5) – Unused


GSM Connectivity

With the Maduino Zero SIM800C, users can create IOT projects such as remote controlling. The following simple application is using the SIM800C to surfing the internet website, only with the 2G GSM connectivity that you can do many intersting IOT things.
1.Insert a Micro SIM card
The MaduinoZero SIM800C board uses the micro SIM card that is widely used in Android phone, insert the Micro SIM card to the holder as below picture.
Note that some fee maybe needed for each SMS depends on your local GSM Operator, make sure that the SIM Card is active and enough money left for this application.

2.Connect the GSM Antenna and the 3.7V battery
3.This sample we just show how to get a webpage, so we needn't any module to Maduino Zero SIM800C.

4.Programming and Download
The Codes for this application is a simple HTTP GET example:
predefine codes

#include <Arduino.h>

#define DEBUG true //true: debug on; false:debug off
int POWER_KEY=9; //D9

bool SIM800C_ON = false;//

setup() codes as follows:

void setup()

  //output 1 second pulse to turn on the SIM800C
  digitalWrite(POWER_KEY, HIGH);
  digitalWrite(POWER_KEY, LOW);

  //Waiting for Arduino Serial Monitor port to connect, if you use other serial tool, you can commenting this.
  while (!SerialUSB) {
    SerialUSB.println("program starts to run!");

  //********check SIM800C whether it open************
  sendData("AT", 1000, DEBUG);

  if (!SIM800C_ON){
    digitalWrite(POWER_KEY, LOW);    
    digitalWrite(POWER_KEY, HIGH);
      SerialUSB.println("Now turning on SIM800C");

loop() codes as follows:

void loop()
  while (Serial1.available() > 0) {
  while (SerialUSB.available() > 0) {

Select the right Arduino board: Arduino/Genuino Zero(Native USB port) and right port to upload the firmware to Maduino Zero SIM800C boards
File:Maduino Zero SIM800C 01.jpg

5.Test Result
You can send SMS to Maduino Zero SIM800C board to control the LED On/Off now. After getting the SMS, the Maduino Zero SIM800C will check the SMS firstly, and then turn On/Off the related LED Color with the commands:

GPRS Connectivity

Of course the Maduino Zero SIM800C can be capable of the GPRS connectivity for Internet, to upload/download data with internet. The following simple example shows the starters how to access a website on the internet (Users need check the AT commands for how to access an website):

  //**************Open internet connection*************************  
  sendData("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"", 1000, DEBUG);
  sendData("AT+SAPBR=3,1,\"APN\",\"CMNET\"", 1000, DEBUG);
  sendData("AT+SAPBR=1,1", 1000, DEBUG);
   sendData("AT+HTTPINIT", 1000, DEBUG);//initalize HTTP Service

  sendData("AT+HTTPPARA=\"URL\",\"\"", 1000, DEBUG);

  sendData("AT+HTTPACTION=1", 1000, DEBUG);//0 get, 1 post, 2 head

If the GPRS service accessible, the Maduino board post data to the site, you can view as below:
Maduino Zero SIM800C 05.png

Note: AT Command:

AT+CCID   //Show CCID, you can check weather the SIM card is ok
AT+CGATT=1  //Attach to GPRS service
AT+GSV  //

More details you can refer to the document SIM800 Series_AT Command Manual_V1.09.pdf.


You can list you question here or contact with for technology support.