Ultra-small, ultra-low-power LoRa/LoRaWAN + Concurrent GNSS Asset TrackerDesigned by Tlera Corp, Ships from United States of America
Highlights: Ultra-low-power, 20 mm x 20 mm asset tracker consisting of CMWX1ZZABZ-078 (SX1276 LoRa radio and STM32L082 host MCU), MAX M8Q concurrent GNSS module, BMA400 accelerometer for wake-on-m...Read More…
Ultra-low-power, 20 mm x 20 mm asset tracker consisting of CMWX1ZZABZ-078 (SX1276 LoRa radio and STM32L082 host MCU), MAX M8Q concurrent GNSS module, BMA400 accelerometer for wake-on-motion/sleep-on-no-motion functionality.
Gnat v.02a pre-production prototype
Molex PicoBlade connector exposes 3V3/GND/SDA/SCL as well as two digital pins (SWD/UART) and two analog pins for connecting daughter boards.
Total sleep current as low as 2.5 uA with BMA400 motion watchdog continuously monitoring state of motion. Total current with LoRaWAN updated every 10 minutes and GNSS updated every two hours is < 250 uA.
Full power control on the MAX M8Q with GPIO-enabled VDD through a dedicated 3.0 V LDO and a separate GPIO-enabled RTC backup. MAX M8Q may be powered down with RTC backup to allow warm start fixes every four hours (when ephemeris expires) or less. The MAX M8Q RTC backup can also be powered off with zero current draw for cold start fixes at longer-than-4-hour intervals.
Gnat is wired to support LoRa (FSK, GFSK, LoRa radio) and LoRaWAN.
Board is intended to be powered by a 1S 3.7 V LiPo battery but any source between 3.6 and 5.5 V will do. LiSOCl2 batteries are ideal for long-term deployment. A 2400 mAH 3.6 V LiSOCl2 AA-sized battery @ 1 location fix per day will last more than ten years.
Programmable via the USB connector using the Arduino IDE, of course!
Gnat is an ultra-small (20 mm x 20 mm), ultra-light (2.8 g) pcb with a Murata CMWX1ZZABZ-078 (STM32L082 + SX1276) LoRaWAN-enabled host MCU coupled with a U-BLOX MAX M8Q concurrent GNSS module. There is a BMA400 accelerometer for wake/sleep motion detection.
Gnat is a compact version of the Cricket Asset Tracker; several design and component changes were made to minimize both size and power usage. An MCP1810 LDO with 20 nA quiescent current replaces the NCV8170 saving ~0.5 uA. The STBC08 battery charger has been removed saving another ~2 uA of sleep current. The battery voltage monitor uses a FET circuit to isolate the voltage divider from battery power when not actively sampling, saving another ~3 uA. The BMA400 can continuously monitor wake/sleep conditions at ~800 nA current usage compared to the ~6.5 uA of the BMA280 used on Cricket. The MAX M8Q VDD is controlled by a dedicated low-standby-power (100 nA) LDO on both Gnat and Cricket. But Gnat (like long Cricket) also uses an STM32L082 GPIO to provide power for the MAX M8Q backup voltage so that for very-long-duty-cycle GNSS use (say, once or twice per day) the sleep current of the MAX M8Q can be set to zero. These changes bring the total sleep current of the Gnat Asset Tracker as low as ~2.5 uA!
The STM32L082 Cortex M0+ processor runs at 4, 16, or 32 MHz with 192 kB of flash memory and 20 kB of SRAM. The system core and Arduino wrapper are written from scratch to be complete, robust, and power and memory efficient. The GNSS and LoRaWAN APIs make using the LoRa radio modem and MAX M8Q GNSS engine simple and easy.
Each Gnat Asset Tracker has a unique 64-bit (8 hex bytes) device EUI (Extended Unique Identifier) readable via a simple query in any Arduino sketch which identifies the peripheral node to the LoRaWAN gateway or any other LoRa device or LoRa network. This allows multiple Gnat (and multiple Cricket) Asset Trackers to be present on a network with no ambiguity.
The STM32L082 MCU has all of the usual serial peripherals you would expect from any Arduino-compatible development board including SPI, I2C, UART as well as analog (ADC/DAC/PWM) IO. However, to keep the Gnat size as small as possible, only 3V3/GND, I2C (SDA/SCL) and 4 free GPIOs (2 digital and 2 analog IO) are available at the edge of the board. These are exposed via a Molex PicoBlade connector allowing additional sensors to be conveniently connected to and managed by the host MCU for custom applications. This flexibility makes the Gnat Asset Tracker a useful platform for IoT prototyping.
The pin out is similar to the Grasshopper development board:
The Gnat Asset Tracker is programmable using the Arduino IDE via the USB connector and serial data output is available through the USB connector for display on the serial monitor of your pc or laptop. The board can also be programmed using ST-Link and the Arduino IDE or traditional toolchains via the SWD port exposed on the board edge (D8 and D9).
The Gnat asset tracker is designed to be powered by a 1S 3.7 V LiPo battery. The battery must be charged off board. Non-rechargeable battery types can also be used to power the board such as two or three AA alkaline batteries, a single 3.6 V AA or 1/2 AA LiSOCl2 battery, etc. There is a 27K/100K voltage divider connecting the battery anode (marked with a "+" near the USB connector) with an MCU ADC on GPIO A1. The circuit uses a dual FET to isolate the battery voltage (max 4.2 V) from the voltage divider when not enabled (by GPIO D2) to save power.
The Gnat Asset Tracker has a uFl connector for the LoRa antenna. I use these, but any suitable LoRa antenna designed for the appropriate frequency (~915 MHz in the US) will do. The CMWX1ZZABZ-078 supports the following LoRaWAN bands:
The LoRaWAN protocol requires a LoRaWAN-compatible gateway to receive and forward the data to the internet. I have used both Multitech MTCAP and TheThingsNetwork gateways with success. An API to support simple point-to-point LoRa Rx/Tx (FSK, GFSK, LoRa radio) between Gnat and other Gnat or Cricket Asset Trackers, LoRaSensorTiles, or Grasshopper development boards is also available.
The U-BLOX MAX M8Q allows concurrent reception of up to 3 GNSS (GPS, Galileo, GLONASS, BeiDou) services, requires an external active patch antenna (I use this one), and can achieve -167 dBm navigation sensitivity when tracking with GPS and GLONASS.
The MAX M8Q has a one pulse-per-second (pps) output connected to a green led and connected to the STM32L082 (GPIO D4) for syncing the STM32L082 RTC time with the GNSS time. The pps output can also be used as a MAX M8Q data ready interrupt attached to the STM32L082.
Everything about the Gnat asset tracker has been designed to minimize power usage. The MAX M8Q has a dedicated 3.0 V low-noise LDO whose enable is connected to a STM32L0 GPIO (D5) so that power to the MAX M8Q and active antenna can be cut to zero when the MAX M8Q is not actively tracking. The L082 GPIO A0 provides the RTC back up voltage (at a cost of ~10 uA) for the MAX M8Q when the main power is off to allow warm and hot starts when the fix duty cycle is short. This backup power can be set to zero for full power control of the MAX M8Q when GNSS duty cycles are longer than the ephemeris data validity (4 hours).
The typical sleep current of the Gnat asset tracker is ~12 uA with the MAX M8Q backup on and ~2.5 uA without. Running the MAX M8Q at a duty cycle of one GNSS location fix every two hours (the satellite ephemeris goes stale after four hours) while reading sensor data every minute and sending LoRaWAN updates of last position and sensor data every ten minutes costs on average ~250 uA using an 18 mm x 18 mm active patch antenna. In this mode, the Gnat Asset Tracker would last more than one year using a 3.6 V, 2400 mAH LiSOCl2 AA-sized battery.
We have programmed the BMA400 to send the L082 a sleep interrupt when no motion is detected and a wake interrupt when significant motion is detected in order to allow location fixes and LoRaWAN Tx at a higher duty cycle (say, once per minute) when the device is in motion. The idea is that the asset being tracked will spend most of the time in a stationary position, such that only infrequent updates of its position are required. But when the device changes location, we want the asset tracker to follow the trajectory of the move and report the motion and the asset's new position in a timely manner. Optimizing the long- and short duty cycles will depend on your specific use case but there is enough flexibility in the BMA400's sophisticated interrupt engine to match any requirement and allow users to balance low-power usage with timely location change tracking.
Remote tracking of valuable objects is an interesting embedded design problem with low-power and long-range being the two highest hurdles. LoRaWAN makes low-power (~100 uA), long-range (>1 km) communications possible but GNSS modules are not usually associated with low-power usage. The trick is to design the board for maximal control over the GNSS power and in the Gnat Asset Tracker, we literally shut the power off when we have achieved an accurate enough fix until the next fix interval. Thus for many use cases, the Gnat Asset Tracker can last for a year or more on a single 3.6 V, 2400 mAH LiSOCl2 battery.
For use cases where only one fix per day is required, this time can be extended out to many years. This could be the case for monitoring high-value fixed assets, like an earth mover or machine tool at a construction site, for example. The expectation is that these move very little or not at all, but that when they are in motion, the owner needs to know about it and keep track of their location.
Other use cases of interest include tracking bicycles in an urban environment; it is unlikely the asset tracker would last a year with the frequent motion expected in this case, but it could last several months, allow logging of the sensor and location data and enable recovery if the bicycle were misplaced or stolen.
Animal tracking is an obvious use case. Keeping track of domesticated animals like free-range horses and cows, monitoring the whereabouts of pets or even studying the movement of wild animals like deer and wild pigs are all possible with such a device. The ultra-small size, light weight, and power efficiency of the Gnat asset tracker facilitate attachment to animals with very low impact and long intervals between recovery for battery charge/change.
The Gnat Asset Tracker is ultra-small and ultra-light, so will fit just about anywhere.
The Gnat Asset Tracker is power efficient, using ~250 uA and lasting a year on a 3.6 V, 2400 mAH LiSOCl2 AA-sized battery for many interesting use cases.
The Gnat Asset Tracker is easy to program using the Arduino IDE. Here is a repository of sketches with libraries for the BMA400 sensor showing how to use the Gnat Asset Tracker as an asset location tracker, and a temperature data logger/remote sensing monitor.
The Gnat Asset Tracker is ready to use (you provide battery and antennas) as an asset location tracker, temperature data logger, and remote sensor but offers the flexibility to tailor the sensor suite to your particular use case and application requirements. This flexibility makes the Gnat Asset Tracker ideal as a prototyping platform for both home and industrial IoT products. The applications are only limited by your imagination!
Joseph | March 1, 2019
We recognize our top users by making them a Tindarian. Tindarians have access to secret & unreleased features.
We look for the most active & best members of the Tindie community, and invite them to join. There isn't a selection process or form to fill out. The only way to become a Tindarian is by being a nice & active member of the Tindie community!