Oncommit
Nightly
The Asset Tracker Template is a modular framework for developing IoT applications on nRF91-based devices. Built on nRF Connect SDK and Zephyr RTOS, it provides an event-driven architecture for battery-powered IoT use cases with cloud connectivity, location tracking, and sensor data collection.
The system uses modules that communicate through zbus channels for loose coupling and maintainability. It's suitable for asset tracking, environmental monitoring, and other IoT applications requiring modularity and power efficiency.
Supported hardware: Thingy:91 X, nRF9151 DK
Note: If you're new to nRF91 series and cellular IoT, consider taking the Nordic Developer Academy Cellular Fundamentals Course.
For detailed setup instructions using the nRF Connect for VS Code extension and advanced configuration options, see the Getting Started Guide.
For pre-built binaries, refer to the latest tag and release artifacts documentaion; release artifacts.
- nRF Connect SDK development environment (setup guide)
1. Initialize workspace:
# Install nRF Util
pip install nrfutil
# or follow install [documentation](https://docs.nordicsemi.com/bundle/nrfutil/page/guides/installing.html)
# Install toolchain
nrfutil toolchain-manager install --ncs-version v3.1.0
# Launch toolchain
nrfutil toolchain-manager launch --ncs-version v3.1.0 --shell
# Initialize workspace
west init -m https://github.com/nrfconnect/Asset-Tracker-Template.git --mr main asset-tracker-template
cd asset-tracker-template/project/app
west update
2. Build and flash:
For Thingy:91 X:
west build --pristine --board thingy91x/nrf9151/ns
west thingy91x-dfu # For Thingy:91 X serial bootloader
# Or with external debugger:
west flash --erase
For nRF9151 DK:
west build --pristine --board nrf9151dk/nrf9151/ns
west flash --erase
3. Provision device:
-
Get the device attestation token over terminal shell:
at at%attesttoken
Note: Token is printed automatically on first boot of unprovisioned devices.
-
In nRF Cloud: Security Services → Claimed Devices → Claim Device
-
Paste token, set rule to "nRF Cloud Onboarding", click Claim Device
-
Wait for the device to provision credentials and connect to nRF Cloud over CoAP.
See Provisioning for more details.
Core modules include:
- Main: Central coordinator implementing business logic
- Storage: Data collection and buffering management
- Network: LTE connectivity management
- Cloud: nRF Cloud CoAP communication
- Location: GNSS, Wi-Fi, and cellular positioning
- LED: RGB LED control for Thingy:91 X
- Button: User input handling
- FOTA: Firmware over-the-air updates
- Environmental: Sensor data collection
- Power: Battery monitoring and power management
- State Machine Framework (SMF): Predictable behavior with run-to-completion model
- Message-Based Communication: Loose coupling via zbus channels
- Modular Architecture: Separation of concerns with dedicated threads for blocking operations
- Power Optimization: LTE PSM enabled by default with configurable power-saving features
The architecture is detailed in the Architecture documentation.