Power consumption BLE nRF5340

Hello,

I'm currently working with a custom board using the nRF5340 SoC, and I'm running into unexpected current consumption behavior.

When the device is in advertising mode, the average current measured is around 100 µA, which makes sense for the configuration.

However, once the device connects to a central, the current jumps to around 1 mA, even though there's no significant data being transmitted regularly (only occasional notifications). I'm using the internal RC oscillator as the low-frequency clock (LFCLK).

I’ve attached a screenshot from the Power Profiler Kit II, showing the current over a 12.52 s window.

Below is the relevant part of my prj.conf:

# Use internal RC as LFCLK
CONFIG_CLOCK_CONTROL=y
CONFIG_CLOCK_CONTROL_NRF=y
CONFIG_NRFX_CLOCK=n

CONFIG_SOC_HFXO_CAP_EXTERNAL=y
CONFIG_SOC_HFXO_CAP_INTERNAL=n

CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y

Parents
  • Hello,

    The spikes you see while connecting to central, I think it is related to the calibration of LFCLK. When using the LFRC oscillator, the nRF5340 needs to perform periodic calibration against the HFXO to maintain the 500-ppm accuracy required for BLE. After certain interval when calibration occurs PPK shows the spike of current in mA level.

    You can try to set this CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=n if your application is not so performance constraint. 

    Do you have DC-DC converter on your custom board? Ensure that the following configurations are set

    CONFIG_BOARD_ENABLE_DCDC_APP=y
    CONFIG_BOARD_ENABLE_DCDC_NET=y

    Besides this, you need to check if any unnecessary peripherals are on in the application, you can disable those from device tree.

    Thanks

    BR
    Kazi

Reply
  • Hello,

    The spikes you see while connecting to central, I think it is related to the calibration of LFCLK. When using the LFRC oscillator, the nRF5340 needs to perform periodic calibration against the HFXO to maintain the 500-ppm accuracy required for BLE. After certain interval when calibration occurs PPK shows the spike of current in mA level.

    You can try to set this CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=n if your application is not so performance constraint. 

    Do you have DC-DC converter on your custom board? Ensure that the following configurations are set

    CONFIG_BOARD_ENABLE_DCDC_APP=y
    CONFIG_BOARD_ENABLE_DCDC_NET=y

    Besides this, you need to check if any unnecessary peripherals are on in the application, you can disable those from device tree.

    Thanks

    BR
    Kazi

Children
No Data
Related