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

Minimizing power consumption

Here's is my device profile:

  • Running on SDK 15.2.0
  • FreeRTOS
  • Custom board, based on NRF52840
  • Powered by a 3.5Ah battery
  • Using CLI utility
  • Using the following peripherals
    • I2C
    • ADC
    • NRF CRYPTO
    • UART (app_uart with fifo)
    • NFC
  • Softdevice is integrated, but no BLE features have been implemented yet. Softdevice is therefore not enabled yet
  • A couple of sensors and a modem

The goal is to put the device in the lowest possible power savings mode (SYSTEM OFF). Here's what I've done/tried so far:

  • Stopped/disabled all peripherals (except CRYPTO and NFC; the device needs to be woken up from SYSTEM OFF via NFC). Disabling CRYPTO does not seem to have any effect.
  • Disabled power to the sensors and modem via GPIO pins
  • Tried NRF_CLOCK->TASKS_HFCLKSTOP = 0; and SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk,
  • Disabled NRF_LOGGER
  • Optimized code for size
  • FreeRTOS Tickless Idle
  • Reset GPIOS to default states
  • Stopped all timers

After implementing all these measures, the device runs at 4.5mA in SYSTEM OFF mode, using the power profiler kit. This is not optimal, as I'd like to see the current consumption in the  micro amps range.

Any insights? Any and all ideas are appreciated. Thanks

Tim

Parents
  • Hi,

     

    Static 4.5 mA current consumption?

    Are you by any chance in debug mode while checking this? Emulated system off, which will run in debug mode, will not give the expected result in terms of power consumption, and it is recommended that you add a while(1) loop after the call to system off in your firmware, for debugging purposes.

    If you power cycle your device, it should go out of debug mode.

     

    Kind regards,

    Håkon

Reply
  • Hi,

     

    Static 4.5 mA current consumption?

    Are you by any chance in debug mode while checking this? Emulated system off, which will run in debug mode, will not give the expected result in terms of power consumption, and it is recommended that you add a while(1) loop after the call to system off in your firmware, for debugging purposes.

    If you power cycle your device, it should go out of debug mode.

     

    Kind regards,

    Håkon

Children
Related