NRF9160 in sleep mode over 1 mA current consumption

Hello Nordic,

we want to use the nrf9160 to measure some stuff and send data to a server while being battery powered. Therefore we need the lowest power consumption possible.

To get straight into the problem:I flashed it (via Bootloader) with a bare minimum of code to check and understand the current consumption, but eventough everything is deactived (especially Uart, which seem to be a common problem) it consumes about 1.27 mA. The nrf9160 is mounted on the Actinius Icarus board, nothing more connected to it.

Now you might think, the problem is the Icarus board. But if I set

NRF_REGULATORS->SYSTEMOFF = 1;
... the current will drop to 33 uA (This is still unexpected high, but the Icarus board features some devices which might be the reason for it)

So the question is, why does it consume so much power when being in idle mode?

main.c

#include <zephyr.h>
#include <sys/printk.h>

void main(void)
{
	k_sleep(K_SECONDS(20));
	NRF_REGULATORS->SYSTEMOFF = 1;
}

proj.conf

CONFIG_GPIO=n
CONFIG_LOG=n
CONFIG_CONSOLE=n
CONFIG_UART_CONSOLE=n
CONFIG_RTT_CONSOLE=n
CONFIG_USE_SEGGER_RTT=n
CONFIG_LOG_BACKEND_RTT=n
CONFIG_SERIAL=n
CONFIG_AT_HOST_LIBRARY=n
CONFIG_STDOUT_CONSOLE=n

# Zephyr Device Power Management
CONFIG_DEVICE_POWER_MANAGEMENT=y
CONFIG_PM=y

# Modem 
CONFIG_NRF_MODEM_LIB=y

#Boot
CONFIG_BOOTLOADER_MCUBOOT=y

also in the overlay file I set almost everything to deactivated:

&adc {
	status ="disabled";
};

&gpiote {
	status = "disabled";
};

&gpio0 {
	status = "disabled";
};

&uart0 {
    status = "disabled";   
};

&uart1 {
    status = "disabled";   
};

&uart2 {
    status = "disabled";   
};
&spi3 {
    status = "disabled";    
};

&i2c2 {
    status = "disabled";   
};

&timer0 {
	status = "disabled";   
};

&timer1 {
	status = "disabled";   
};

&timer2 {
	status = "disabled";   
};

&pwm0 {
    status = "disabled";   
};

Thanks for your help, I really appreciate it Slight smile

Moritz

Parents Reply Children
Related