- SIMCom SIM800 series (SIM800A, SIM800C, SIM800L, SIM800H, SIM808, SIM868)
- SIMCom SIM800 series (SIM800A, SIM800C, SIM800L, SIM800H, SIM808, SIM868)
- SIMCom SIM900 series (SIM900A, SIM900D, SIM908, SIM968)
- SIMCom SIM900 series (SIM900A, SIM900D, SIM908, SIM968)
- AI-Thinker A6, A6C, A7, A20
- AI-Thinker A6, A6C, A7, A20
- U-blox SARA U201 (*alpha*)
- ESP8266 (AT commands interface, similar to GSM modems)
- ESP8266 (AT commands interface, similar to GSM modems)
- Digi XBee WiFi and Cellular (using XBee command mode)
- Digi XBee WiFi and Cellular (using XBee command mode)
- Neoway M590
- Neoway M590
- U-blox SARA U2 (U201, U260, U270)
- Quectel BG96 ***(alpha)***
### Supported boards/modules
### Supported boards/modules
- Arduino MKR GSM 1400 (*alpha*)
- Arduino MKR GSM 1400
- GPRSbee
- GPRSbee
- Microduino GSM
- Microduino GSM
- Adafruit FONA (Mini Cellular GSM Breakout)
- Adafruit FONA (Mini Cellular GSM Breakout)
- Adafruit FONA 800/808 Shield
- Adafruit FONA 800/808 Shield
- Industruino GSM
- Industruino GSM
- ... other modules, based on supported modems
- RAK WisLTE ***(alpha)***
- ... other modules, based on supported modems. Some boards require [**special configuration**](https://github.com/vshymanskyy/TinyGSM/wiki/Board-configuration).
More modems may be supported later:
More modems may be supported later:
- [ ] Quectel M10, M95, UG95
- [ ] Quectel M10, M35, M95, UG95, EC21
- [ ] Sequans Monarch LTE Cat M1/NB1
- [ ] SIMCom SIM5320, SIM5360, SIM5216, SIM7xxx
- [ ] SIMCom SIM5320, SIM5360, SIM5216, SIM7xxx
- [ ] Telit GL865
- [ ] Telit GL865
- [ ] ZTE MG2639
- [ ] ZTE MG2639
@ -110,9 +113,17 @@ If you have found TinyGSM to be useful in your work, research or company, please
- Check your balance
- Check your balance
- Check that APN,User,Pass are correct and you have internet
- Check that APN,User,Pass are correct and you have internet
2. Ensure the SIM card is correctly inserted into the module
2. Ensure the SIM card is correctly inserted into the module
3. Check if serial connection is working (Hardware Serial is recommended)
3. Ensure that GSM antenna is firmly attached
4. Check if serial connection is working (Hardware Serial is recommended)
Send an ```AT``` command using [this sketch](tools/AT_Debug/AT_Debug.ino)
Send an ```AT``` command using [this sketch](tools/AT_Debug/AT_Debug.ino)
4. Ensure that GSM antenna is firmly attached
If you have any issues:
1. Read the whole README (you're looking at it!)
2. Some boards require [**special configuration**](https://github.com/vshymanskyy/TinyGSM/wiki/Board-configuration).
3. Try running the Diagnostics sketch
4. Check for [**highlighted topics here**](https://github.com/vshymanskyy/TinyGSM/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22for+reference%22+)
5. If you have a question, please post it in our [Gitter chat](https://gitter.im/tinygsm)
## How does it work?
## How does it work?
@ -133,8 +144,9 @@ Use this sketch to diagnose your SIM card and GPRS connection:
### Ensure stable data & power connection
### Ensure stable data & power connection
This actually solves stability problems in **many** cases:
- Provide a good, [stable power supply](https://github.com/vshymanskyy/TinyGSM/wiki/Powering-GSM-module) (up to 2A and specific voltage according to your module documentation)
Most modules require up to 2A and specific voltage - according to the module documentation.
So this actually solves stability problems in **many** cases:
- Provide a good stable power supply. Read about [**powering your module**](https://github.com/vshymanskyy/TinyGSM/wiki/Powering-GSM-module).
- Keep your wires as short as possible
- Keep your wires as short as possible
- Consider soldering them for a stable connection
- Consider soldering them for a stable connection
- Do not put your wires next to noisy signal sources (buck converters, antennas, oscillators etc.)
- Do not put your wires next to noisy signal sources (buck converters, antennas, oscillators etc.)
@ -143,6 +155,7 @@ This actually solves stability problems in **many** cases:
When using ```SoftwareSerial``` (on Uno, Nano, etc), the speed **115200** may not work.
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.
Try selecting **57600**, **38400**, or even lower - the one that works best for you.
In some cases **9600** is unstable, but using **38400** helps, etc.
Be sure to set correct TX/RX pins in the sketch. Please note that not every Arduino pin can serve as TX or RX pin.
Be sure to set correct TX/RX pins in the sketch. Please note that not every Arduino pin can serve as TX or RX pin.
**Read more about SoftSerial options and configuration [here](https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html) and [here](https://www.arduino.cc/en/Reference/SoftwareSerial).**
**Read more about SoftSerial options and configuration [here](https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html) and [here](https://www.arduino.cc/en/Reference/SoftwareSerial).**
@ -171,7 +184,7 @@ To return module to **Factory Defaults**, use this sketch:
### Goouuu Tech IOT-GA6 vs AI-Thinker A6 confusion
### Goouuu Tech IOT-GA6 vs AI-Thinker A6 confusion
It turns out that **Goouuu Tech IOT-GA6** is not the same as **AI-Thinker A6**. Unfortunately IOT-GA6 is not supported out of the box yet. There are some hints that IOT-GA6 firmware may be updated to match A6... But no one confirmed that up to my knowledge.
It turns out that **Goouuu Tech IOT-GA6** is not the same as **AI-Thinker A6**. Unfortunately IOT-GA6 is not supported out of the box yet. There are some hints that IOT-GA6 firmware may be updated to match A6... See [this topic](https://github.com/vshymanskyy/TinyGSM/issues/164).