Build Guideintermediate
Gnat LoRaWAN Asset Tracker Firmware
Arduino firmware for the Gnat LoRa+GNSS Asset Tracker featuring wake-on-motion tracking, CayenneLPP encoding, and ultra-low-power GNSS management with hot/cold start control.
Firmware:Arduino
Use Cases:GPS TrackingLoRa & WANData Logging
Overview
Complete Arduino sketch for the Tlera Corp Gnat Asset Tracker, providing LoRaWAN-connected GPS tracking with intelligent power management. The firmware uses the BMA400 (v02) or LIS2DW12 (v03d) accelerometer for wake-on-motion detection, automatically adjusting GNSS fix rates based on movement state.
Key Features
- Motion-Aware Tracking: Uses accelerometer interrupts to switch between high-frequency (1-minute) and low-frequency (2-hour) GNSS fix intervals
- Ultra-Low Power: 2.5 uA sleep current with motion watchdog; under 250 uA average with periodic LoRaWAN + GNSS
- Full GNSS Power Control: GPIO-controlled 3.0V LDO and separate RTC backup enable hot starts (under 4 hours) or cold starts (longer intervals)
- CayenneLPP Encoding: Standard payload format for easy integration with The Things Network and other LoRaWAN platforms
- Battery Monitoring: Built-in LiPo voltage measurement with MOSFET-controlled ADC
Hardware Requirements
- Gnat LoRa+GNSS Asset Tracker (Tlera Corp)
- External whip antenna (LoRa) and active patch antenna (GNSS)
- 1S 3.7V LiPo or 3.6V LiSOCl2 battery
Getting Started
- Install the ArduinoCore-stm32l0 board package
- Select "Gnat-L082CZ" from the Arduino Board Manager
- Configure your LoRaWAN credentials (appEui, appKey, devEui) from The Things Network
- Upload via USB
Versions
- v02: Uses BMA400 accelerometer, original Gnat hardware
- v03d: Uses LIS2DW12 accelerometer, redesigned with ultra-low Iq TPS7A031 LDOs