Hi Team,
I’m currently evaluating the new custom PCB we designed and need to measure its sleep current consumption.
To do this, I plan to create simple firmware for the nRF9160DK. Using an overlay file, I’ll disable unnecessary features, set the necessary GPIOs to high or low, and then check the current consumption.
The first step is to create firmware for the DK to put it into sleep mode.
I follow the steps in this guide https://devzone.nordicsemi.com/guides/hardware-design-test-and-measuring/b/nrf9x/posts/getting-started-with-current-measurements-on-the-nrf9160#:~:text=The%20best%20way%20to%20measure%20current%20on%20the%20nRF9160%20DK
Here is the code
#include <zephyr/kernel.h> #include <modem/lte_lc.h> int main(void) { while (1) { lte_lc_offline(); k_sleep(K_MSEC(1000)); NRF_REGULATORS->SYSTEMOFF = 1; } return 0; }
prj.conf
CONFIG_LTE_LINK_CONTROL=y # enable GPIO CONFIG_GPIO=n # Enable uart driver CONFIG_SERIAL=n # enable console CONFIG_CONSOLE=n CONFIG_UART_CONSOLE=n CONFIG_LOG=n
I built the firmware for the nrf9160dk_nrf9160_ns and flashed it.
For current measurement, I’m using the PPKII, and the current reading is 2.86mA.
However, when I tested the compiled .hex file from the guide, the current dropped to 387µA. After resetting, it decreased further to 1.6µA.
Then I flashed back the samples I created, and consumption is the same 1.6uA till the moment I completely remove power, disconnect the USB, and reconnect everything, the current increases back to 2.86mA. To bring it back down to 1.6µA, I need to flash the DK again only with precompiled .hex from guide. This is a black box for me now.
I am using SDK 2.6.1, DK 1.1.0