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

Getting nRF9160 DK current consumption down to <10 µA

I am trying to get the nRF9160 DK power consumption down as much as possible to establish a baseline for development. After struggling to achieve the values claimed in the datasheet for a few days I thought I will just write my first post here.

My setup is an Otii Arc power analyzer connected to the VDD nRF and GND pins. P22 jumper is disconnected.

I tested my code on two DKs, power consumption on the first one was 74 µA and 50 µA on the second one.

Serial is off, both in prj.conf and spm.conf. MCUboot is off. I have tested it with both the SIM card and without (but it shouldn't have anything to say, since I am turning the modem off anyway) and the result has been always the same.

The code most likely includes some unnecessary things, since I have been testing several different approaches (and I'm pretty much a beginner in nRF91 development).

main.c

#include <zephyr.h>
#include <stdio.h>
#include <modem/lte_lc.h>
#include <net/socket.h>
#include <hal/nrf_gpio.h>
#include <drivers/gpio.h>

#include <device.h>
#include <devicetree.h>

void main(void)
{
    int err;
    //err = lte_lc_psm_req(true);
    err = lte_lc_power_off();
    int i;
    for(i=0; i<=30; i++)
    {
        nrf_gpio_cfg(i, NRF_GPIO_PIN_DIR_INPUT, NRF_GPIO_PIN_INPUT_DISCONNECT, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_S0S1, NRF_GPIO_PIN_NOSENSE);
    }
    k_cpu_idle();
}

prj.conf

# General config
CONFIG_NEWLIB_LIBC=y
CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y
CONFIG_NCS_SAMPLES_DEFAULTS=y
CONFIG_SERIAL=n

# Network
CONFIG_NETWORKING=y
CONFIG_NET_NATIVE=n
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_OFFLOAD=y

# LTE link control
CONFIG_LTE_LINK_CONTROL=y
CONFIG_LTE_AUTO_INIT_AND_CONNECT=n

# Modem library
CONFIG_NRF_MODEM_LIB=y

# Heap and stacks
CONFIG_HEAP_MEM_POOL_SIZE=1024
CONFIG_MAIN_STACK_SIZE=4096
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048

# LTE parameters
## Network Mode / LTE category
CONFIG_LTE_NETWORK_MODE_LTE_M=y

## PSM
CONFIG_LTE_PSM_REQ_RPTAU="00100001"
CONFIG_LTE_PSM_REQ_RAT="00000000"

# MCUBOOT
CONFIG_BOOTLOADER_MCUBOOT=n

CONFIG_GPIO=y

CONFIG_BSD_LIBRARY_TRACE_ENABLED=n

spm.conf

# Configuration copied from the nRF Secure Partition Manager (SPM) sample:
CONFIG_IS_SPM=y
CONFIG_FW_INFO=y
CONFIG_GPIO=y

# Extra Configurations
CONFIG_SERIAL=n
CONFIG_SPM_NRF_REGULATORS_NS=y

Thank you in advance,

Michal

Parents
  • Hi,

     

    I tested my code on two DKs, power consumption on the first one was 74 µA and 50 µA on the second one.

    It could be leakage on the DK itself. Some older versions of the DK had problems.

    Which version of the DK do you have?

    If you run a very simplistic sample, with no LTE modules at all, for instance zephyr/samples/basic/blinky (for board nrf9160dk_nrf9160 - note the lack of "ns" prefix here!), then set CONFIG_SERIAL=n, what do you measure then?

     

    Kind regards,

    Håkon

  • Hello again Håkon.

    I have a 1.0.0 DK and the results from other samples were not any better, but in the end I found the issue. I needed to supply the power to the rest of the DK with USB/external power supply, while Otii supplied and measured current to nRF9160 SiP.

    This blog post has been extremely helpful: Getting started with current measurements on the nRF9160

    I have just copied the SMU connection from there and I finally got the expected currents.

    I feel like there should be added more information about the current measurements to the documentation at infocenter, especially about using power analyzers. They are mentioned in the main page here HERE, but there is no subpage about it, only about oscilloscope and current meter measurements. Maybe Stian, the author of that blog post could write some? That would be extremely helpful I think. Slight smile

    Thank you Håkon and Stian (kudos for that post!) for help.

    Kind regards,

    Michal

Reply
  • Hello again Håkon.

    I have a 1.0.0 DK and the results from other samples were not any better, but in the end I found the issue. I needed to supply the power to the rest of the DK with USB/external power supply, while Otii supplied and measured current to nRF9160 SiP.

    This blog post has been extremely helpful: Getting started with current measurements on the nRF9160

    I have just copied the SMU connection from there and I finally got the expected currents.

    I feel like there should be added more information about the current measurements to the documentation at infocenter, especially about using power analyzers. They are mentioned in the main page here HERE, but there is no subpage about it, only about oscilloscope and current meter measurements. Maybe Stian, the author of that blog post could write some? That would be extremely helpful I think. Slight smile

    Thank you Håkon and Stian (kudos for that post!) for help.

    Kind regards,

    Michal

Children
No Data
Related