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

NRF9160 Low power

Hi, I am strugling to get the power comsumption down to the number I have been reading on this forum. I followed the instruction of the dev kit manual. When measuring the current, the switch is in NRF only position.

Now, this blog post claims 7µA. The best I have achieved to this day is ~500µA using the sample here.

As far as I understand, the power on the 9160 is automatically handled by the ship (PMU?). That means very little is needed to lower current appart from not making the CPU active.

I did try to load a firmware that does nothing; A while loop with k_cpu_idle() with NRF_UARTE0_NS->TASKS_STOPRX = 1 to disable the UARTE rx and I am still seeing a lot of power drawn (order of mA). I also suspect that the cpu get awaken every 5 seconds by something.

Are you able to measure such a low power consumption internally with the latest firmware (the modem fw and dk are outdated)? 

If so, do you have any recommendation as to how to pinpoint where the power is used (gdb, probing pins.. etc)?

Parents
  • Hi again. 

    Looking at the link control (lte_lc.c) it seems the network registration is not disabled (AT+CEREG=0) in the method w_lte_lc_init_and_connect(). Is it correct to assume the modem will continue to send notifications, preventing the MCU to go into deep sleep? Is is kind of consistent with the tests I did where I saw the firmware come out of k_cpu_idle(); ar regular intervals (~20 seconds). 

    I saw somewhere on the forum a trick to disable rx/uart? Could this be related?

    I am trying to enable disable the PSM/eDRX when I trigger a FOTA update. Is it enough to send AT+CPSMS= or do I need to send AT+CFUN=0, AT+CPSMS= and then AT+CFUN=1?

Reply
  • Hi again. 

    Looking at the link control (lte_lc.c) it seems the network registration is not disabled (AT+CEREG=0) in the method w_lte_lc_init_and_connect(). Is it correct to assume the modem will continue to send notifications, preventing the MCU to go into deep sleep? Is is kind of consistent with the tests I did where I saw the firmware come out of k_cpu_idle(); ar regular intervals (~20 seconds). 

    I saw somewhere on the forum a trick to disable rx/uart? Could this be related?

    I am trying to enable disable the PSM/eDRX when I trigger a FOTA update. Is it enough to send AT+CPSMS= or do I need to send AT+CFUN=0, AT+CPSMS= and then AT+CFUN=1?

Children
  • Hadrien Kohl said:
    Is it correct to assume the modem will continue to send notifications, preventing the MCU to go into deep sleep?

     The CEREG command subscribes unsolicited network status notifications. That basically means that you can see what kind of network parameters the User Equipment (nRF91) discussed with the base station. Have you already set PSM? The MCU will go into deep sleep if it has nothing else to do. If the FW comes out of k_cpu_idle() every 20 seconds or so, something is waking it up. I do not believe it is the CEREG command. Is the eDRX interval set? Check by setting CEREG to 4 to see Active Time & Periodic Tau.

    Hadrien Kohl said:
    I saw somewhere on the forum a trick to disable rx/uart? Could this be related?

     I doubt it, but it may be worth a try.

    Hadrien Kohl said:
    Is it enough to send AT+CPSMS= or do I need to send AT+CFUN=0, AT+CPSMS= and then AT+CFUN=1?

     I am not sure you need to disable PSM when triggering a FOTA.

Related