Skip to content

Commit d11ada9

Browse files
committed
docs: Add low power guide
Add documentation on how to achieve low power in ATT. Signed-off-by: Simen S. Røstad <simen.rostad@nordicsemi.no>
1 parent bcab5c3 commit d11ada9

File tree

4 files changed

+237
-6
lines changed

4 files changed

+237
-6
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ The architecture is detailed in the [Architecture documentation](docs/common/arc
150150
* [Add your own module](docs/common/customization.md#add-your-own-module)
151151
* [Enable support for MQTT](docs/common/customization.md#enable-support-for-mqtt)
152152
* [Location Services](docs/common/location_services.md)
153+
* [Achieving Low Power](docs/common/low_power.md)
153154
* [Test and CI Setup](docs/common/test_and_ci_setup.md)
154155
* [Firmware Updates (FOTA)](docs/common/fota.md)
155156
* [Tooling and Troubleshooting](docs/common/tooling_troubleshooting.md)

docs/common/configuration.md

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ The Asset Tracker can be configured remotely through nRF Cloud's device shadow m
88

99
### Configuration through nRF Cloud UI
1010

11-
!!! important "Important"
12-
13-
For new devices, the **View Config** section in the nRF Cloud UI will not be visible. It will become visible once the shadow is patched using the REST call documented below.
11+
> [!NOTE]
12+
> For new devices, the **View Config** section in the nRF Cloud UI will not be visible. It will become visible once the shadow is patched using the REST call documented below.
1413
1514
1. Log in to [nRF Cloud](https://nrfcloud.com/).
1615
1. Navigate to **Devices** and select your device.
@@ -105,6 +104,41 @@ The following are the available location methods:
105104
CONFIG_LOCATION_REQUEST_DEFAULT_METHOD_SECOND_CELLULAR=y
106105
```
107106
107+
## Storage Mode Configuration
108+
109+
The storage module handles collected data in two modes: **Passthrough** (forward immediately, default) or **Buffer** (store and transmit in batches for lower power consumption). See [Storage Module Documentation](../modules/storage.md) for details.
110+
111+
**Basic configuration** in `prj.conf`:
112+
113+
```config
114+
CONFIG_APP_STORAGE=y
115+
CONFIG_APP_STORAGE_INITIAL_MODE_PASSTHROUGH=y # or _BUFFER=y
116+
```
117+
118+
**Key parameters:**
119+
120+
```config
121+
CONFIG_APP_STORAGE_MAX_RECORDS_PER_TYPE=8 # Records per data type
122+
CONFIG_APP_STORAGE_BATCH_BUFFER_SIZE=256 # Batch buffer size
123+
```
124+
125+
**Quick configurations:**
126+
127+
- Minimal: Use `overlay-storage-minimal.conf` overlay
128+
- Buffer mode: Set `CONFIG_APP_STORAGE_INITIAL_MODE_BUFFER=y`
129+
130+
**Runtime control** (shell commands when `CONFIG_APP_STORAGE_SHELL=y`):
131+
132+
```bash
133+
att_storage mode passthrough # Switch to passthrough
134+
att_storage mode buffer # Switch to buffer
135+
att_storage flush # Flush stored data
136+
att_storage clear # Clear all data
137+
att_storage stats # Show statistics (if enabled)
138+
```
139+
140+
See [Storage Module Configurations](../modules/storage.md#configurations) for all options.
141+
108142
## Network configuration
109143

110144
### NB-IoT vs LTE-M
@@ -207,9 +241,8 @@ Common scenarios for APN configuration:
207241
- Connecting to specific network services.
208242
- Working with MVNOs (Mobile Virtual Network Operators).
209243
210-
!!! note "Note"
211-
212-
In most cases, the default APN provided by the carrier should work without additional configuration.
244+
> [!NOTE]
245+
> In most cases, the default APN provided by the carrier should work without additional configuration.
213246
214247
## LED Status Indicators
215248

docs/common/low_power.md

Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
# Low Power Guide
2+
3+
This guide provides an overview of how to achieve low power consumption with the Asset Tracker Template application. It covers fundamental concepts, measurement tools, configuration options, and best practices for optimizing battery life in cellular IoT applications.
4+
5+
## Prerequisites
6+
7+
If you are not familiar with cellular IoT fundamentals and low power concepts, it is highly recommended to complete the [Cellular IoT Fundamentals Developer Academy Course](https://academy.nordicsemi.com/courses/cellular-iot-fundamentals/) first. This course covers essential topics including:
8+
9+
- LTE-M and NB-IoT network technologies basics
10+
- Power saving modes (PSM, eDRX)
11+
12+
## Measuring Power Consumption
13+
14+
### Power Profiling Tools
15+
16+
Understanding your device's actual power consumption is critical for optimizing battery life. The following tools are recommended:
17+
18+
#### Online Power Profiler for LTE
19+
20+
For quick estimates and planning:
21+
22+
- Use the [Online Power Profiler for LTE](https://devzone.nordicsemi.com/power/w/opp/3/online-power-profiler-for-lte) to get a rough estimate of power consumption
23+
- Configure your network parameters (PSM, eDRX) and data transmission patterns
24+
- Compare different configuration scenarios
25+
26+
#### Power Profiler Kit 2 (PPK2)
27+
28+
For accurate measurements and detailed profiling:
29+
30+
- The [PPK2: Power Profiler Kit 2](https://www.nordicsemi.com/Products/Development-hardware/Power-Profiler-Kit-2) provides precise current measurements
31+
- Captures detailed power profiles showing modem behavior, sleep states, and data transmission
32+
- Essential for validating real-world power consumption
33+
34+
For detailed guidance on using the PPK2, see the [Low Power Profiling](tooling_troubleshooting.md#low-power-profiling) section in the Tooling and Troubleshooting guide and the [Power Profiler Kit User Guide](https://docs.nordicsemi.com/bundle/ug_ppk2/page/UG/ppk/PPK_user_guide_Intro.html).
35+
36+
## Power Saving Features
37+
38+
The Asset Tracker Template supports multiple power saving features that can be configured to optimize battery life for your specific use case.
39+
40+
### PSM (Power Saving Mode)
41+
42+
PSM allows the device to enter deep sleep while maintaining network registration, significantly extending battery life.
43+
44+
**Key Parameters:**
45+
46+
- **Periodic TAU (Tracking Area Update)**: Controls how often the device updates its location with the network (e.g., every 30 minutes)
47+
- **Active Time (RAT)**: Defines how long the device stays active after waking up (e.g., 60 seconds)
48+
49+
During PSM sleep, the device:
50+
51+
- Remains registered with the network
52+
- Is unreachable for mobile-terminated data
53+
- Consumes minimal power (microamps)
54+
- Wakes up periodically based on TAU settings
55+
56+
**Configuration:**
57+
58+
PSM is enabled by default in the template. You can configure PSM parameters in your `prj.conf` file:
59+
60+
```config
61+
# Configure Periodic TAU (Tracking Area Update) - 30 minutes
62+
CONFIG_LTE_PSM_REQ_RPTAU_SECONDS=1800
63+
64+
# Configure Active Time (RAT) - 1 minute
65+
CONFIG_LTE_PSM_REQ_RAT_SECONDS=60
66+
```
67+
68+
For detailed PSM configuration options, see the [PSM section in the Configuration guide](configuration.md#psm-power-saving-mode).
69+
70+
**Note:** The network must support PSM and may negotiate different values than requested.
71+
72+
### eDRX (Extended Discontinuous Reception)
73+
74+
eDRX allows the device to sleep for extended periods while remaining reachable for mobile-terminated data. It provides a balance between power consumption and responsiveness.
75+
76+
- Reduces power consumption compared to continuous DRX
77+
- Device periodically wakes to check for paging messages
78+
- Useful for applications requiring mobile-terminated connectivity
79+
80+
**Note:** eDRX configuration is negotiated with the network and may not be supported by all carriers.
81+
82+
### RAI (Release Assistance Indication)
83+
84+
RAI allows the device to indicate to the network that no further data transfer is expected, enabling the modem to enter idle mode more quickly.
85+
86+
- Reduces power consumption after data transmission
87+
- Supported by the LTE Link Control library in nRF Connect SDK
88+
- Automatically used when configured
89+
90+
### Update Interval Configuration
91+
92+
The `update_interval` parameter controls how frequently the device:
93+
94+
- Collects and transmits sensor data
95+
- Obtains location updates
96+
- Checks for FOTA updates
97+
- Polls for shadow updates
98+
99+
**Default Configuration:**
100+
101+
The default update interval is set via `CONFIG_APP_MODULE_TRIGGER_TIMEOUT_SECONDS` in your `prj.conf` file.
102+
103+
**Runtime Configuration:**
104+
105+
The update interval can be dynamically adjusted through nRF Cloud's device shadow without firmware updates. See the [Configuration guide](configuration.md#set-sampling-interval-and-logic-from-cloud) for details on how to:
106+
107+
- Configure through the nRF Cloud UI
108+
- Use the REST API to update the interval
109+
- Understand the configuration flow
110+
111+
**Impact on Power Consumption:**
112+
113+
Longer update intervals directly reduce power consumption by:
114+
115+
- Decreasing the frequency of network connections
116+
- Reducing data transmission overhead
117+
- Minimizing active time
118+
119+
### Storage Buffer Mode
120+
121+
The storage module supports two operational modes that impact power consumption:
122+
123+
#### Passthrough Mode (Default)
124+
125+
- Data is immediately forwarded to the cloud when collected
126+
- Requires the device to maintain network connectivity
127+
- Higher power consumption due to frequent network activity
128+
129+
#### Buffered Mode
130+
131+
Buffer mode stores data locally and transmits it in batches, reducing network activity:
132+
133+
- Collected data is stored in RAM (or flash with appropriate backend)
134+
- Data can be transmitted in bulk during scheduled upload windows
135+
- Reduces the number of network connections and attach procedures
136+
- Significantly lowers power consumption for infrequent reporting applications
137+
138+
**Use Cases:**
139+
140+
- Infrequent reporting intervals (e.g., hourly or daily)
141+
- Applications where real-time data is not critical
142+
- Maximizing battery life
143+
144+
**Configuration:**
145+
146+
To enable buffer mode at startup:
147+
148+
```config
149+
CONFIG_APP_STORAGE=y
150+
CONFIG_APP_STORAGE_INITIAL_MODE_BUFFER=y
151+
```
152+
153+
Buffer mode can also be switched at runtime via zbus messages. For detailed information on storage modes, see the [Storage Module documentation](../modules/storage.md).
154+
155+
## Network Configuration for Low Power
156+
157+
### Network Mode Selection
158+
159+
Choosing the right network mode affects power consumption, coverage, and data rates:
160+
161+
- **NB-IoT**: Optimized for low data rates, better coverage, and stationary devices. Generally offers lower power consumption for infrequent, small data transmissions.
162+
- **LTE-M**: Better suited for higher data rates, mobile applications, and lower latency. Supports voice and faster data transfer.
163+
164+
For detailed network mode configuration, see the [Network Configuration section](configuration.md#network-configuration) in the Configuration guide.
165+
166+
### Connection Management
167+
168+
The Network module provides control over cellular connectivity to optimize power consumption:
169+
170+
- Automatic connection on startup (configurable)
171+
- Manual connection control via `NETWORK_CONNECT`/`NETWORK_DISCONNECT` messages
172+
- Network search control to prevent unnecessary modem activity
173+
174+
For details, see the [Network Module documentation](../modules/network.md).
175+
176+
## Best Practices
177+
178+
To achieve optimal power consumption:
179+
180+
1. **Use PSM**: Enable Power Saving Mode and configure appropriate TAU and RAT values for your use case
181+
2. **Increase Update Intervals**: Reduce the frequency of data collection and transmission
182+
3. **Enable Buffer Mode**: Store data locally and transmit in batches to minimize network activity
183+
4. **Optimize Network Mode**: Choose NB-IoT for low data rate, stationary applications
184+
5. **Minimize Payload Size**: Reduce the amount of data transmitted per connection
185+
6. **Monitor Real Power Consumption**: Use the PPK2 to validate your configuration and identify optimization opportunities
186+
7. **Consider Application Requirements**: Balance power consumption with responsiveness and data freshness requirements
187+
188+
## Additional Resources
189+
190+
- [Cellular IoT Fundamentals Developer Academy Course](https://academy.nordicsemi.com/courses/cellular-iot-fundamentals/)
191+
- [Tooling and Troubleshooting Guide](tooling_troubleshooting.md)
192+
- [Configuration Guide](configuration.md)
193+
- [Storage Module Documentation](../modules/storage.md)
194+
- [Network Module Documentation](../modules/network.md)
195+
- [nRF Connect SDK Power Optimization Guide](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/test_and_optimize/optimizing/power.html)
196+
- [LTE Link Control Documentation](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/libraries/modem/lte_lc.html)

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ nav:
5757
- Configuration: common/configuration.md
5858
- Customization: common/customization.md
5959
- Location Services: common/location_services.md
60+
- Achieving Low Power: common/low_power.md
6061
- nRF Cloud Fota: common/fota.md
6162
- Testing and CI Setup: common/test_and_ci_setup.md
6263
- Tooling and Troubleshooting: common/tooling_troubleshooting.md

0 commit comments

Comments
 (0)