Hi,
I need to reduce the consumption of the peripheral_uart sample on a nrf5340dk, I use nRF Connect SDK V1.5.0.
At the beginning, I measured with an ampere meter 591uA on “P22”.
First, I tried to increase the time during two advertising, I modified on “bluetooth.h” the advertising parameter ( BT_GAP_ADV_FAST_INT_MIN_2, \ BT_GAP_ADV_FAST_INT_MAX_2 remplace by BT_GAP_ADV_SLOW_INT_MIN, \ BT_GAP_ADV_SLOW_INT_MAX), I had 100ms at the beginning and after I had 1000ms.
That reduce the consumption to 540mA.
Second, I modified the prj.conf from peripherial_uart, I put “n” to:
CONFIG_LOG=n
CONFIG_USE_SEGGER_RTT=n
CONFIG_LOG_BACKEND_RTT=n
CONFIG_ASSERT=n
That reduce a little bit the consumption to 520uA.
Third, I modified the prj.conf from hci_rpmsg, I put “n” to:
CONFIG_LOG=n
CONFIG_SERIAL=n
CONFIG_ASSERT=n
CONFIG_DEBUG_INFO=n
Now, I have 412uA.
For my project, I need to have the advertising permanently and the lowess consumption because it work on a battery.
I had a look on the different power mode, I try:
pm_power_state_force(POWER_STATE_DEEP_SLEEP_1);
the consumption was reduce to 3.5uA but I do not find a way to make the advertising active with the different power mode.
- What are the other ways to reduce this consumption ?
- Is it possible to put the cpuapp in sleep mode and wake it up only when there is a bluetooth connection while keeping the advertising active ?
- Is it possible to put the two core in sleep mode betwen two advertising ?
- Is it possible to reduce the consumption if we just use one core ?
I found "empty_app_core" sample, maybe i can use this sample to make peripheral_uart working on the netcore only...
-Is it possible to reduce the clock from app core from 128Mhz to 64Mhz to save some more consumption?
Best Regards,
Rob.