Quickstart SIM800 (SIM800L) with Arduino

SIM800 is one of the most commonly used GSM module among hobbyists and Arduino community. Even though AT command reference is available with a quick Google search, it is not very easy for a beginner to properly understand and use Arduino with SIM800. Therefore, this post summarizes how a beginner could interact with SIM800 using Arduino and in few future posts we’ll be going ahead with several other real life use cases discussing how SIM800 can be used with Arduino effectively.


Caution! : SIM800 module itself uses input voltage of 3.7V – 4.2V. Therefore, if you directly connect the Vcc pin to Arduino 5V pin, it might damage the module as well. I tried 3.3V Arduino pin with no luck. Therefore if you have the SIM800 module itself, you will have to get the input voltage in range, maybe with a LM317 (and few calculations with a LM317 calculator).

Fortunately I am using below module with voltage regulators built in :

SIM800L Module

For above module Arduino to SIM800 connectivity was pretty straight forward .

  • SIM800 5v/4v Arduino 5v
  • SIM800 GND (either one) Arduino GND
  • SIM800 SIM_TXD Arduino D8 (read through for the reason)
  • SIM800 SIM_RXD Arduino D7 (read through for the reason)

Connect module with Arduino as mentioned above or with any changes depending on the module being used. Insert a valid SIM card and connect the Arduino with Arduino IDE.

Simple Serial Communication

Below is the simplest program usable to interact with SIM800 :

#include <SoftwareSerial.h>

//SIM800 TX is connected to Arduino D8
#define SIM800_TX_PIN 8

//SIM800 RX is connected to Arduino D7
#define SIM800_RX_PIN 7

//Create software serial object to communicate with SIM800
SoftwareSerial serialSIM800(SIM800_TX_PIN,SIM800_RX_PIN);

