This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Power Profile of Serial LTE Modem with MQTT communication

Hello NordicSemi and Developpers,

I am working on a project with using the nRF9160 SiP and running a slightly modified version of the Serial LTE Modem sample from the nRF connect SDK. I am using the in-built MQTT library to transmit data (30bytes) to a broker once every minute. The data comes from nRF52840 via uart to the nRF9160. Given that I am often transmit, I need the modem to stay connected with MQTT  keep alive = 3600, so going to long sleep periods is not in question for during the session duration.

Above is the power profile for a complete cycle

  • 1. I power profiled the consumption of the nRF9160 custom board and DK too separately (PPK2) and notice that every MQTT Tx shows peaks with about 12s to 13s duration ? is this normal? Why do the peaks take so long even though the data is received within the first 2 seconds by my broker?

  • 2. After transmission, there are 24 peaks about 86.3mA each spaced 1.3s apart from each other and finally an 18s drop down to 20mA which I assume is idle state, why the 24 peaks? why i the idle current so high? 

  • 3. I ran the same test with the unmodified Serial LTE Modem code and it shows similar results. Could you please verify/confirm that this behaviour is nor with MQTT communication ?

Thanks for you patient and reply in advance.

Best regards,

Styve.N

  • Hi, Styve!

    Thanks for reaching out. 

    1. The peaks you are seeing after transmission are expected. This is a duration of time, given by the RRC Inactive Timer, where the device stays connected to and reachable by the network. Unfortunately the timer is decided by the network provider, so it's not much we can do about it. You could look into using Release Assist Indication (RAI), though that is not recommended when using TCP based protocols.

    2. I'm not exactly sure where the peaks you are seeing here originates from. Is your device configured to use either or both of the LTE power saving mechanisms PSM and eDRX? The peaks could be related to the device being configured to stay active for some time before going to sleep. The high current you are seeing in the idle state can have many explanations. The modem draws current if not offline or in PSM and as explained in our power optimization documentation the serial interface (and other peripherals) must be deactivated for optimal low-power operation.

    3. The behavior you are seeing is more or less expected for MQTT over a cellular network. However, the current draw of your device can be significantly improved by employing PSM or some other way to make the device sleep in between transmissions. 

    Hope this helps with your troubles.

    Best regards,
    Carl Richard

  • Hello

    Thanks for you quick reply, it has been greatly helpful. We do use PSM with TAU=10min and 1 min active time, so the device barely has time to go into PSM that we already TX the next packet. This is ok though, I just tested with longer transmission intervals and saw about 580uA in PSM (maybe idle mode?) with periodic peaks of about 21mA spaced 1.3s apart. This is still too high for PSM but would not matter in our use case. 
    However, for future devs could you please refer me to Serial LTE Modem examples with MQTT in use? 
    Thanks again.
    best regards,

    Styve N. 

  • Hello again!

    Good to hear, Styve! Then the behavior of your device makes sense. The spikes in (2) is the device checking the network during "active time". If the serial interface is active about 600µA is expected during PSM, but I'm not sure where the 21mA spikes originate from. However, there is no need to delve into that if it isn't of concern.

    We don't have any complete sample for using the Serial LTE Modem with MQTT, but I believe the documentation should cover it quite well. If anything is unclear, I'm here to help of course!

    Best regards,
    Carl Richard

Related