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 have tried your modifications from below but I'm still not seeing anything under about 880uAs. I have configured the device to use eDRX and I am able to see the paging events clearly in the power profile at the configured intervals. However, between the paging windows the current is a pretty constant ~880uAs.

    Is there something I'm missing with regards to getting the device down to ~30uAs?

    Software setup:

    Repositories (checked out tags are per the setup guide):

    • nfxlib & nrf -> v0.30
    • mcuboot & zephyr -> v1.3.99-ncs2

    Modifications:

    • secure_boot/prj.conf modifications:
      • CONFIG_UART_2_NRF_UARTE=n
    • asset_tracker/prj.conf modifications using your diff from below. 
    •  asset_tracker  'main' function starts with -> modem_configure(); while(1) k_sleep(1000);
    • asset_tracker autoconf.h modifications:
      • Added: #define CONFIG_LTE_EDRX_REQ 1
      • Modified: #define CONFIG_LTE_EDRX_REQ_VALUE "0100" // ~61s eDRX interval
    • zephyr/scripts/kconfig/kconfig.py USE_AT_HOST added whitelist.

    Hardware setup:

    • Powered (and profiled) through the P24 header.
    • SB44 has been cut.

    p.s.  I have also tried skipping the modem_configure() call in at the start of the main function, this did not make any difference.

Reply
  • Hi Håkon,

    I have tried your modifications from below but I'm still not seeing anything under about 880uAs. I have configured the device to use eDRX and I am able to see the paging events clearly in the power profile at the configured intervals. However, between the paging windows the current is a pretty constant ~880uAs.

    Is there something I'm missing with regards to getting the device down to ~30uAs?

    Software setup:

    Repositories (checked out tags are per the setup guide):

    • nfxlib & nrf -> v0.30
    • mcuboot & zephyr -> v1.3.99-ncs2

    Modifications:

    • secure_boot/prj.conf modifications:
      • CONFIG_UART_2_NRF_UARTE=n
    • asset_tracker/prj.conf modifications using your diff from below. 
    •  asset_tracker  'main' function starts with -> modem_configure(); while(1) k_sleep(1000);
    • asset_tracker autoconf.h modifications:
      • Added: #define CONFIG_LTE_EDRX_REQ 1
      • Modified: #define CONFIG_LTE_EDRX_REQ_VALUE "0100" // ~61s eDRX interval
    • zephyr/scripts/kconfig/kconfig.py USE_AT_HOST added whitelist.

    Hardware setup:

    • Powered (and profiled) through the P24 header.
    • SB44 has been cut.

    p.s.  I have also tried skipping the modem_configure() call in at the start of the main function, this did not make any difference.

Children
Related