nRF52832 + NCS v2.9.2: high BLE power on official bluetooth/peripheral sample (PPK2)

Hi,

We are developing on nRF52832 with NCS v2.9.2 (Zephyr) on a custom PCB (LDO, no DCDC, 32 kHz RC).

On the same hardware, our nRF5 SDK firmware shows much lower average current than our NCS / Zephyr build.

To isolate the issue, we tested the official bluetooth/peripheral sample on the same board with PPK2. The average current is still around 2–3 mA while advertising (not connected), which is close to our Zephyr application and far above our nRF5 SDK results.

Could you advise how to reduce power on the official BLE peripheral example for nRF52832? For example, recommended prj.conf settings, power management options, or any known configuration issues that would explain this level of current?

Thank you.

Parents
  • Hi,

    Generally comparing average current between applications can be difficult, as for instance in a bluetooth application advertising interval and packet length matters significantly, as does connection parameters in a connection. So I would first start with looking at the idle current consumption. Most samples have UART logging enabled by default. Disabling that is the most important factor for current consumption. See Power optimization recommendations.

    Assuming you are referring to the Zephyr Bluetooth peripheral sample, I did a quick test on my end with an nRF52840 DK (as I do not have a nRF52832 DK at hand right now), and see that I get the idle current consumption down to an expected level if I disable UART logging by adding this to prj.conf:

    CONFIG_LOG=n
    CONFIG_SERIAL=n
    CONFIG_CONSOLE=n
    CONFIG_UART_CONSOLE=n

    The current consumption when for instance the CPU or radio is active will be higher on your device as you do not have the DCDC components. If current consumption matters and depending on your supply voltage, I would recommend considering adding the DCDC inductors if you still have flexibility to update your hardware.

    If you still see high current consumption after disabling logging, can you share your modified sample application and  PPK2 plots showing both idle and active current (the exported ppk2 file would be good as well)?

  • bluetooth_peripheral.ppk2

    Hi,

    Following your suggestion, we disabled UART/logging on the official bluetooth/peripheral sample (NCS v2.9.2, nrf52dk/nrf52832, same custom PCB as in my earlier post) and captured a new PPK2 trace.

    prj.conf additions:

    CONFIG_SERIAL=n
    CONFIG_CONSOLE=n
    CONFIG_UART_CONSOLE=n
    CONFIG_LOG=n
    CONFIG_USE_SEGGER_RTT=n
    CONFIG_PRINTK=n

    Test conditions unchanged: advertising only, not connected.

    Attached: bluetooth_peripheral.ppk2 (~12.6 s, 100 kHz).

    With logging/UART disabled, we now measure roughly ~1.53 mA average, ~1.46 mA typical level between radio activity, and an idle floor of ~0.83–0.89 mA between advertising bursts (periodic TX peaks still up to 21 mA). This is lower than our previous peripheral capture on the same board with logging enabled (2.25 mA average), but still far above our nRF5 SDK firmware on the same hardware (~0.75 mA average).

    Could you advise what idle current we should expect for this sample on nRF52832 without DCDC, and which further Zephyr/NCS settings you recommend to lower the ~1.45 mA baseline between advertising events?

    Thank you.

Reply
  • bluetooth_peripheral.ppk2

    Hi,

    Following your suggestion, we disabled UART/logging on the official bluetooth/peripheral sample (NCS v2.9.2, nrf52dk/nrf52832, same custom PCB as in my earlier post) and captured a new PPK2 trace.

    prj.conf additions:

    CONFIG_SERIAL=n
    CONFIG_CONSOLE=n
    CONFIG_UART_CONSOLE=n
    CONFIG_LOG=n
    CONFIG_USE_SEGGER_RTT=n
    CONFIG_PRINTK=n

    Test conditions unchanged: advertising only, not connected.

    Attached: bluetooth_peripheral.ppk2 (~12.6 s, 100 kHz).

    With logging/UART disabled, we now measure roughly ~1.53 mA average, ~1.46 mA typical level between radio activity, and an idle floor of ~0.83–0.89 mA between advertising bursts (periodic TX peaks still up to 21 mA). This is lower than our previous peripheral capture on the same board with logging enabled (2.25 mA average), but still far above our nRF5 SDK firmware on the same hardware (~0.75 mA average).

    Could you advise what idle current we should expect for this sample on nRF52832 without DCDC, and which further Zephyr/NCS settings you recommend to lower the ~1.45 mA baseline between advertising events?

    Thank you.

Children
No Data
Related