New SIM800 library aimed at HTTP communication & GSM location

geologic: SIM800 is 5V tolerant, no need for level shifting.

Don't think so, the serial port characteristic of the spec says 2.8 V max: see p. 31

And I see on the PCB no additional resistors / diodes ... what lowers the voltage, so you should do this.

Wou're right, there is no level shift circuit in PCB... But mine is working for more than a month connected to 5V MCU... Let's see for how long.

For testing, i guess it is safe to wire tx/rx directly. If using in real world, better add some level shifting circuit.

Hi, can You please tell me how to set up user name and password for APN?
I have tried adding


to library in setup function, but it not working.

what changes did you make on the library code? You have to replace this part by your code:

  if (!sendCommand(0))
    return 4;

I’m still using another GSM shield with the standard GSM library. I would like to move to SIM800L.

In my current code, I am making an HTTP POST request: I connect to an IP address, then I write the request as text to the connection, including the JSON object, that I want to send to the server residing at that IP, and finally I close the connection.

I didn’t see such option with this library. I can only send parameters to the server using URL query arguments. This is indeed an option for me (I’ll just change the server code to expect a GET request and read all parameters from the URL), but still - does anyone know of a library for the SIM800(L) that can write to an open HTTP connection?


I am also using this library. why do we run "AT+CREG?" 30 times in the setup function ? I have "Error code:1" at the end.

Means "success" is false, so "mode" is not 1 and not 5, why ?

Thank you.

Sorry, but the Github link is broken. Can you post the link to the library? Thanks in advance.

You can use this SIM800 Library. It works efficiently - BareBoneSim800 Arduino Library and works with any know SIM800 modules. Idea for IoT applications and sending sms.