Notes about Modems

If you are having trouble, please see the pages for the specific modems and the TinyGSM getting started and troubleshooting sections.

Summary of Classes to use for Various Manufactured Modules

ModuleClass
Digi XBee3 LTE-M (u-blox SARA R410M)DigiXBeeCellularTransparent or DigiXBeeLTEBypass
Digi 3G Global (u-blox SARA U201)DigiXBeeCellularTransparent or DigiXBee3GBypass
Digi XBee LTE Cat 1 Verizon (Telit LE866)DigiXBeeCellularTransparent
Digi XBee3 LTE Cat 1 Verizon (Telit LE866-SV)DigiXBeeCellularTransparent
Digi XBee3 LTE Cat 1 AT&T (Telit LE866A1-NA)DigiXBeeCellularTransparent
Digi XBee S6B WiFiDigiXBeeWifi
Espressif ESP8266EspressifESP8266
Espressif ESP32EspressifESP32
Quectel BG96QuectelBG96
Mikroe LTE IOT 2 Click (BG96QuectelBG96
Dragino NB IOT Bee (BG96QuectelBG96
Nimbelink Skywire LTE-M Global (BG96QuectelBG96
Sequans Monarch VZM20QSequansMonarch
Nimbelink Skywire LTE-M for VerizonSequansMonarch
SIMCom SIM7000 variantsSIMComSIM7000
SIMCom SIM800, SIM900 and variantsSIMComSIM800
Adafruit Fona (2G, SIM800H)SIMComSIM800
Sodaq GPRSBee R4 (SIM900)SIMComSIM800
Mikroe GSM-GPS Click (SIM808)SIMComSIM800
Mikroe GSM/GNSS 2 Click (SIM868)SIMComSIM800
Sodaq GPRSBee R6 or R7 (SIM800H)Sodaq2GBeeR6
u-blox SARA R4 or N4 seriesSodaqUBeeR410M
Sodaq UBee LTE-M² (u-blox SARA R410M)SodaqUBeeR410M
Mikroe LTE IOT Click (u-blox SARA R410M)SodaqUBeeR410M
u-blox 2G, 3G, and 4G modulesSodaqUBeeU201
Sodaq UBee 3G² (u-blox SARA U201)SodaqUBeeU201
EnviroDIY LTE Bee (SIM7080G)SIMCom7080

¹ The Quenctel BC95G based variant is not supported.

² The NB IOT UBee based on the SARA N211 is not supported.


Default baud rates of supported modules

ModuleDefault Baud Rate
Digi XBee and XBee3 all variants9600
Espressif ESP8266 or ESP32115200; Use AT+UART_DEF=9600,8,1,0,0 to slow if needed
Quectel BG96115200; Use AT+IPR=9600 to slow if needed
Sequans Monarch VZM20Q921600; Use AT+IPR=9600 to slow
SIMCom SIM7000 variants9600
SIMCom SIM800, SIM900 and variants9600
u-blox SARA R4 or N4 series115200; reverts to this speed after every power loss
u-blox 2G, 3G, and 4G modulesvaries by module, most auto-baud or use 9600

Power Requirements of Supported Modems

ModuleOperating VoltageMinimum Current RequiredPower Pin Label
Digi XBee3 LTE-M3.3 - 4.3 V750 mAVcc
Digi 3G Global3.8 - 5 V1.5 AVcc
Digi XBee LTE Cat 1 Verizon3.0 - 5.5 V2AVcc
Digi XBee3 LTE Cat 1 Verizon3.0 - 5.5 V1.5AVcc
Digi XBee3 LTE Cat 1 AT&T3.0 - 5.5 V1.5AVcc
Digi XBee S6B WiFi3.14 - 3.46 V350mAVcc
Espressif ESP82663.0 - 3.6 V350mAVDDA
Quectel BG963.3 - 4.3 V350mA, 1A for 2G fallbackVBAT
Sequans Monarch VZM20Q3.1 - 4.5 V500mAVBAT1
SIMCom SIM800, SIM900 and variants3.4 - 4.4 V2AVBAT
Sodaq GPRSBee R6 or R73.4 - 4.4 V2AON/OFF
SIMCom SIM7000 variants3.0 - 4.3 V600mA¹, 2A for 2G fallbackVBAT
SIMCom SIM70802.7 - 4.8 V< 500mAVBAT
EnviroDIY LTE Bee (SIM7080G)2.7 - 4.8 V< 500mAVCC
u-blox SARA R4 or N4 series3.2 - 4.2 V500mA, 2A for 2G fallback on R412VCC
Sodaq UBee LTE-M (u-blox SARA R410M)3.2 - 4.2 V500mAON/OFF
u-blox 2G, 3G, and 4G modulesvaries by modulevaries by moduleVCC
Sodaq UBee 3G (u-blox SARA U201)3.3 - 4.4 V2AON/OFF

¹ This is a firm minimum; the SIM7000 will not connect to the internet if only powered at 500mA.


Sleep and Reset Pin Labels

ModuleStatus Pin LabelReset LabelWake / Sleep Request
Digi XBee3 LTE-MON/SLEEP_/DIO9 or CTS_/DIO7RESET_DTR_/SLEEP_RQ/DIO8
Digi 3G GlobalON/SLEEP_/DIO9 or CTS_/DIO7RESET_DTR_/SLEEP_RQ/DIO8
Digi XBee LTE Cat 1 VerizonON/SLEEP_/DIO9 or CTS_/DIO7RESET_DTR_/SLEEP_RQ/DIO8
Digi XBee3 LTE Cat 1 VerizonON/SLEEP_/DIO9 or CTS_/DIO7RESET_DTR_/SLEEP_RQ/DIO8
Digi XBee3 LTE Cat 1 VerizonON/SLEEP_/DIO9 or CTS_/DIO7RESET_DTR_/SLEEP_RQ/DIO8
Digi XBee S6B WiFiDIO9/ON_SLEEP_ or DIO7/CTS_RESET_DIO8/DTR_/SLEEP_RQ
Espressif ESP8266N/A in deep sleep; GPIO1-15 for light sleepEXT_RSTBN/A in deep sleep; GPIO1-15 for light sleep
Quectel BG96STATUSRESET_NPWRKEY
Sequans Monarch VZM20QGPIO3/STATUS_LED or POWER_MONRESETNRTS or RTS0
SIMCom SIM800, SIM900STATUSRESETNPWRKEY
Sodaq GPRSBee R6 or R7STATUSN/AN/A
SIMCom SIM7000 variantsSTATUSRESETNPWRKEY
SIMCom SIM7080GSTATUSN/APWRKEY
EnviroDIY LTE Bee (SIM7080G)STATUSN/APWRKEY"
u-blox SARA R4 or N4 series`V_INT``RESET_N``PWR_ON`
Sodaq UBee LTE-M`STATUS` also mislabeled as `CTS``RESET``PWR_ON`
u-blox 2G, 3G, and 4G modules`V_INT``RESET_N``PWR_ON`
Sodaq UBee 3G`STATUS` also mislabeled as `CTS``RESET`PWR_ON

Pin Numbers to Use when Connecting to a Mayfly 0.x

Here are the pin numbers to use for modules that can be attached directly to an EnviroDIY Mayfly v0.3, 0.4, 0.5, 0.5b, or 0.5c using its Bee socket.

ModulePowerStatusResetSleep Request
Digi XBee/XBee3, all variants (direct connection)¹-119²-123
Digi XBee/XBee3, all variants (with LTE adapter8)-131942023
Itead Wee (ESP8266)8-1-1-15-1
DFRobot WiFi Bee (ESP8266)-1-1-1N/A
Dragino NB IOT Bee (BG96)-1-1-17-17
Sodaq GPRSBee R4 (SIM900)-119-123
Sodaq GPRSBee R6 or R7 (SIM800H)2319N/AN/A
Sodaq UBee LTE-M (u-blox SARA R410M)2319-120
Sodaq UBee 3G (u-blox SARA U201)2319-120
EnviroDIY LTE Bee (SIM7080G)-119N/A239

¹ To use the cellular Digi XBee's without the LTE adapter, your Mayfly must be at least v0.5b, you must use SJ13 to connect the Bee directly to the LiPo, and you must always have a battery connected to provide enough power for the XBee to make a cellular connection. If you turn off the Mayfly via its switch but leave the XBee connected as above, it will drain your battery very quickly. Disconnect the battery if you turn off the Mayfly.

² The Digi XBee reports ON/SLEEP_N on pin 13, but this is not connected to a Mayfly pin. Instead, you must use the XBee's CTS pin (pin 12) which is connected to Mayfly pin 19 and set the argument useCTSforStatus to true in the bee constructor.

3 If you close solder jumper 1 (SJ1) on the LTE adapter and use connect solder jumper 7 (SJ7) on the Mayfly to connect A5 to ASSOC, you can use A5 as the power pin for the XBee.

4 The LTE adapter switches pins 12 and 13 so that the true STATUS pin of the XBee is connected to Mayfly pin 19. You should set the argument useCTSforStatus to false in the bee constructor

5 I strongly recommend running a new wire along the back of the Mayfly to connect pin 5 of the XBee socket to pin A4. This will enable you to use A4 as the reset pin which allows you to use deep sleep.

7 I strongly recommend running two new wires along the back of the Mayfly to connect pin 5 of the XBee socket to pin A4 and pin 18 of the XBee socket to A3. This will enable you to use A4 as the reset pin and A3 as the sleep request pin. With those connections made, the Dragino BG96 becomes the only LTE module that can be run using only the 500mA regulator on the Mayfly (ie, without a separate battery connection for the modem).

8 This module is no longer produced or sold.

9 The EnviroDIY LTE Bee inverts the signal to the sleep request pin (PWRKEY) - which is also used for reset. To use it, you must add these commands to your setup:

1modem.setModemWakeLevel(HIGH);
2modem.setModemResetLevel(HIGH);

Pin Numbers to Use when Connecting to a Mayfly 1.x

Here are the pin numbers to use for modules that can be attached directly to an EnviroDIY Mayfly v1.0 or 1.1 using its Bee socket.

ModulePowerStatusResetSleep Request
EnviroDIY WiFi Bee (ESP32)18¹-1A53-1
EnviroDIY LTE Bee (SIM7080G)18¹19N/A234
Digi XBee/XBee3, all variants (direct connection)18¹19²A5323
DFRobot WiFi Bee (ESP8266)18¹-1-1-1
Dragino NB IOT Bee (BG96)18¹-1A53-1
Sodaq GPRSBee R4 (SIM900)18¹19-123
Sodaq GPRSBee R6 or R7 (SIM800H)2319N/AN/A
Sodaq UBee LTE-M (u-blox SARA R410M)2319A5320
Sodaq UBee 3G (u-blox SARA U201)2319A5320

¹ This assumes you have not changed solder jumper 18. If you have switched SJ18 to connect bee pin one directly to 3.3V, use -1.

² The Digi XBee reports ON/SLEEP_N on pin 13, but this is not connected to a Mayfly pin by default. You can use the XBee's CTS pin (pin 12) which is connected to Mayfly pin 19 by default and set the argument useCTSforStatus to true in the bee constructor. Alternately (and preferably) you can change solder jumper 19 (SJ19) to connect bee pin 13 to D19 and set the argument useCTSforStatus to false.

3 Solder jumper 20 should be left in the default position, connecting pin A5 to bee pin 5.

4 The EnviroDIY LTE Bee inverts the signal to the sleep request pin (PWRKEY) - which is also used for reset. To use it, you must add these commands to your setup:

1modem.setModemWakeLevel(HIGH);
2modem.setModemResetLevel(HIGH);