We are developing a battery-powered medical device using nRF9151 with nRF Connect SDK v2.9.0, where data is transmitted to AWS IoT Core using MQTT over LTE Cat-M. While the overall system functions correctly, we are observing significantly higher data publish latency and power consumption in India compared to other regions, which severely limits battery life.
Our application continuously acquires ECG data using a MAX30001G ECG sensor. Data is buffered and written to MT29F4G NAND flash in fixed intervals and later transmitted over cellular while data acquisition continues in parallel.
The data handling flow is as follows:
-
ECG data is generated every second
-
Data is grouped and stored every 10 seconds (~8 KB per chunk)
-
After 2 minutes, stored data is transmitted to AWS MQTT
-
A total of 12 payloads × 8 KB (~96 KB) are published sequentially
-
Flash logging continues during transmission
On the India network, publishing a single 8 KB MQTT payload takes approximately 6–8 seconds, resulting in a total transmission time of nearly 1 minute for one 2-minute cycle of data. This long transmit window keeps the modem in an active RRC state for an extended duration and leads to high average current consumption.
The measured current consumption profile for one 2-minute cycle is:
-
During MQTT publish (~1 minute): ~47 mA
-
During RRC inactivity while connection remains up (~30 seconds): ~24 mA
-
Connected idle (~30 seconds): ~1.2 mA
This results in an average current of approximately 30 mA per cycle. With a 500 mAh battery, the maximum achievable battery life is around 15 hours, which is far below our product requirement. Our target battery life is 48 hours or more.
From a cellular perspective, we are using a Hologram global eSIM. The IMSI indicates a non-Indian home network, and the device operates in roaming mode in India. Based on AT command diagnostics:
-
The device registers on Reliance Jio LTE-M (PLMN 405-857)
-
Registration status is roaming
-
RAT is LTE Cat-M
To validate whether the issue is firmware-related, we tested the same eSIM, same firmware, and same AWS MQTT configuration in Australia. In that environment, each 8 KB MQTT payload is published in ~2 seconds, which drastically reduces transmit time and power consumption. This comparison suggests that the issue is network / roaming / operator related rather than application logic or SDK configuration.
We are looking for community guidance on the following:
-
Whether such high MQTT publish latency is expected when operating over roaming LTE-M networks
-
Are there known RRC, scheduling, or core-network limitations for LTE-M in India that could explain this behavior?
-
Are there recommended modem, MQTT, or socket-level optimizations or any configuration on nRF9151 to reduce transmit time and RRC active duration?
-
Real-world experiences achieving multi-day battery life with similar data sizes and publish intervals using LTE-M
-
NB- IOT or LTE-CAT-M configuration affected?
-
Any other techniques to reduce power consumption must be appreciated
Any insights into operator behavior, roaming impacts, or Nordic-recommended tuning approaches would be highly valuable, as our primary goal is to significantly reduce average current consumption and meet the required battery life.