SIM800L is nice and inexpensive GSM breakout board. We will set it up with Arduino and send simple text messages. The library can ofcourse be used to do more things like calls etc., We will focus on setting the module the right way because you'll have to take care of a few things like power and reset.


We will hook up the SIM800l module with Arduino using the Soft Serial library. We will connect the Hardware serial port to the computer to debug and print messages.

0 Sim800l bb.png

Reset Circuit


Note that the module requires voltage in the range of 3.17 to 4.4v . If proper voltage is not provided the module will give under and over voltage warnings. Hence we used a 3.7v LiPo battery. You may also use a regulator like LM317.

Test Code

Let us start with the simple text code that will verify if everything is setup properly. Remember to insert a SIM card before proceeding further. The code below takes commands from the Arduino terminal and sends it to the GSM Module. It also sends the commands other way around, from the GSM module to the Arduino. The code will also verify if the Software Serial library is also working fine. Once you flash the code to the board, you'll be able to send all the AT commands in order to send/receive text messages or make calls. At-commands.PNG

Sending SMS

We will now use the basic Sim800l library to send messages. The code asks you to enter phone number and the message to be sent and sends the message!

Send msg.png

Reference and Credits

  • Thanks to Cristian Steib for the SIM800l library.

Going further we would also look to test GPRS data connectivity with this module.