Low power empty project

I'm working with the nrf9160 dk and trying to get a baseline low power project before I add peripherals and application code.

I'm using ncs 2.7, and with an empty project, no uart, logging, cell not enabled, etc and an empty main. the DK is sitting at about 3.1mA (running from flash, not debugging)

What do I need to do to enable low power on the application so I can get down in the single digit uA levels I read about?  Is there a switch or something on the DK I need to turn off to get to the lower power?  Are there options I need to enable in the prj.conf?


Parents
  • > about 3.1mA (running from flash, not debugging)

    Does "running" mean, the mcu runs in a busy loop? Then try to add sleeps, e.g "k_sleep(K_MSEC(1000));". That will sleep for a seconds. You may also need to suspend the UART (mainly the RX takes a couple of 100s µA). "Low Power" mainly means, "switch off" and "on" only when it's indicated, that there is something to do. 

  • Sorry, I should have clarified, I am sleeping in a loop in main

    int main(void)
    {
    
        while (true) {
            k_sleep(K_MSEC(100000));
        }
        return 0;
    }

    I am not using any peripherals right now and don't have them (or anything else) enabled in the prj.conf or the device tree.  Do I need to configure them in the device tree for low power at this point?

    What do you mean by suspend the uart? In the prj.conf, device tree, or application code?

Reply
  • Sorry, I should have clarified, I am sleeping in a loop in main

    int main(void)
    {
    
        while (true) {
            k_sleep(K_MSEC(100000));
        }
        return 0;
    }

    I am not using any peripherals right now and don't have them (or anything else) enabled in the prj.conf or the device tree.  Do I need to configure them in the device tree for low power at this point?

    What do you mean by suspend the uart? In the prj.conf, device tree, or application code?

Children
Related