|
| 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) |
0 commit comments