You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SRGDamia1 206044a1ba Removed completed TODO 8 years ago
examples Update example 8 years ago
extras Update logo.svg 8 years ago
tools Fix bugs 8 years ago
.gitattributes add .gitattributes 8 years ago
.gitignore Hiding debugging again 8 years ago
.travis.yml update traavis 8 years ago
LICENSE Initial commit 8 years ago
Makefile Fix build 8 years ago
README.md Update README.md 8 years ago
TinyGsmClient.h Unified filenames 8 years ago
TinyGsmClientA6.h Removed completed TODO 8 years ago
TinyGsmClientESP8266.h Restructured to bring similar functions together 8 years ago
TinyGsmClientM590.h Removed completed TODO 8 years ago
TinyGsmClientSIM800.h Removed completed TODO 8 years ago
TinyGsmCommon.h Hiding debugging again 8 years ago
TinyGsmFifo.h return status from 1-item put() and get() 8 years ago
keywords.txt Update API and examples 8 years ago
library.json Restructured to bring similar functions together 8 years ago
library.properties Restructured to bring similar functions together 8 years ago

README.md

TinyGSM logo

A small Arduino library for GSM modules, that just works.

GitHub version Build status GitHub issues GitHub wiki GitHub stars License

If you like TinyGSM - give it a star, or fork it and contribute! GitHub stars GitHub forks

Arduino Client interface support

This library is easy to integrate with lots of sketches, which use Ethernet or WiFi.
Examples for PubSubClient (MQTT), Blynk, Web Client and File Download are provided.

examples

TinyGSM is tiny

The complete WebClient example for Arduino Uno (via Software Serial) takes little resources:

Sketch uses 14094 bytes (43%) of program storage space. Maximum is 32256 bytes.
Global variables use 625 bytes (30%) of dynamic memory, leaving 1423 bytes for local variables. Maximum is 2048 bytes.

Arduino GSM library uses 15868 bytes (49%) of Flash and 1113 bytes (54%) of RAM in a similar scenario.
TinyGSM also pulls data gently from the modem (whenever possible), so it can operate on very little RAM.
Now, you have more space for your experiments.

Supported modem models

Supported modules

More modems may be supported later:

Watch this repo for new updates! And of course, contributions are welcome ;)

Getting Started

  1. Using your phone: - Disable PIN code on the SIM card - Check your ballance - Check that APN,User,Pass are correct and you have internet
  2. Ensure the SIM card is correctly inserted into the module
  3. Provide a good, stable power supply (up to 2A and specific voltage according to your module documentation)
  4. Check if serial connection is working (Hardware Serial is recommended)
    Send an AT command using this sketch
  5. Check if GSM antenna is attached

Troubleshooting

SoftwareSerial problems

When using SoftwareSerial (on Uno, Nano, etc), the speed 115200 may not work.
Try selecting 57600, 38400, or even lower - the one that works best for you.
Be sure to set correct TX/RX pins in the sketch.

Diagnostics sketch

Use this sketch to diagnose your SIM card and GPRS connection:
File -> Examples -> TynyGSM -> tools -> Diagnostics

Broken initial configuration

Sometimes (especially if you played with AT comands), your module configuration may become invalid.
This may result in problems such as:

  • Can't connect to the GPRS network
  • Can't connect to the server
  • Sent/recieved data contains invalid bytes
  • etc.

To return module to Factory Defaults, use this sketch:
File -> Examples -> TynyGSM -> tools -> FactoryReset


License

This project is released under The GNU Lesser General Public License (LGPL-3.0)