nRF9160 - SYSTEM OFF Mode Current

Dear colleagues,

with the newer SDK (I am now using NCS v2.5.0 and 2.6.0), I have difficulties finding the right SYSTEM OFF mode current.

Code currently looks like as follows:

#include <zephyr/kernel.h>
#include <modem/lte_lc.h>

int main(void)
{
	printk("Hello World! %s\n", CONFIG_BOARD);
	nrf_modem_lib_init();
	printk("Turn off Modem and switch to SYSTEM OFF\n");
	lte_lc_power_off();
    k_sleep(K_MSEC(1000));
    NRF_REGULATORS->SYSTEMOFF = 1;
	return 0;
}


Based on: 

A)  Getting started with current measurements on the nRF9160 

and B)  NRF9160DK & System OFF 

prj.conf was extended to: (does not change anything, I only had the LC layer enabled at first)

# Modem library and link control
CONFIG_LTE_LINK_CONTROL=y
CONFIG_LTE_AUTO_INIT_AND_CONNECT=n
CONFIG_NRF_MODEM_LIB=y

I initially had no modem lib included/function call in the main.c (this was my setup from previous NCS releases, and it worked fine) - but also with the suggested change in the devzone ticket, I don't see a difference. I am measuring 2.7mA.

What is interesting to note though:

If I would erase the flash, and program the *.hex file from the DevZone guide from Stian, I reach about about 400uA. If I then re-erase the flash, and program my code snippet, I end up at the expected current consumption of 1.4uA.

I cannot explain this behavior though, and wonder how I reach the SYSTEM OFF current without flashing the hex file from the devzone guide first.

Thanks,
Kevin

Parents
  • Hi Charlie,

    yes please have a try. I digged already further into this, and can reproduce the behavior.

    My code works perfectly fine under NCS v1.8 for example.
    Under NCS v2.5.0/v2.6.0 it does not work.

    When I flash my compiled hex from NCS v1.8, and then flash my build hex based on NCS v2.5/2.6 it works until I completely power down the board and reset it. This is reproduceable.

    SW Settings:
    Under NCS v2.6.0 LTE AUTO INIT and CONNECT has been removed already, code snipped was from NCS v2.5.
    I only use lte_lc_power_off().

    Best,
    Kevin

Reply
  • Hi Charlie,

    yes please have a try. I digged already further into this, and can reproduce the behavior.

    My code works perfectly fine under NCS v1.8 for example.
    Under NCS v2.5.0/v2.6.0 it does not work.

    When I flash my compiled hex from NCS v1.8, and then flash my build hex based on NCS v2.5/2.6 it works until I completely power down the board and reset it. This is reproduceable.

    SW Settings:
    Under NCS v2.6.0 LTE AUTO INIT and CONNECT has been removed already, code snipped was from NCS v2.5.
    I only use lte_lc_power_off().

    Best,
    Kevin

Children
No Data
Related