BareBone SIM800l Library Module for Arduino

BareBoneSim800 – An IoT Library For Arduino Built For Performance & Memory

In this project, I developed the BareBoneSim800 library, a simple yet powerful library for communication between the SIM800 module and Arduino providing core functionalities while still maintaining strong performance and being memory efficient.

Introduction

The Arduino is arguably one of the most well know open source electronics prototyping board.  It has found love with makers,, students, kids, hobbyists, teachers and even professional engineers don’t shy away.

Arduino Board

The application of this small but powerful board is left to the imagination of the maker. One of the promising areas and consistent areas of application of the Arduino is in the areas of Internet of Things (IoT). 

There are several ways of adding IoT functionality into your Arduino based project, one such way is in using Sim800.

SIM800 Module

Challenge

Integrating the SIM800 Module to Arduino is actually straight forward, but in most cases doesn’t always work as expected.I had some troubles with communicating with it and most existing library are highly unreliable. Even when some libraries do work, they take a lot of memory from the already small memory available on most Arduino boards and not always optimized for performance. 

Solution

So the solution is simple, build a library that allows working with the SIM800 without any issues. Communication should be effortless and most importantly, the device should be memory friendly.

Based on these, the BareBoneSim800 library was born. The BareBoneSim900 library provides most basic functionalities while still maintaining strong performance and being memory friendly for IoT applications.

This Library uses the AltSoftSerial Library instead of the SoftSerial Library to allow for compatibility with other PinChange Interrupts Library and SPI Libraries

HTTP Client with SIM800 and Arduino
A Simple HTTP Client using the Sim800 and Arduino together.

Applications and Features

      • Send SMS, Read SMS and Delete SMS
      • AT Command Test
      • Send and Receive HTTP data
      • TCP Connection
      • IoT Applications
      • Low power saving mode
      • Location and Time Update

More information is available on the GitHub page.

Share this post

Add comment

Privacy Preference Center