Arduino library for building LTE-M/NB-IoT prototypes with Quectel LPWA modules.
Get a GPS fix, publish it over MQTT, and go to sleep — in under 60 lines of code.
The included TrackerDemo builds a complete low-power GPS tracker:
- Download AGNSS aiding data for fast time-to-first-fix
- Acquire GPS position (typically < 10s with AGNSS)
- Publish location as JSON over MQTT
- Enter PSM/eDRX sleep to conserve battery
- Wake up and repeat
- Arduino dev board (ESP-WROOM-32 was used for testing)
- Quectel LPWA TE-B evaluation board (see supported modules)
- Active LTE-M SIM card
- Arduino CLI or Arduino IDE
ESP32 Quectel TE-B
─────────────────────────
D25 → RXD
D26 → TXD
D27 → DTR
D33 → PON_TRIG
GND → GND
On the Quectel TE-B, set PON_TRIG → OFF and AUTO_POWER_ON → ON, and remove resistor R0413.
Subscribe to the MQTT topic from any machine:
mosquitto_sub -h broker.emqx.io -t "lpwa/tracker/location" -vAll settings have sensible defaults. Override them before calling configure():
LPWA.config.module = BG950A;
// Network bands (default: US bands 2,4,5,12,13,25,26 + EU band 20)
LPWA.config.catm_bands = "308181A";
// Power saving
LPWA.config.psm_t3324 = "00000010"; // Active timer: 2s
LPWA.config.psm_t3412 = "00100001"; // Periodic TAU: 1h
LPWA.config.edrx_cycle = "1100"; // eDRX cycle: ~22 min
LPWA.config.edrx_ptw = "0011"; // Paging window: 5.12sThe library uses HardwareSerial and standard digitalWrite/digitalRead. Any board with a free UART and 3.3V logic should work. Pass your pin assignments to LPWA.begin().
| Module | Form factor | Technologies | GNSS | Notes |
|---|---|---|---|---|
| BG770A | Ultra-compact | Cat M1/NB2 | Yes | |
| BG772A | Ultra-compact | Cat M1/NB2 | Yes | |
| BG773A | Ultra-compact | Cat M1/NB2 | Yes | |
| BG950A | Compact | Cat M1/NB1/NB2/GPRS | Yes | iSIM |
| BG952A | Compact | Cat M1/NB1/NB2/GPRS | Yes | iSIM |
| BG953A | Compact | Cat M1/NB1/NB2/GPRS | Yes | |
| BG955A | Compact | Cat M1/NB1/NB2/GPRS | Yes | |
| BG770S | Ultra-compact | Cat M1/NB2 | Yes | ALT1350 |
| BG950S | Compact | Cat M1/NB2 | Yes | ALT1350 |