SIM800C GSM GPRS Module

  • RM40.00

  • Product Code: SIM800C GSM GPRS Module
  • Availability: In Stock

This GSM/GPRS developemnt board is based on SIM800C chip supporting bluetooth function and AT command control via the serial prot. On-board SIM card slot and support 850/900/1800/1900MHz quad band can be used worldwide. It is equipped with 5V/3.3V ligic converter circuit compatible with most MCU breakout board to obtain the SMS and TTS function.

Chip: SIM800C
Band: 850/900/1800/1900MHz
GPRS multi-slot class: 12/10
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 (3GPP TS 27.007, 27.005 and SIMCOM enhanced AT Commands)
Board Size: 30.73 X 26.56mm/1.21 X 1.05inch(L*W)

 

Description:

  1. Power input: DC5V or received by a lithium battery input VBAT and GND.
  2. Supports MCU level: 5V / 3.3V for TTL logic (Such as the common 51 and the arduino is 5v, STM32 is the 3.3v)
  3. Antenna use: IPEX antenna interfaces, you can use the version PCB antenna or antenna IPEX-SMA- peppers

 

Pinout:

                                                                             

 

Wiring Diagram:

                                                                    SIM800-C-connection

NOTE: The board requires a dedicated 2A power supply with 100uF and 10uF capacitors placed over VCC and GND.

 

Sample Code:

#include <TinyGsmClient.h>

#include <HardwareSerial.h>


#define MODEM_RX     16

#define MODEM_TX     17


// Create an instance of the TinyGSM object

TinyGsm modem(Serial2);


// Phone number and SMS text

const char phone_number[] = "+1234567890";  // Replace with your phone number

const char sms_text[] = "Hello from ESP32 and SIM800C!";


void setup() {

     Serial.begin(115200);

     delay(10);


 // Start communication with the GSM module

 Serial2.begin(9600, SERIAL_8N1, MODEM_RX, MODEM_TX);

 delay(3000);


Serial.println("Initializing modem...");

modem.restart();


String modemInfo = modem.getModemInfo();

Serial.println("Modem Info: " + modemInfo);


//Unlock your SIM card with a PIN if needed

// modem.simUnlock("yourPIN");


 sendSMS();

}


void sendSMS() {

     Serial.println("Sending SMS...");

     // Send the SMS

    bool res = modem.sendSMS(phone_number, sms_text);

     if (res) {

       Serial.println("SMS sent successfully!");

 } else {

   Serial.println("Failed to send SMS.");

  }

}


void loop() {

     // Nothing to do here

}

 

#include <softwareserial.h>

#define SIM800_TX_PIN 2  //SIM800 TX is connected to Arduino D2  

#define SIM800_RX_PIN 3 //SIM800 RX is connected to Arduino D3


//Create software serial object to communicate with SIM800

SoftwareSerial serialSIM800(SIM800_TX_PIN,SIM800_RX_PIN);


int PWX = 4;  


void setup() {


 pinMode(PWX, OUTPUT);

   

Begin serial communication with Arduino and Arduino IDE (Serial Monitor)

Serial.begin(9600);   //Begin serial communication with Arduino

while(!Serial);       //Monitor Comms on Arduino IDE (Serial Monitor)  

//Being serial communication with Arduino and SIM800

serialSIM800.begin(9600);

 delay(1000);

  

Serial.println("Setup Complete!");

 digitalWrite(PWX, HIGH);

delay(3000);

digitalWrite(PWX, LOW);    

delay(1000);

  Serial.println("Start");

}


void loop() {

 //Read SIM800 output (if available) and print it in Arduino IDE Serial Monitor

 if(serialSIM800.available()){

   Serial.write(serialSIM800.read());

 }

 //Read Arduino IDE Serial Monitor inputs (if available) and send them to SIM800

 if(Serial.available()){    

   serialSIM800.write(Serial.read());

 }

}

 

Sending SMS via SIM800

For the test work try to send SMS. To start, send the command: AT + CMGF = 1. If there is an ERROR-most likely did not pass the registration of SIM-ki in the network.

   AT command      Answer       Notes
   AT + CMGF = 1    Ok    We Translate into text mode of sending messages.
   AT + CSCS =    "GSM"    Ok    CharSet: "GSM" GSM 7 bit default alphabet (3GPP TS 23,038); "UCS2" 16-bit universal multiple-octet coded    character set (ISO/IEC10646); UCS2 character strings are converted to hexadecimal numbers from 0000 to    FFFF; e.g. "004100620063" equals three 16-bit characters with decimal values 65, 98 and 99 "IR A"    International reference alphabet (ITU-T T. 50) "H EX" Character strings consists only of hexadecimal Bers from    00 to FF; "PCCP" PC Character set Code "PCDN" PC Danish/Norwegian Character Set "8859-1" ISO 8859 Latin 1    Character set
   AT + CSCS?    + CSCS:    "GSM"    Check that the correct code table has been installed correctly.
   AT + CMGS = "+ 796019xxxxx"    >    The phone Number is required with +, otherwise there will be an error message: + CMS ERROR: Invalid input    value. After The command is run, you will be prompted to enter the text of the message to be completed by    sending CTRL-Z (0x1A or (char) 26). Unfortunately, Arduino Serial Monitor does not allow you to send this    code, so only programmatically.  


 

Resources:

Write a review

Note: HTML is not translated!
    Bad           Good