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 Reply Children
  • Thank you for your quick answer! We'll make sure to stay updated and keep using the latest master branch of this repo.

    Regarding the asset_tracker example, it runs fine on our board. Unfortunately, when we activate PSM on asset_tracker and that we disable uart on both secure boot & asset_tracker, the current consumption is never lower than 1mA and can randomly spikes to 20 mA.

    Best,

    Étienne

  • That sounds similar to what I am seeing.

    To check the idle current, add this to the top of the main function:

    while(1) k_sleep(1000);

    The program will then just enter sleep after initializing all drivers/libs. This should be around 30 uA (due to SIM clock stop) if all UARTs are disabled properly.

    Here's the prj.conf diff I used: 

    diff --git a/applications/asset_tracker/prj.conf b/applications/asset_tracker/prj.conf
    index 80dcf9f..3aeef79 100644
    --- a/applications/asset_tracker/prj.conf
    +++ b/applications/asset_tracker/prj.conf
    @@ -1,7 +1,7 @@
     # General config
     CONFIG_NEWLIB_LIBC=y
     CONFIG_TEST_RANDOM_GENERATOR=y
    -CONFIG_ASSERT=y
    +# CONFIG_ASSERT=y
     CONFIG_REBOOT=y
     
     # Network
    @@ -15,10 +15,10 @@ CONFIG_MQTT_LIB_TLS=y
     CONFIG_MQTT_MAX_PACKET_LENGTH=2048
     
     # LTE link control
    -CONFIG_POWER_OPTIMIZATION_ENABLE=n
    +CONFIG_POWER_OPTIMIZATION_ENABLE=y
     CONFIG_LTE_LINK_CONTROL=y
     CONFIG_LTE_AUTO_INIT_AND_CONNECT=n
    -
    +CONFIG_USE_AT_HOST=n
     # BSD library
     CONFIG_BSD_LIBRARY=y
     
    @@ -34,10 +34,10 @@ CONFIG_DK_LIBRARY=y
     CONFIG_DK_LIBRARY_INVERT_LEDS=n
     
     # Console
    -CONFIG_CONSOLE_SUBSYS=y
    -CONFIG_CONSOLE_HANDLER=y
    -CONFIG_CONSOLE_GETCHAR=y
    -
    +# CONFIG_CONSOLE_SUBSYS=y
    +# CONFIG_CONSOLE_HANDLER=y
    +# CONFIG_CONSOLE_GETCHAR=y
    +CONFIG_UART_CONSOLE=n
     # Main thread
     CONFIG_MAIN_THREAD_PRIORITY=7
     
    @@ -45,3 +45,7 @@ CONFIG_MAIN_THREAD_PRIORITY=7
     CONFIG_HEAP_MEM_POOL_SIZE=16384
     CONFIG_MAIN_STACK_SIZE=8192
     CONFIG_GPS_SIM_THREAD_STACK_SIZE=1024
    +
    +#
    +CONFIG_SERIAL=n
    +CONFIG_BSD_LIBRARY_TRACE_ENABLED=n
    

    With the default settings at my end it stabilizes to ~1.5 mA.

    The current examples are not power optimized, and the release notes for the modem states this:

    - nRF9160 power consumption has not been fully optimized.

    Kind regards,

    Håkon

Related