Searching for NRF52840 power saving possibilities

Posted on
  • Online Power Profiler for BLE show's some option which are available in


    1. enable the DC/DC instead of the LDO (-DESPR_DCDC_ENABLE=1)

    2. enable slow speed external osc (-DESPR_LSE_ENABLE)

    3. change advertising interval (-DBLUETOOTH_ADVERTISING_INTERVAL)

    NRF class

    1. increasing the advertisement interval using NRF.setConnectionInterval(interval)
      eg NRF.setConnectionInterval({minInterval:1­0,maxInterval:500}); - not sure about this one

    Any further possibilities?

  • Firmware.3: BLUETOOTH_ADVERTISING_INTERVAL=750, default 375

    1 Attachment

    • ppk-20210908T185935.png
  • You can change NRF.setTxPower(...) to reduce power usage. Also if you're not scannable (setAdvertising option) then that can save some power too.

  • Is there something similar like setDeeepSleep() for NRF528XX devices?

  • it is not needed, it goes to sleep automatically once there in nothing to do in event loop

    or you can check what bangle poweroff does here­b/master/libs/banglejs/jswrap_bangle.c#L­4078
    for lowest power state, but not sure this is something you'd want. This wakes up from off state by gpio trigger, not sure if RTC could do it too and whether with RTC turned on it would save something compared to ordinary sleep with advertising off.

  • nRF52 with Espruino does 'deep sleep' by default.

    The difference between normal sleep and sd_power_system_off is pretty small - just a few uA, and you lose the RTC and everything in RAM, so generally it's not worth it.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

Searching for NRF52840 power saving possibilities

Posted by Avatar for MaBe @MaBe