void setup() {
  //Begin serial comunication with Arduino and Arduino IDE (Serial Monitor)
  //Being serial communication witj Arduino and SIM800
  Serial.println("Setup Complete!");

void loop() {
  //Read SIM800 output (if available) and print it in Arduino IDE Serial Monitor
  //Read Arduino IDE Serial Monitor inputs (if available) and send them to SIM800

Upload above code to the Arduino (Code itself is self explanatory. Hence, will not repeat same). Once upload is complete start the Arduino Serial Monitor from Tools menu. Set Baud rate to 9600 and in drop down left to boud rate selection set “Both NL and CR”.

Once done, you can freely send AT commands to SIM800 and see the output in real time. Few examples :

AT – is to check if interface is working fine.
AT+CFUN – is used to set phone functionality
AT+CFUN? – returns currently set value for AT+CFUN
AT+CFUN=? – returns all possible values that can be set for AT+CFUN (similar to help)
AT+CFUN=1 – is to sent AT+CFUN to 1 (full functionality)
AT+CREG? – to get network registration information. stat=1 means you are registered with home network
AT+COPS? – returns currently registered operator details
AT+COPS=? – returns all the operators available

AT Commands

Sending SMS with SoftwareSerial

In below code delay of 1 second is used after each command to give necessary time for SIM800 to respond to each command. With this approach it is not possible to clearly identify any ERROR conditions because program will not ready the responses sent. Proper method of doing this is by checking each response against an expected value. This is already handled in most of the Arduino libraries including “Seeeduino” library we’ll be using below. Hence, for this stage, 1 second delay is used for the sake of simplicity.

Note : Replace 07194XXXXX with mobile number SMS should be sent to.

#include <SoftwareSerial.h>

//SIM800 TX is connected to Arduino D8
#define SIM800_TX_PIN 8

//SIM800 RX is connected to Arduino D7
#define SIM800_RX_PIN 7

//Create software serial object to communicate with SIM800
SoftwareSerial serialSIM800(SIM800_TX_PIN,SIM800_RX_PIN);

void setup() {
  //Begin serial comunication with Arduino and Arduino IDE (Serial Monitor)
  //Being serial communication witj Arduino and SIM800
  Serial.println("Setup Complete!");
  Serial.println("Sending SMS...");
  //Set SMS format to ASCII

  //Send new SMS command and message number
  //Send SMS content
  //Send Ctrl+Z / ESC to denote SMS message is complete
  Serial.println("SMS Sent!");

void loop() {

SIM800 Libraries

With a quick Google search you will be able to find several SIM800 Arduino libraries. After going through source codes of several libraries my selection was “Seeeduino_GPRS” library which provides basic SIM800 features as well as additional set of GPRS related features.

Sending SMS with Seeeduino Arduino library

Note : Seeeduino library assumes that TX connected to D8 and RX is connected to D7 on Arduino. This is the reason we used relevant pins at first place. If you need to connect SIM800 with any other Arduino pin, you will have to modify the library source (gprs.h) and add a new constructor. Library uses MIT license.

Once library is installed in Arduino IDE File menu, Examples section you will find “Seeeduino_GPRS” library and withing examples you will find “GPRS_SendSMS” example which reads as follows :

Sketch: GPRS Connect TCP

Function: This sketch is used to test seeeduino GPRS's send SMS func.to make it work, 
you should insert SIM card to Seeeduino GPRS and replace the phoneNumber,enjoy it!
note: the following pins has been used and should not be used for other purposes.
  pin 8   // tx pin
  pin 7   // rx pin
  pin 9   // power key pin
  pin 12  // power status pin
created on 2013/12/5, version: 0.1
by lawliet.zou(lawliet.zou@gmail.com)
#include <gprs.h>;
#include <SoftwareSerial.h>;

GPRS gprs;

void setup() {
  Serial.println("GPRS - Send SMS Test ...");
  while(0 != gprs.init()) {
      Serial.print("init error\r\n");
  Serial.println("Init success, start to send SMS message...");
  gprs.sendSMS("07194XXXXX","hello,world"); //define phone number and text

void loop() {
  //nothing to do

If you go through Seeeduino library you will notice that it is possible to send commands directly for any advanced use cases. For examples there are library methods such as :

  • sendCmdAndWaitForResp(const char* cmd, const char *expectedResp, unsigned timeout)
  • sendCmd(const char* cmd)
  • waitForResp(const char *resp, unsigned int timeout)

Hence, you could simply correctly rewrite the SMS sending application as below (reinvent the wheel) :

    if(0 != gprs.sendCmdAndWaitForResp("AT+CMGF=1\r\n", "OK", DEFAULT_TIMEOUT)) { // Set message mode to ASCII
    if(0 != gprs.sendCmdAndWaitForResp("AT+CMGS=\"07194XXXXX\"\r\n","&gt;",DEFAULT_TIMEOUT)) {

I hope we have covered enough details for a quick start. It will be helpful if you could further go tough Seeeduino library to understand how they have used different commands.

Read more about SIM800 at :

184 comments on “Quickstart SIM800 (SIM800L) with Arduino

  1. Alex February 1, 2016 4:56 PM

    Do you have any information on how to do http post requests with the SIM800L? What form of additional power supply do you use? I would like to run this off a battery that’s also powering the arduino but am yet to make it work.

  2. Felipe March 6, 2016 1:24 AM

    Good afternoon, I’m having trouble sending sms
    My Sim800l apparently present is functioning normally.

    I tested the following AT commands

    – I received the response “OK”

    AT + CPIN? ** This check is SIM unlocked.
    – I received the answer “+ CPIN: READY” That means it is unlocked.

    AT + CREG? ** This is to verify that SIM is registered
      I received the reply “+ CREG: 0.2” What do you mean you’re not registered, however I’m not sure if that’s right, because usually I use the chip in the mobile device.

    AT + CSQ ** This check signal quality
    I received the answer “+ CSQ: 0.0”

    I’m trying to send the SMS to the unit, the serial arduino shows that the SMS was I sent, but it does not get any SMS on my device
    What is possibly occurring

    thank you !!

    • Ayoma April 19, 2016 2:36 PM

      Hi Felipe,

      This looks more like a operator problem to me (because you got “+CREG: 0.2”). This basically means mobile terminal is currently searching for a operator to register with. Just to be sure, can you try out the same SIM card with a regular phone and see if operator registration happens without any problem. In addition, you can try “AT+COPS=?” to list all available operators and see if your operator is getting listed. Maybe the signal reception of SIM800 is lower than it is with the mobile phone itself.


      • Jose Laguna January 28, 2018 1:06 AM

        Hi Ayoma, I am using the same SIM800L module as you do and I have the same situation as Felipe has. I tried already the SIM card with cell phones and it works fine. Is there any way or command to increase the signal reception level?, in Mexico we have 3 operators, Telcel, AT&T, and Movistar. My system does recognize Movistar network only and I didn try with them yet. I only tried with AT&T and Telcel and have the same problem. Let me know your comments please.

    • Gloria M. May 4, 2017 3:50 AM

      I´m have this exactly same problem with my Sim800L.. Same answers to the AT commands.. I have a regulable power supply with 4V and 3A, and however the problem persist.. What can be done? How can it be solved?? Are you resolved it??

      Many thanks for your advices… Greetings from Venezuela!!

      • Sandeep February 19, 2018 3:28 PM

        I had similar problem. I solved it by
        1. Have a separate power supply for SIM module. Don’t plug it with arduino
        2. It don’t work with clone versions of arduino, buy original arduino.

    • Talin January 9, 2020 10:18 AM

      Good day Mr. Ayoma,
      Is it possible to operate the chip with just buttons to send a message after editing the codes? It doesn’t need to receive a message though, just send. Thank you in advance.

  3. Bogdan March 29, 2016 6:58 PM

    I need help with SIM800L module.
    For test I use Arduino MEGA 2560 and SIM800L module.
    SIM800L answer to AT commands, attach to gprs network, get local ip address and connect to server via tcpip client mode.
    That all is work fine. But I have problem with AT+CIPSEND.
    For example, to send 10 bytes of data I send AT+CIPSEND=10 and then write to serial 10bytes.
    After it module send me “DATA ACCEPT:10” (AT+CIPQSEND=1) and then my server received 10bytes of data.
    If module send me “DATA ACCEPT:10” all work fine but sometimes after AT+CIPSEND=10 with data I haven’t get any respond from module.
    It seems that module doesn’t accept all my data and AT+CIPSEND steel wait for data.
    I try manual send some byte to serial and then module respond “DATA ACCEPT:10”.
    I couldn’t understand why SIM800L sometimes doesn’t accept my data from serial and how to fix my problem.
    I try to send data with AT+CIPQSEND=0 (than I must receive SEND OK) and AT+CIPQSEND=1 but steel have the same problem.
    I test with serial speed 19200 and 9600.
    How can I debug my problem?
    I already work with this problem about 2-3 weeks and couldn’t find what is wrong.
    Thanks, Bogdan

    • Sandeep February 19, 2018 3:29 PM

      I had similar problem. I solved it by
      1. Have a separate power supply for SIM module. Don’t plug it with arduino
      2. It don’t work with clone versions of arduino, buy original arduino.

  4. Pritha Tyagi April 1, 2016 10:04 PM


    Thank you so much for posting such wonderful programs. Can you please help me?
    How can I modify the above “Simple Serial Communication” program & “Sending SMS with SoftwareSerial” so that I may connect Tx & Rx of GSM Module with Tx & Rx of Arduino Uno? Is there a way?

    Thanks, Pritha

    • Ayoma April 19, 2016 3:04 PM

      Hi Pritha,

      PIN mapping is actually in the post itself. Sorry, I did not include a diagram there. This is same for Uno as well. Please let me know if I did not understand your question well.

      SIM800 5v/4v ↔ Arduino 5v
      SIM800 GND (either one) ↔ Arduino GND
      SIM800 SIM_TXD ↔ Arduino D8 (read through for the reason)
      SIM800 SIM_RXD ↔ Arduino D7 (read through for the reason)


  5. Tauseef April 3, 2016 12:43 PM

    My GSM sim800L module which is connected to Arduino Mega is not responding to any of the AT commands.
    I tried with code which you have posted here, still there is no responses. Can you please help me out?

    • Ayoma April 19, 2016 4:25 PM

      Hi Tauseef,

      Are you sure that you followed the “Wiring” section correctly. Supply voltage might differ based on the module you are using. This should be something to do with wiring problem or supply voltage mismatch.


  6. Margaritta April 3, 2016 8:47 PM

    My SIM800 doesn’t respond att all to any AT command, I’ve tried the code but it doesn’t work

    ¨Please Help me


    • Ayoma April 19, 2016 4:26 PM

      Hi Margaritta,

      Are you sure that you followed the “Wiring” section correctly. Supply voltage might differ based on the module you are using. This should be something to do with wiring problem or supply voltage mismatch.


      • Bilal August 26, 2016 12:18 AM

        Wiring is OK and messages are sent but not showing any AT command Response on Monitor altough the function of AT is workiing.
        Also help me to find the how to receive messages

    • chris October 4, 2016 4:45 PM

      HI, i got the same problem as yours. but i’m using SIM800C, another version of SIM800 series. Have you already solved your problem?

    • Huy Nguyen November 26, 2017 10:03 AM

      Me too, I’m using SIM800C. The problem is SIM800C need new line character “\n” below each command.

  7. Clondedyke April 7, 2016 12:25 AM

    With the exact same modul as described here and using Adafruit’s Fona library and example sketches I was able to run the Adafruit demo sketches without any problem (on a Arduino micro pro and Arduino Duo). Especially the FONAtest sketch is very helpfull to understand the modul – very much recommended for newbies!

    • Ayoma April 19, 2016 4:27 PM

      Sure look neat. Thanks for sharing.

  8. celem April 7, 2016 9:38 PM

    Thank you for this excellent post. Thanks to your post testing my new SIM800L EVB was quick and painless.

  9. Stu April 16, 2016 4:49 PM

    Hi! I have a SIM800L with break out, but without any level shifters. The module works perfectly, attached to 3.7V and the (official) 3.3V FTDI USB serial cable.

    I cannot make my ESP8266 (running the Arduino Core, and your first example) communicate with the SIM800L. I’m using pins 14 and 16 for TX and RX. I get some noise when I turn off the SIM800L, but apart from that they refuse to talk to eachother.

    I tried reversing TX and RX, no luck.

    Could it be that the 3.3V of the ESP is not strong enough for the 3.7V SIM800L? But then again, I think the SIM800 works on 2.8V internally. Or should I use the DTR pin on the SIM800L?

    So confused!

    • Ayoma April 19, 2016 2:59 PM

      Hi Stu,

      ESP8266 and SIM800 sure looks like an interesting idea to try out. I will give this a go.

      AFAIU SIM800L works fine in rage of 3.4 to 4.4 supply voltage http://www.seeedstudio.com/wiki/images/4/46/SIM800L_Hardware_Design_V1.00.pdf

      I have experienced that, if supply voltage is little lower than the required rage, SIM800L will function all fine but will fail to perform heavy functions like sending SMS, operator registration, etc. However, I am not very sure what are minimum signal voltage levels of RX and TX pints. Maybe your guess is right. I will try this setup and get back.


      • Stu April 20, 2016 11:07 PM

        Hi Ayoma,

        Awesome. I’m providing a nice clean 3.7V to the SIM800L module, which it seems to be happy with (3.3V is indeed to low to operate on). The required TX/RX signal voltage is a bit of a mystery to me. I’d suspect 3.3V should work, as my FTDI cable uses this signal voltage. Perhaps the ESP is not providing strong enough (maybe not even 3.3V) signals.

        I’d be very interested to hear your results.

    • Scott June 29, 2016 7:51 AM

      I assume you have common ground between the two? It looks like the min VOH of the ESP8266 is 0.8 * VDDIO which it sounds like you have at 3.3V which means the VOH of the ESP8266 is about 2.64V and it looks like the SIM800L accepts 2.5 to 2.8V as it’s VIH on the serial ports. If you’re near the low end on the output of the ESP and on the high end of the SIM800L you could have a problem with your voltage levels. Do you have a scope or logic analyzer? If not, you may be able to measure the idle state of both devices to find out what they’re VOH is sitting at with a DMM. It you do that, the serial needs to be idle or it will affect the measurement.

      • Diego August 30, 2017 7:47 AM

        same problem here.

  10. Fred April 20, 2016 12:23 PM

    I also have SIM800L which is connected to Arduino Duemilanove. The module registers to the network and I am able to call the number but it absolutely does not answer to “AT” commands in Arduino Serial Monitor. I also tried in PuTTy where enerything just freeze. The power to the module comes from scientific power supply unit which is definitely more than enought (4 volts). What else should i check? The module came without soldered headers, so maybe i heated TX / RX too much…

    • Fred April 22, 2016 12:33 PM


      • Scott June 29, 2016 7:25 AM

        do you get any information in the serial monitor?

  11. Pascal Roobrouck May 6, 2016 9:46 PM

    Thanks for this tutorial.
    I needed 1 small modification : my SIM card needs a PIN code entered, only then it connects to the mobile network.
    Found the SIM800L reference manual and the command is AT+CPIN=xxxx (replace xxxx with your PIN code).
    Then I succesfully sent my first SMS. Thanks again.

    • Simon November 10, 2016 6:42 PM

      Hello Pascal.
      Where do you put the code line of PIN?
      Is it looks like this:

  12. Kevin May 8, 2016 6:10 AM

    I cant send the sms, when i open the serial monitor just says Setup Complete, Sending SMS, SMS Sent, but i dont receive anything, help please, what am i doing wrong

    • Simon November 10, 2016 6:45 PM

      Hello !
      I have the same.
      Already solved this problem ?

      • Sheynin Yossymar Checmapoco Paucar March 26, 2018 7:56 AM

        Puedieron resolverlo?

  13. michael knudsen June 15, 2016 6:04 PM

    I have trouble getting sim800l to work on the Arduino Mega works fine on arduino uno
    have tried other serial ports
    hope you can help
    regards, Michael

  14. Ervin June 28, 2016 12:33 PM

    is there a way to know if SIM800L EVB module is working or is simply on (also without SIM for example)?
    i’ve tried to upload your code but nothing.. no response from the module.


  15. Dimitris Piralis July 2, 2016 1:35 AM

    Some times it doesnt make call ,do you know how to force to do call? Maybe w8 for signal be ready and call. If i try to make for ex. 10 calls, 3 calls doesn’t work even Led flash every 3 min (that means it has signal).

  16. jef July 9, 2016 9:12 PM

    Dear Ayoma it’s a very good post to start
    many questions many replies
    no many thanks
    many thanks instead of who forget to do so

  17. harshitha vajha July 10, 2016 10:28 PM

    thanks for the post! I AM USING SIM800 .but it doesn’t respond to any of the AT commands. I’ve powered the gsm module with a 12v adapter and i made these connections:
    gsm RXD7 arduino
    gsm TX D8 arduino
    gsm GNDGND arduino
    Pls help me fix this. Any help would be appreciable.

  18. Jeffin Thomas July 13, 2016 5:25 PM

    hi i can sent msg to other phone using 800l .i just want to recieve msg , plz can you help me

  19. Buk July 18, 2016 2:47 PM

    I have a PIN CODE on my Sim card. To use the seeduino library i just put gprs.sendCmd(“AT+CPIN=\”1111\”\r\n*”) as the first line in the setup(). (Here 1111 is the PIN code).

  20. Cristobal July 21, 2016 10:07 PM

    Sim800 + Arduino Uno, use pin D8 and D7 as a serialsoftware communication.

    Sim800 + Arduino Mega, use pin D10 and D11 as a SoftwareSerial or pin Rx/Tx 1 to 3 as a HardwareSerial communication.

    • mg January 19, 2017 12:31 PM

      thank you

    • luis March 30, 2017 6:37 PM


  21. Gigeox August 1, 2016 2:49 AM

    Hello, I bought the card GSM 800L Sim and I uploaded the sketch as shown, it works, I connected an antenna, a power supply 9v 1 ampere and usb connection. Recommend to program Arduino after unplugging the 5-volt connection between the two boards because when Arduino executes the program loop and does not accept programming.
    P.S. sorry for my english google.

  22. Gigeox August 1, 2016 3:04 AM

    Thanks you Ayoma for the tutorial and sketch, I used the same Sim800 card that you use in the tutorial.

  23. Noel Kuck August 24, 2016 2:26 AM

    I am trying the sketch with an Arduino UNO and a Sim800H shield. I get no response from the AT command. Not sure where the trouble might be. Thoughts? Thanks!

  24. vinicius August 26, 2016 9:45 AM


    Please I want to send SMS for contacts inside de sim card. Phonebook inside de sim card – Is it possible?


  25. wistful August 30, 2016 3:57 PM

    Thank you so much for posting such wonderful programs. Can you please help me?
    I can not upload to the sim800. the error is
    I think there is a problem with wiring but I don’t know what I can do. I use the arduino pro micro which have 3 GND.
    would you please let me know your idea and if it is possible please give me your email which I send you my circuit for checking wiring for me.
    I appreciate for your guidance in advance

  26. Nuwan September 12, 2016 10:23 AM

    1-is this module work in sri lanka?
    2-which is better to use for http(sim900 or sim800)

    • pubudu December 5, 2016 9:02 AM

      sim 900

  27. Hasby Fahrudin September 22, 2016 7:38 PM

    when i send AT command , it just respond with “ÿÿÿÿÿ” . any one know how to fix it?

    • Antonio September 27, 2016 1:04 PM

      Have you tried to choose the “Both NL & CR” option in the Serial Monitor select next to the the Autoscroll checkbox?

  28. Antonio September 27, 2016 12:59 PM

    I’m having a problem with the module. I’ve connected to the Arduino 5V but when sending the AT commands, it works sometimes and sometimes it gives me the error “UNDER VOLTAGE WARNING”. My Arduino is supplying 4.5V instead of 5V (both, by USB or 13V power jack supply). I’ve tried to connect the module to 5v 1A directly, but then the module doesn’t respond to any AT command.

    • InTheSameBoat October 14, 2016 6:21 PM

      Try AT+CBC., with your first setup. It should return three numbers, the last one being the voltage level, in millivolts. My SIM800L is using an external power supply (5V, 2A), and I’m getting values ranging from 4289 up to 4307.

      • Antonio February 23, 2017 1:22 AM

        I tried it and I’m getting about 3947. What is the external power supply you are using?

  29. chris October 3, 2016 9:17 PM

    I have SIM800C GPRS/GSM Shield. Are the commands and the configurations the same for sending SMS? What’s the difference between SIM800L and SIM800C?

    • chris October 4, 2016 2:49 PM

      Anyone please? i did all the connections of arduino to the gsm module and the configurations in the arduino serial monitor. i am using SIM800C GSM/GPRS module but the codes in SENDING SMS still don’t work well. After “Setup Complete!”, I entered the AT COMMANDS and NOTHING HAPPENS. I’m not sure if these commands are applicable to all SIM800 series inlcuding SIM800C. Really need help from an expert. Newby here. Thank you in advance.

      • InTheSameBoat October 14, 2016 6:07 PM

        In order to be able to send AT commands, your void loop block needs to look like this:

        void loop() {
        //Read SIM800 output (if available) and print it in Arduino IDE Serial Monitor
        //Read Arduino IDE Serial Monitor inputs (if available) and send them to SIM800

  30. janamhosein October 10, 2016 11:31 AM

    How can I set up the Sim800l and compatible with Arduino DUE code,The codes are not incompatible with the board please to my guide .

  31. InTheSameBoat October 14, 2016 6:09 PM

    I’ve been testing the code provided on this site, and it seems that I can not send an SMS which has more than 160 characters. Is that a limitation of one of the libraries, or the module in general? Or is it a buffer issue?

    • Guilherme Favato January 11, 2017 2:32 AM

      Maybe that is because of message enconding (like utf). Here in Brasil if I send a SMS with accentuation the message is limited to 160 characters . That’s on a regular phone.
      Excellent post, Congratulations Ayoma

  32. Carlos Andrade October 26, 2016 4:06 AM

    Good evening,
    I’m trying to create a code where any text or number is entered in the Serial Monitor, and from there a message is sent to my phone.
    I know it’s pretty simple, but I could not create.
    Help me please.

  33. Simon November 10, 2016 5:55 PM

    I have arduino mega and module sim800l evb.
    I wrote the same program as described above.
    I have uploaded it to the arduino.
    Serial monitor flashed me a message.
    SMS SENT!”
    But did not get a text message on my phone.
    What is wrong?
    Help me please.

  34. Peter November 17, 2016 1:31 AM

    I’ve tried to run this Arduino code (to communicate via UART with SIM800L module) on my Arduino Nano v3, but I can’t get RX-TX loop working. For testing purpouse I’ve connected RX and TX pins together to make simple echo – but can’t get anything on System serial monitor in this configuration. Can anyone help?

    • Peter November 17, 2016 3:48 AM

      Ok, I think I know the reason. SIM800L Serial is GPIO based, so CPU need it’s time to send/receive (toggle GPIO pins). It can’t do both at the same time (only hw based UART can do that due to TX/RX buffers – i.e. Serial monitor). In regular echo TX is RX, so It has to be send & received at the same time. That’s why it isn’t working.

      It seems that this simple UART extension can only work in half-duplex mode.

      • Peter November 21, 2016 6:08 PM

        I’ve connected SIM800L module via Adruino Nano v3 and used simple Adruino code to drive SIM module from PC com monitor, and it works but only partially. Some characters are missing while sending them to SIM800 module. i.e. AT returns OK. AT+CFUN=? returns ERROR (in echo mode it also returns AT+FUN?), so if I send AT+CCFUNN=? it returns good response for CFUN.

        Can anyone advice anything?

  35. jef November 20, 2016 2:23 PM

    hello,, how to delete messages using seeduino library?
    please help me

    • Peter November 22, 2016 3:33 AM

      Try to call :

      MySeenduino.sendCmd(“AT+CMGD=X\r\n”, “OK”, DEFAULT_TIMEOUT);

      where X is msg number from AT+CMGL=”ALL” command

  36. sakhantar@gmail.com November 28, 2016 7:43 PM

    hello , i dont have sim800 nor gsm sheild and i like to use phonsell for the same option is it possibol? thnx

  37. Josef Gull December 1, 2016 11:09 PM

    josefgull@hotmail.com hi im using an Arduino nana so i changed tx to pin 0 rx to pin 1 and used a diode to drop the voltage to 4 v i uploaded the 1st sketch but ist not “answering” correct to my at-commands an sometimes it answers even with question sins and wierd looking “items” so can you help my ?

  38. pubudu December 5, 2016 8:59 AM

    i am using a arduino uno with sim800 board for mini project. i want to send a sms when given a signai (high) to any of arduino pin. i tried to write a code for that and i failed. plsssssss can you help me to write the code.
    thanks you

  39. Phil December 12, 2016 6:01 PM

    Hey! Nice Tutorial!
    I have some troubles with my Sim800L modul! Is it possible to send email by the sim800L module or only by the sim800 modul?
    With Sim900 it works fine! Can you make also a tutorial for sending emails?
    Thanks a lot in advance!

  40. shozib December 13, 2016 6:29 PM

    how to receive a message through sim800l? sir do have any idea about it?

  41. Ryan January 18, 2017 11:48 PM

    Hi I’m trying to get this to work with a potentiometer. I’m wanting to send a message once the potentiometer has gone bellow a set integer

    • Ryan January 18, 2017 11:51 PM

      Hi I’m trying to get this to work with a potentiometer. I’m wanting to send a message once the potentiometer has gone bellow a set integer. Is there any
      one that can help with the code as I’ve tried but it doesn’t seem to work

  42. MenDai January 19, 2017 9:32 AM

    Thank you! I had been doing this for the past 2 days and it kept failed sending the SMS before I finally changed my Arduino board from Nano to Uno. Finally it works like a charm. I dunno what is the reason but that’s the bitter truth :/

    • Stefan January 20, 2018 4:10 AM

      Hi, the problem Arduino Nano + SIM800 is the integrated USB to serial converter. That one interacts in a very bad random way with the serial communication between the two boards. Sometimes it works, some time it wont, sometimes you get only the first or last part of the message.
      Using hardware serial of the Arduino nano to communicate to the pc and software serial (choosing tho different pins) to communicate to sim800 will solve the problem.
      I found it out the hard way loosing three weeks on it.

  43. Henrik Lauridsen (@henrikl2000) January 29, 2017 7:09 PM

    Hi, Thank you for sharing.
    I am having problems to get it to work though. From your example Simple Serial Communication I have tried different commands.
    AT gives OK, AT+COPS? gives +COPS: 0
    AT+COPS=? gives +COPS: (1,”TDC Mobil”,”DK TDC”,”23801″),(2,”23866″,”23866″,”23866″),,(0-4),(0-2)
    I have tried to connect via AT+COPS=1,2,23866 and AT+COPS=1,0,”TDC Mobil” and AT+COPS=1,0,”DK TDC” but only receives an ERROR. Changing the SIM card didn’t help. One of the SIM cards is from TDC
    AT+CPIN=”6378″ returns Call Ready SMS Ready

    AT+CSQ gives +CSQ: 23,0

    What can I do to register my SIM?
    If I put the Sim card in a phone there is no problem connecting.

    Thank you in advance,

    • Flemming July 22, 2017 1:06 PM

      Hi Henrik
      Did you solve your problem? I have the same problem here in DK.


      • Erik July 26, 2017 5:05 AM

        Har i fundet ud af det, har samme problem.
        Håber i har knækket nødden…

  44. fornax February 13, 2017 12:13 AM

    Hey, also thanks for sharing. I believe this is a good starting point.
    I spotted a tiny mistake in line 37: 26dec/0x1A character is SUB, not ESC (which would be 27dec/0x1B). Might be confusing for people relying on the text.

  45. ASHRAF SAAD February 25, 2017 4:54 PM

    hello i need some help me for my graduation project sim8ool with arduino uno … my project is sending sms by sim800l when i apply 5v to input pin 7 …

    SoftwareSerial sim800l(3, 2); // RX, TX
    const int buttonPin = 7;
    int buttonState = 0;

    void setup()

    pinMode(buttonPin, INPUT);

    void loop()

    buttonState = digitalRead(buttonPin);

    if (buttonState == HIGH) {




    if (sim800l.available()){

    void SendTextMessage()
    Serial.println(“Sending Text…”);
    sim800l.print(“AT+CMGF=1\r”); // Set the shield to SMS mode

    // sim800l.print(“http://maps.google.com/?q=”);
    // sim800l.print(lat);
    // sim800l.print(“,”);
    // sim800l.print(lng);

    sim800l.print(“\r2222”); //the content of the message
    sim800l.print((char)26);//the ASCII code of the ctrl+z is 26 (required according to the datasheet)
    Serial.println(“Text Sent.”);


    void DialVoiceCall()
    sim800l.println(“ATD00201284122244;”);//dial the number, must include country code

  46. ASHRAF SAAD February 25, 2017 4:55 PM


  47. behzad February 26, 2017 4:44 PM

    HI , when i try to make voice call ,i give this answer : NO CARRIER

    what i should do?

  48. amith March 4, 2017 8:14 PM

    The module is receiving a msg but it in ascii standard , am.not getting the original what am sending from my cel phone how to correct this plz help me

    • Karthick March 7, 2017 2:52 PM

      send tat code //.. so that i can help yu

  49. Karthick March 7, 2017 2:51 PM

    @amith can yu send me tat code so that i can help yu ?

  50. mv March 14, 2017 11:05 AM

    Arduino with sim900 module is disabled after a day or course sim900 module is completely safe and always receives sms but the Arduino module led after one or more days is no longer able to enable or disable.
    SoftwareSerial SIM900 (7, 8);
    char incoming_char = 0; // Will hold the incoming character from the Serial Port.
    int led_status = 0;
    int led1 = 10;
    int led2 = 13;
    void setup () {
    pinMode (led1, OUTPUT);
    pinMode (led2, OUTPUT);
    SIM900power ();
    Serial.begin (19200); // Set the baud rate
    SIM900.begin (19200); // For GSM shield
    delay (20000); // Give time to log on to network.

    SIM900.print ( “AT + CMGF = 1 \ r”); // Set SMS mode to text
    delay (100);
    SIM900.println ( “AT + CNMI = 2,2,0,0,0 \ r”);
    //SIM900.print(“AT+CLIP=1\r “); // Turn on caller ID notification

    digitalWrite (led1, LOW); // Set led to LOW
    digitalWrite (led2, LOW);
    // Serial.println ( “AT + CMGD = 1,4”); // Delete all SMS in box

    void sendSMS (char led_status) {// SEND SMS

    SIM900.print ( “AT + CMGF = 1 \ r”); // AT command to send SMS message
    delay (1000);
    SIM900.println ( “AT + CMGS = \” + 9xxxxxxxx \ “\ r”); // Recipient’s mobile number, in international format
    delay (1000);
    if (led_status == 0)
    SIM900.println ( “ALARM ON”);

    SIM900.println ( “ALARM OFF”);
    delay (1000);
    SIM900.println ();
    delay (5000); // Give module time to send SMS
    void SIM900power ()
    // Software equivalent of pressing the GSM shield “power” button
    digitalWrite (9, HIGH);
    delay (1000);
    digitalWrite (9, LOW);
    delay (7000);


    void loop () {
    // # A1s on & # a0s off
    if (SIM900.available ()> 0)
    incoming_char = SIM900.read ();
    if (incoming_char == ‘#’)
    delay (10);
    incoming_char = SIM900.read ();
    if (incoming_char == ‘a’)
    delay (10);
    incoming_char = SIM900.read ();
    if (incoming_char == ‘0’)
    digitalWrite (led1, LOW);
    digitalWrite (led2, LOW);
    else if (incoming_char == ‘1’)
    digitalWrite (led1, HIGH);
    digitalWrite (led2, HIGH);
    else if (incoming_char == ‘S’)
    digitalRead (led1);
    led_status = digitalRead (led1);
    led_status = digitalRead (led2);
    Serial.print (led_status); // Prints status on serial terminal
    sendSMS (led_status);
    delay (10);
    // End AT command with a ^ Z, ASCII code 26

    delay (5000);

    led_status = digitalRead (led1);
    led_status = digitalRead (led2);
    Serial.print (led_status); // Prints status on serial terminal
    sendSMS (led_status);
    SIM900.println ((char) 26);

  51. nandhan March 18, 2017 10:43 PM

    i have a sim 800c module and an arduino uno.i need an output in pin1 of arduino when a call receive at gsm module.
    please help me.

  52. Travis March 20, 2017 5:06 AM

    please help I used the Sending SMS with SoftwareSerial and the output is
    Setup Complete!
    Sending SMS…
    SMS Sent!
    Yet I receive no text, and I have replaced the phone number with my phone number starting with the country code 1, followed by my area code and remainder of my cell phone number in the format that looks like this: 18501234567. Have not received a text. Please advise, thank you.

      • Athanasios Kasapis May 30, 2017 5:11 AM

        Probably is power supply problem. Try to use an external power supply which at least can provide 2 Amps. Also, it is a good idea to connect to +5V and GND a capacitor (200uF).

  53. Tiffany April 3, 2017 6:13 PM


    I would really appreciate it if you could let me know how this can be achieved in C code as I am using PIC16F819, and I want to send a simple text message to my phone.

    Thank you for your help.

  54. proxy list April 9, 2017 7:16 AM

    What’s up,I log on to your blogs named “Quickstart SIM800 (SIM800L) with Arduino” daily.Your writing style is witty, keep it up! And you can look our website about proxy list.

  55. ROSHAN April 13, 2017 9:49 AM

    hello, I have just started to work with arduino, my project is based on SIM800L, Im able to send SMS to a specific(only my second mobile number) mobile number,but i actually want to send this SMS after getting a call from my another number,SIM must no respond to other callers,
    could you please tell me which AT command or any logic to achieve my aim ..
    simply how can i compare the callers number with my mobile number,so that i can use if() function.

  56. Peter April 21, 2017 12:26 AM

    Hello, is there any way to use hardware serial (for communication between the arduino and the sim800L board), instead of the software serial you use on the example above?

  57. Peter April 21, 2017 5:20 PM

    I get this error:

    FONA basic test
    Initializing….(May take 3 seconds)
    Attempting to open comm with ATs
    —> AT
    Couldn't find FONA

    What is wrong? I use MEGA2560 with the below options:

    #define FONA_RX 35
    #define FONA_TX 33
    #define FONA_RST 37

  58. Lynda Stegent April 24, 2017 3:13 AM

    Hey, nice site, regarding Word-press plugins can anybody recommend a easy to install Clickbank plugin? A free plugin would be awesome – Regards

  59. Sammty May 10, 2017 5:46 AM

    why am I getting this error pls?
    Setup Complete!

    • liaan November 3, 2017 1:03 AM

      Hi i am receiving the same error. have you had any luck?

      • Stefan January 20, 2018 4:18 AM

        Your baudrate are mismatching.
        Set a specific baudrate on the sim800 with
        for example and save it so it will be set after a restart with

        Then set the same baudrate to whoever is communicating with the sim800 (arduino or serial monitor or whatever)

  60. konig87 May 19, 2017 2:41 AM

    Hi Sir,
    i have problems with turning on the module. I used 2 resistors to divide current: +5v from Arduino, 80ohm, 740ohm, then GND. It’s about 4,24v but it seems to be dead: no led turn on and using your first code, after Setup Complete! it begins to make null characters in horizontal COM, and even if i write “AT” it continue to write cursors on the right.
    The Red Led is off. what shall i do?
    i see that when i link cables VCC and GROUND, the VCC goes from 4,24v to 3,30volt, maybe it’s not enough to turn it on? shall i use bigger resistors to avoid lack of voltage?
    Thank you so much!

  61. reza May 31, 2017 4:37 PM

    bascom print “at+httppara=url,”…………..”” error why

  62. reza May 31, 2017 10:10 PM

    I want to upload file with http sim 800 with bascom but tow get error double quotation together for example :print”at+httppara=url,”www……….”” what should i do?

  63. FrancisX June 23, 2017 6:33 PM

    I must say you have hi quality content here. Your posts should go viral.
    You need initial traffic only. How to get massive traffic?
    Search for: Murgrabia’s tools go viral

  64. Stergios July 5, 2017 6:36 PM

    I can’t understand how the SIM800L reset pin works.
    I have regulated the 3.3v to 2.8v (http://prntscr.com/frxdhj , actually is 3.23 to 2.69)

    All libraries does not send the reset pin as output….why?
    pinMode(RESET_PIN, OUTPUT);

    • Stefan January 20, 2018 4:22 AM

      You forgot to set it high again.
      if it doesnt work look for the exact timing it has to be low. i think i saw half a secont somewhere, but have not checked it at all.

  65. GL035 July 31, 2017 7:42 PM

    Bonjour a tous
    Les module SIM800L EVB fonctionnent parfaitement avec une
    alimentation extérieure de 5V 2A. à condition de la découpler
    avec un condensateur de 4000 micro-farad car toutes les
    alimentations n’ont pas forcement de condensateur en sortie.
    Celui ci set a éviter absorber les pics de de courant du SIM800L.
    Hello everyone
    The SIM800L EVB modules work perfectly with
    External power supply of 5V 2A. Provided that it is decoupled
    With a capacitor of 4000 micro-farad because all
    Power supplies do not necessarily have capacitor output.
    This one has to avoid absorbing the current peaks of the SIM800L.

  66. chamika gurusinghe August 14, 2017 12:00 PM

    I have a sim808 module and i was write a two method to send SMS and Send GPS coordinate to server separately this two method work fine but, i was combine this method not working properly, Only GPS data send to server because, i think the HTTP action get too long to execute, how did i solve this problem ?
    Thank you.

  67. kaizer August 17, 2017 12:37 PM

    i tried the codes above , none of them worked. I use sim800A
    can you help me?

  68. 86Robbie August 27, 2017 6:45 PM

    I have noticed you don’t monetize your blog, don’t waste your traffic,
    you can earn extra cash every month because you’ve got high quality content.
    If you want to know how to make extra bucks, search for: best adsense alternative Wrastain’s tools

    • andre January 20, 2018 4:25 AM

      sharing is carying

  69. FirstScott September 22, 2017 9:54 PM

    I see you don’t monetize your blog, don’t waste your traffic, you
    can earn additional cash every month because you’ve got hi
    quality content. If you want to know how to make extra $$$,
    search for: Mrdalekjd methods for $$$

  70. kurikutela November 12, 2017 12:19 AM

    Hi, and thanks for this great tutorial. it’s has been extremely useful on my project but, I’m trying to send the data from a variable via SMS using the Seeeduino_GPRS library for SIM800. The code works if I type the number+message on the pre-defined fields and keep the ” ” (code below) but I’m going on circles trying to make it work with variables.

    gprs.sendSMS(“phonenumber”, “message”); //this one works if I replace the data between ” ” but not if I use a variable.

    the gprs.cpp seems to convert a string to char (see below):


    (line 177)
    int GPRS::sendSMS(char *number, char *data)

    I’m very new to programming and I’m sure there is an easy way to do it but I didn’t find any that worked. Any help would be greatly appreciated. Thanks

    • kurikutela November 12, 2017 5:57 AM

      // Took me a while but finally found the problem and was a typical newbie mistake. I needed to create a combined char
      // I’ve used the itoa function to convert the int variable to char:

      int myVariable = 5;

      char convertedVariable[16];
      itoa(myVariable, convertedVariable, 10);

      // followed by the strcat function to mix text with variables:

      char one[] = “Hello “;
      char two[] = “world.”;
      char combined[32] = {0};

      strcat(combined, one);
      strcat(combined, two);
      strcar(combined, convertedVariable);


      > Hello world 5

      // then used the char ‘combined’ as message
      gprs.sendSMS(“phonenumber”, combined);

      • Ayoma December 19, 2017 5:19 PM

        Hi kurikutela! Sorry about the long silence here. Thanks for leaving the comment regarding your findings so that others can refer to it.

  71. Subhash Agarwal November 15, 2017 12:46 AM

    Hi. I am uusing sim 800l and ATmega 644, I am facing very wierd situation. I am able to send or receiver message. But this is only happening when I have opened the serial monitor. Till the time I do not connect my ATmega 644 to serial monitor, Sim 800 doesnt works and once connected and gsm starts to run even if I disconnects ATmega to serial monitor. can anyone please help?
    Thanks in advance.

    • Ayoma December 19, 2017 5:16 PM

      Hi Subhash! Get rid of below two lines from the sketch and you should be good to go. Comment will explain the purpose.

      //Begin serial comunication with Arduino and Arduino IDE (Serial Monitor)

  72. AR December 19, 2017 9:53 PM

    thanks for the informative post. I have one of these modules and am just about to use it. Do you know the purpose of the VDD pin? I can’t find anything so far about it. I don’t want to leave no unconnected, or connect it to the wrong voltage level.

    many thanks

    • Ayoma December 20, 2017 4:20 PM

      IMU VDD is connected to SIM800L VEXT [1]. It says VDD_EXT output 2.8V when module is in normal operation mode. This can be generally used for two purposes. Identify if SIM800L is in normal operation mode (as a test pin), and also to power some external device that runs with 2.8V when SIM800L reaches normal operation mode (maybe an external MCU). I have left VDD unconnected and have never used it so far.

      [1] http://wiki.seeedstudio.com/images/4/46/SIM800L_Hardware_Design_V1.00.pdf

      Best Regards.

    • Stefan January 20, 2018 4:31 AM

      Hi, i thought the same connecting it to 5V and burned the chip.
      Can it be input for 3,7V battery? Just guessing.

      • thilak August 31, 2018 12:26 PM

        I use SIM800 with NANO and using the +5v pin and not the VDD. Its working fine for a job of mine. I use to control a device. But I’m faced up with a problem. All the time software gets stuck. After pressing the RESET button starts ok. Some time continues ok. I use +5v direct to +5v pin and NANO after a 4007. Can somone tell me why I get this stuck..

  73. ANDREAS PAWELSKI December 28, 2017 4:41 AM


    • Ayoma January 2, 2018 12:45 PM

      Hi Andreas,

      Sorry, I am not any good in Italian. However, according I think your question is about retrieving only new SMS instead of listing everything using AT+CMGL. The way to go is AT+CNMI command (“New SMS Message Indications”). You may read more about this at “Reading Incoming SMS” section of following post:


      Best Regards!

    • Stefan January 20, 2018 4:36 AM

      Sicuramente la prima volta hai letto tutti quelli nuovi. Una volta letti non sono piú nuovi.
      Usa questo invece
      AT+CMGL=”ALL” cosí vedi sia quelli nuovi che quelli giá letti.

      You probably listed only the unread messages. try listing all read/unread with

  74. Husen Al Faqeh December 30, 2017 10:46 AM

    i have a problem with my sim 800, led pad sim sim L 800 blinking fast / can not connect with carrier, please guide it

    • Stefan January 20, 2018 4:37 AM

      power issue. read previous post

  75. michel December 31, 2017 3:03 AM

    Je n’arrive pas avoir des choses sur le moniteur, je n’ai que des ????????

    • Ayoma January 2, 2018 12:47 PM

      Looks like you are monitoring on the wrong baud rate. You should be listening on baud rate 9600 (for the example sketch form the post).

  76. drukarnia cyfrowa January 8, 2018 7:23 PM

    Wonderful web site. A lot of useful information here.
    I’m sending it to a few pals ans also sharing in delicious.
    And certainly, thank you to your effort!

  77. Arulprakash M January 10, 2018 11:56 PM

    Hi Ayoma,

    I’m using SIM800L for sending SMS on particular events in the system. Most of time its work as expected. Here is the catch, i have 3 sim card from same service provider in that 2 are pre-paid cards and 1 is post-paid. Out of 3 sim cards only one pre-paid card working without any issue. What ever SMS sent through the post card sim we getting message as “Content Not Supported” at other end. The other pre-paid card not sending SMS at all. This is looking strange for us, how can 3 sim card from same service provider will behave differently. All the sim cards working properly in the normal mobile phone.

    Service provider said there is no issue from their end. Could you help us….?


    • Stefan January 20, 2018 4:40 AM

      are the cards using the same modem or do you have 3 different sim800l?

  78. max January 13, 2018 10:21 PM

    Hi, I tried your code and it works very well with arduino nano and UNO. But if I try to send two sms in sequence to different numbers the module sends just the first one.
    Any suggestions?

    • Stefan January 20, 2018 4:42 AM

      Does the moden disconnects from the network when it happens? (red led blinking every secont untill the modem reconnects?)

      • Stefan January 20, 2018 4:43 AM

        ( i mean after the first message)

    • Reddy Jahnavi January 29, 2018 9:46 PM

      Is it working for you now?If so please post the code.I’m also having the same issue.

  79. Reddy Jahnavi January 29, 2018 9:41 PM

    I’m using GSM sim800a.I need code for sending SMS to multiple recipients.Using loop or repeating the same code isn’t working.Can anybody please help with this one?

    • Jc6_1 February 27, 2018 2:05 PM

      Reset pin low, then cack to high. Works fine

      • Jc6_1 February 27, 2018 2:06 PM

        …back to high…

  80. zhaci10 February 9, 2018 1:00 AM

    I’m using GSM sim800l how can i receive SMS to the gsm..
    can you send a code please..

  81. jhey OMG March 1, 2018 12:58 PM

    please can I av the code for gsm home automation …using sim 800 to connect to ATM-328p

  82. candrathilaka March 10, 2018 7:04 PM

    please send to me AT command to send a message to multiple recipient.

    • 6ix9ine March 12, 2018 9:19 AM

      can send a group message to recipients with a default message pls i have the same module and board

  83. Pits April 8, 2018 6:53 PM

    Cant Even use AT command. Please advice

  84. Jatinder Pal Singh April 18, 2018 5:07 AM

    Hi I am using SIM800 powered with 12v DC power supply and arduino Uno board. I followed the wiring instructions as you mentioned. Connected TX, RX of Sim800 to Arduino D8,D7 respectively. But after uploading the code to arduino, in serial monitor, I am getting only GARBAGE data i.e boxes on the screen. Can you guide me what is to be changed ?
    I have tried changing the baud rate, but it didn’t work.

  85. Denis August 21, 2018 11:33 AM

    Hi Ayoma, please help me out, I am using seeeduino goes to send message to a mobile phone. Everything is working fine but how can I get a feedback to know if the message was actually sent or not on my seeeduino goes. In my case, I need the red led to on if message failed and the green led to on whenever message is delivered. Thanks

    • Ayoma August 21, 2018 11:52 AM

      Hi Denis, The AT command manual for SIM800 provide necessary details on this. If you need to just check if the message was delivered to the network you can use the response of the “AT+CMGS Send SMS Message” command to determine that. However, if you are looking for delivery notifications, you might need little more work. Have a look at “AT+CNMI New SMS Message Indications” which explain how to listen for delivery notifications. You need to use “AT+CSMP Set SMS Text Mode Parameters” to change the mode parameters and enable delivery reports for SMS. I have not personally tried this, but this should work just fine. Best Regards!

      • Denis August 21, 2018 12:13 PM

        Sorry for bothering you sir, I am sending sms with the press of a button

  86. thilak August 31, 2018 2:33 PM

    I use SIM800 with NANO and using the +5v pin and not the VDD. Its working fine for a job of mine. I use to control a device. But I’m faced up with a problem. All the time software gets stuck. After pressing the RESET button starts ok. Some time continues ok. I use +5v direct to +5v pin and NANO after a 4007. Can somone tell me why I get this stuck..

  87. thilak September 2, 2018 5:04 PM

    Hi. this is thilak.
    Now I want to find a method to RESET Uno by sending a SMS to SIM800. Can someone help…

  88. Dinesh September 13, 2018 6:25 PM

    Hi Ayoma, Thanks for this nice tutorial, If I need to connect a Microphone and a Speaker to make voice calls, Which pins of this module should I use to connect them? Thanks

  89. mostafa December 12, 2018 2:07 AM

    Hi Mostafa, I can ask Iran to write a code for the Ardinese, with the GSM module 800, so that I can turn off or turn on the water engine remotely, and when the engine starts, I have hours of work to determine how much the engine has worked on. Thank You

  90. Andre January 4, 2019 12:52 AM

    I have tried different sim cards (confirming they work by testing them in a mobile phone) but I cannot get them to register.

    This is the module that I am using: https://www.aliexpress.com/item/SIM800L-V2-0-5V-Wireless-GSM-GPRS-MODULE-Quad-Band-W-Antenna-Cable-Cap/32877115526.html

    The following is AT command outputs

    +COPS: (3,”VODAFONE”,”voda NZ”,”53001″),,(0-4),(0-2)

    +CFUN: 1

    +CREG: 0,0

    I have checked power supply and that is fine. Any other ideas?

  91. Ruben Cuerva January 9, 2019 6:52 AM

    Hello, first of all congratulate you for your work. I have installed the first code of the example, the console returns Setup Ok, but when I enter commands, for example AT does not answer, it writes “?”. I await your response, thank you for your time

  92. Jepay January 27, 2019 8:47 AM

    Hi! we tried your program with AT commands and it works so then we proceed on your sending sms program. Sadly it didnt work. but the monitors prints “Sms sent” but we are not receiving any text. We have the same sim800L EVB and the connection is also the same.
    and when we try the AT command program again. It shows “setup complete” but the AT commands dont work anymore. I hope you could help us. Thank you.

    • Prince April 16, 2019 12:16 AM

      I have the same problem , I’m using the same exact sim800l with inbuilt voltage regulator , with a Arduino Uno , the module stays on but the network led still blinks every second.I ran the AT command using the serial monitor and got a response AT OK, but when i run the AT+CFUN command it responds “ERROR”. I get notified that the sms was sent but i don’t receive it .I really need help, I’m presenting this project in a week

  93. aadharsh hariharan March 30, 2019 6:31 PM

    Hi, i just wanted to know, were actually able to send an sms by just powering the module with the arduino 5V??

  94. jomar April 21, 2019 7:27 AM

    Hi Testing comment

  95. George June 8, 2019 3:29 PM

    How to connect a speaker and a mic to this module!

  96. Jose Mendinhos September 19, 2019 10:13 PM

    Hi, I’m using SIM800L to do Alarm system and I can do all basics I need. The only thing I’m having problem is to get anwser from GSM module wen I’m calling someone… I can’t configur it to get state of connection… I need to call and waint until someone rejects it… but i’m not geting any information when the call is rejected… The porpuse is to move on as soon as it is rejected.
    My code is…
    mySerial.println( ATD_str );
    int espera = 1 ;
    while (espera<50){
    updateSerial(); // Not getting any answer here…
    mySerial.println("ATH"); //hang up

  97. subhash October 14, 2019 6:48 PM

    Hello sir,
    I baught a SIM 800L and Arduino UNO R3. But I can not run SIM 800L. Would you please help me?
    Actually I want to make a little project. Like on/off a relay by sending SMS or DTMF system. Please help me. Thanks

  98. mattia October 17, 2019 2:43 PM

    thanks for your work. very useful guide, well done!

  99. Eduardo Mendes November 11, 2019 5:40 AM

    A rather old post but still very usefull.
    Thank you

  100. satya November 25, 2019 12:01 PM

    I tried sim 800l module interfacing to arduino uno and i connected as per refereed circuit diagram but i connected DC-DC buck converter also in sim 800l module the signal was not defecting even buck-converter also connected what is the problem i dont know could any one know please give reply.

  101. satya November 30, 2019 11:17 AM

    Hi sir. I tried sim 800l module interfacing to arduino uno and i connected as pre refereed circuit diagram but i connected DC-DC buck converter also in sim 800l module the signal was not defecting even buck-converter also connected and sim is also working please give replay.

  102. Bart January 5, 2020 9:19 PM

    I have been struggling with this Sim800L V2 EVB for at least a year. Kept on flashing every second then reset and I could never do anything with it. I eventually resorted to getting the other Sim800L board which can be operated on a LiPoly battery. This one works well and I have not looked back.
    I however took some time out to have another stab at the V2. Using a variable voltage regulator (with a 12 V 3A wall wart), I kept a stable 5V and it still didnt work/register on the network. I lowered the voltage to about 4 V and increased the output by .25V every time. At 5.25V the Sim500L V2 EVB eventually registered on the network and works properly.
    After struggling for so long all that it took was increasing the voltage…..
    Oh Yes. I have also taken advantage to use AT Command Tester for Simcom® Modules from https://m2msupport.net/m2msupport/download-at-command-tester-for-simcom-modules/ . It works well, I am using the 7 day free trial….
    Best Regards

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">