This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Reduce nRF52832 current during connection

We've built a custom board, at power off current is 1-2uA and when connected average current is ~4.7mA. Internal DCDC is enabled, this shaved off >2mA. Other than reducing TX power, which we have yet to experiment with, is there any other way to reduce the current whilst connected?

Thanks

  • Hi,

    • Adjusting the system voltage
    • Using LFXO instead of internal RC oscillator
    • Adjusting the connection parameters(connection interval, slave latency etc)

    The Online Power Profiler sums up the different variables that affect the current consumption during a connection.

    regards

    Jared 

  • Also, I reccomend reading this blog post.

  • Thanks. The online power profiler suggests an average of 81uA, which is a long way from our observed 4.7mA. I am guessing most of the additional power consumed here is CPU. However, we aren't really doing anything – some interrupts are configured, and a timer is running to flash an LED. I use nrf_pwr_mgmt_run in the main loop, so the CPU should be able to idle, but it seems it isn't. Is there anything that could be keeping it active?

  • Hi,

    Most likely the CPU isn't staying in IDLE for a long time before it "wakes up" due to an interrupt. What kind timer are you using, the app timer library, the RTC directly, or one of the HW timers? Could you share your code which shows what interrupts you're configuring etc before sleep?

    regards

    Jared 

  • I'm using App timer v2 with RTC and GPIO interrupts. The App timer is not firing very regularly – every few hundred ms probably. However, Bluetooth connection interval is 15ms. Could it just be Bluetooth related CPU usage? The code is quite lengthy, across multiple files, and not in a project format Nordic supports (CMake). Is there any way to profile what is using CPU time?

Related