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

nRF9160 Low Power Example

Hi,

I'm currently trying to evaluate the nRF9160 for one of our projects.

One key requirement is the power consumption when using eDRX.

I have tried profiling the at_client sample, but the lowest I've manged with the nRF9160DK is about 900uAs.

Additionally, the power profile does not seem to show the expected paging windows when eDRX is configured.

Is there any low power example, or documentation which can help me with this?

Parents
  • Hi,

     

    I have tried profiling the at_client sample, but the lowest I've manged with the nRF9160DK is about 900uAs.

    Most of this is due to the UART RX being enabled, which will keep the peripheral clock tree running in sleep. Disabling the UART will lower the floor current, but will also make this specific example non-working.

    Is there any low power example, or documentation which can help me with this?

    Unfortunately, we do not have a power optimized example showing the lowest consumption possible at this stage in the engineering phase. The closest is the asset_tracker example, where you can enable power optimization (PSM or eDRX), but you will also need to tweak other parts, such as disabling serial in both secure_boot and the application itself.

     

    Kind regards,

    Håkon

  • Hi Håkon!

    I've followed this thread and I'm able to reduce the current down to 35uAs. but disableing the uart trhow the conf file. Is there any other way to disable any peripherals while running the aplication? I need to shut down all peripherals for a periode of time, and after that time has passed, I need to wake some of them up to use them. I don't know if there is a way or not.

    I would appreciate your help,

    kind regards,

    Ainara

  • Hi Ainara,

     

    Could you try this with the latest modem fw (mfw_nrf9160_0.7.0-29.alpha)?

    It should allow the eSIM to be turned off during PSM, allowing you to go to the lowest power mode, which will be approx. 7 uA (on engineering silicon) if the application does not start any peripherals requiring the HFCLK. 

    isurki said:
    We need to shut down almost everything from the board for 15 minutes, then read an analog input, and look for any mesages in the modem.

    If you have questions/issues implementing your specific use-case, I'd recommend that you create a new case with the specific details.

     

    Kind regards,

    Håkon

  • Hi Håkon,

    I tried with the latest modem fw, and the latest release (v 0.4.0) And I get the same current value. I can't get lower than 20uA (it fluctuates between 20uA and 30uA).

    I'm just starting with the DK, and maybe this question has an ovbious answer, but it is possible to comunicate with the modem even with the uart disabled? We need to be able to open a comunication socket with the modem every certain time to ge some data.

    I'll open another case to ask for help with my specific use-case.

    Kind regards,

    Ainara

  • Hi Hakon,

    I'm still stuck here with the original problem.

    The best I have been able to achieve is about ~80uAs. That is with just SPM which goes straight to idle/sleep (before configuring or jumping).

    I've tried this with two separate DKs both 0.8.2 using the latest 0.7.29-alpha firmware and with the SB44 mod.

  • Hi,

     

    GNotman said:

    I'm still stuck here with the original problem.

    The best I have been able to achieve is about ~80uAs. That is with just SPM which goes straight to idle/sleep (before configuring or jumping).

    I've tried this with two separate DKs both 0.8.2 using the latest 0.7.29-alpha firmware and with the SB44 mod.

    Could you share your project so I can try to recreate it at my end?

     

    Kind regards,

    Håkon

  • Thank Håkon,

    The lowest I have been able to see idle is with a modified version of the SPM example.

    I'm using the nrf SDK v0.4.0 tag with a 0.8.2 DK, powered through P24 with SB44 cut.

    The project has one configuration change Device Drivers->Serial Drivers has been unchecked.

    Code has been modified with the following diff:

    diff --git a/samples/nrf9160/spm/src/main.c b/samples/nrf9160/spm/src/main.c
    index fa41616..f02e8fd 100644
    --- a/samples/nrf9160/spm/src/main.c
    +++ b/samples/nrf9160/spm/src/main.c
    @@ -5,6 +5,7 @@
    */

    #include <spm.h>
    +#include <kernel.h>

    /*
    * Example code for a Secure Partition Manager application.
    @@ -52,6 +53,7 @@

    void main(void)
    {
    + while(1) k_sleep(1000);
    spm_config();
    spm_jump();
    }

    Average current is 83.3uAs over a 30s sample.

    I did get some direct support yesterday (after I created the above reply), which seems to indicate that I the issue is with using a 0.8.2 DK.

Reply
  • Thank Håkon,

    The lowest I have been able to see idle is with a modified version of the SPM example.

    I'm using the nrf SDK v0.4.0 tag with a 0.8.2 DK, powered through P24 with SB44 cut.

    The project has one configuration change Device Drivers->Serial Drivers has been unchecked.

    Code has been modified with the following diff:

    diff --git a/samples/nrf9160/spm/src/main.c b/samples/nrf9160/spm/src/main.c
    index fa41616..f02e8fd 100644
    --- a/samples/nrf9160/spm/src/main.c
    +++ b/samples/nrf9160/spm/src/main.c
    @@ -5,6 +5,7 @@
    */

    #include <spm.h>
    +#include <kernel.h>

    /*
    * Example code for a Secure Partition Manager application.
    @@ -52,6 +53,7 @@

    void main(void)
    {
    + while(1) k_sleep(1000);
    spm_config();
    spm_jump();
    }

    Average current is 83.3uAs over a 30s sample.

    I did get some direct support yesterday (after I created the above reply), which seems to indicate that I the issue is with using a 0.8.2 DK.

Children
Related