Tags: SIM800L, V2.0, GSM, GPRS, MODULE, With, Antenna


  • 42.50 AED
    • Ex Tax:42.50 AED
    • Product Code: sim800l
    • Availability: In Stock
    This SIM800l module has a set of TTL level serial interface, a set of power supply interface. Besides, there are a set of antenna interface on this module.The chip of SIM800L basic featuresSIM800H is a complete Quad-band GSM/GPRS solution in a LGA type which can be embedded in the customerApplicatio..

    This SIM800l module has a set of TTL level serial interface, a set of power supply interface. Besides, there are a set of antenna interface on this module.

    The chip of SIM800L basic features

    SIM800H is a complete Quad-band GSM/GPRS solution in a LGA type which can be embedded in the customer


    SIM800H support Quad-band 850/900/1800/1900MHz, it can transmit Voice, SMS and data information with low power


    With tiny size of 15.8*17.8*2.4 mm, it can fit into slim and compact demands of customer design. Featuring

    Bluetooth, FM and Embedded AT, it allows total cost savings and fast time-to-market for customer applications.

    General features

    Quad-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/900MHz)

    - Class 1 (1 W @ 1800/1900MHz)

    Bluetooth: Compliant with 3.0+EDR

    FM: 76~109MHz worldwide bands with 50 KHz tuning step

    Dimensions: 15.8*17.8*2.4mm

    Weight: 1.35g

    Control via AT commands (3GPP TS 27.007, 27.005 And SIMCOM enhanced AT Commands)

    Supply voltage range 3.4 ~ 4.4V

    Low power consumption

    Operation temperature:-40 ~85

    Specifications for GPRS Data

    GPRS class 12: Max. 85.6 kbps (downlink/uplink)

    PBCch support

    Coding schemes CS 1, 2, 3, 4


    CSD up to 14.4 kbps
    SIM800L GPRS GSM Module sending an SMS:

    This involves to create a sketch for sending out these same sequence of AT Commands (on your behalf) out the serial port to the GPRS Shield to perform the same task of sending and SMS, making a call or sending data over a GPRS connection.

    You can go through the AT Commands reference manual to figure out the sequence of commands. If you develop an Arduino sketch, you find that the GPRS Shield doesn't act as what you expect, then you will need to check your AT Commands and their sequence. To do this, reload the serial Relay sketch attached above in the getting started section into ATmega328P and type out the AT Commands manually and check the output. The responses sent back by the GPRS Shield will help you debug the AT Command sequence.

    !!!note: A C program to perform the same task has also been developed and attached: Softuart Relay atmega328p.zip.

    The program was developed on a Windows PC.AVRStudio4 was used as the IDE and WinAVRwas used as the compiler. The ZIP file contains an AVRStudio4 Project. The C compiler (WinAVR) will generate an Intel Hex (.hex). To upload this .hex file into an Arduino board outside of Arduino IDE would require a program which is able to communicate with the Arduino boards bootloader. XLoader is such a program which runs on Windows can upload .hex files generated by various compiler into an Arduino Board.


    With Arduino you should be able to use the SoftwareSerial library included with the distribution (instead of NewSoftSerial). However, you must be aware that the buffer reserved for incoming messages are hardcoded to 64 bytes in the library header, "SoftwareSerial.h"

     define _SS_MAX_RX_BUFF 64 // RX buffer size

    1 define _SS_MAX_RX_BUFF 64 // RX buffer size

    This means that if the GPRS module receive more data than the buffer, you are likely to lose it with a buffer overflow! For instance, reading out an SMS from the module with "AT+CMGR=xx" (xx is the message index), you might not even see the message part because the preceding header information (like telephone number and time) takes up a lot of space. The fix seems to be to manually change _SS_MAX_RX_BUFF to a higher value (but reasonable so you don't use all your memory!)

    The Softwareserial library has the following limitations (taken from arduino page). If use multiple software serial ports, only one can receive data at a time. This means that if you try to add another serial device such as grove serial LCD you may get communication errors unless you craft your code carefully.


    Tn this example we will create an Arduino sketch to allow you to either send a text message or dial a phone number for a voice call when you either type 't' or 'd' respectively in the Arduino's serial comm window.

    AT Commands For Sending a Text Message

    Looking at the SIM900 Commands Set we can see that to send a text message we first have to set the SMS format, this is one using the AT+CMGF command.

    The AT+CMGF command can be one of two values: 0, or 1 for "PDU mode" and "text mode" respectively. In "text mode", SMS messages are represented as readable text. In "PDU mode", SMS messages are represented as binary strings encoded in hexadecimal characters. We will use "text mode" in this example, so the command we need to the send to the GPRS shield is:


    Now that we have set the SMS format we can proceed to send the text message. To send the text message we use the AT+CMGS command. According to the SIM900 AT Command Set, the CMGS command follows this format:


    where <da> is the destination address (phone number), <toda> is the optional type of destination address, and <CR> is the carriage return '\r' character. Once we have send this command the GPRS shield will reply with the '>' character signaling us to enter the actual message.


    The phone number must include the country code, e.g. for a U.S. phone number (555)123-4567 the <da> value must be +15551234567

    Command(s) For a Voice Call

    As per the SIM900 AT Command Set sheet, the command used to dial a number for a voice call is "ATD+xxxxxxxxxx;" where "xxxxxxxxxxx" is the phone number with country code included. A semicolon must be send to set up a voice call, omitting it will set up a data or fax call.

    The Arduino code to send a simple text message or dial a voice call is shown below. Don't forget to change the phone number "xxxxxxxxxx" and message "How are you today?" to your own values.

    Arduino Code:

     #include <SoftwareSerial.h>

      SoftwareSerial gprsSerial(7,8);

      void setup()

      {    gprsSerial.begin(19200); // GPRS shield baud rate




      void loop()

      {    if (Serial.available()) // if there is incoming serial data

         switch(Serial.read()) // read the character

         {       case 't': // if the character is 't'

             SendTextMessage(); // send the text message


           case 'd': // if the character is 'd'

             DialVoiceCall(); // dial a number



        if (gprsSerial.available()){ // if the shield has something to say

          Serial.write(gprsSerial.read()); // display the output of the shield

        }  }


      * Name: SendTextMessage

    There are no reviews for this product.

    Write a review

    Please login or register to review


    *for faulty items and in-store drop off for unused items. T&C applies.

    Customer Support

    We really care about you and your order as much as you do. Please contact us without hesitation.


    We can ship your order internationally. Please contact us first before proceeding with your order.

    Fast Delivery

    You want your item next day? No problem! We advise contacting us ASAP to insure smooth delivery experience