nRF5340 BLE beacon/peripheral low power configuration

Hello,
I am developing nRF5340, the project is pre-production.
I am getting a issue with BLE power consumption, when I turned BLE on, the current is about 9uA. with BLE beacon On then the current is about 240uA
My settings:
prj.conf

CONFIG_BT=y
CONFIG_BT_SMP=y
# CONFIG_BT_SETTINGS=y

CONFIG_IPC_SERVICE=y
CONFIG_MBOX=y
CONFIG_BT_HCI_RAW=y
CONFIG_BT_HCI_RAW_RESERVE=1
CONFIG_BT_MAX_CONN=16

child_image hci_rpmsg.conf

CONFIG_LOG=n
CONFIG_SERIAL=n

CONFIG_RPMSG_SERVICE=y
CONFIG_RPMSG_SERVICE_MODE_REMOTE=y

CONFIG_HEAP_MEM_POOL_SIZE=8192

CONFIG_MAIN_STACK_SIZE=512
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=512
CONFIG_BT=y
CONFIG_BT_HCI_RAW=y
CONFIG_BT_MAX_CONN=16
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_HCI_RAW_RESERVE=1

CONFIG_ASSERT=y
CONFIG_DEBUG_INFO=y
CONFIG_EXCEPTION_STACK_TRACE=y


I am not sure about the configuration. I would like to have any help to improve the power.

Thank you so much!

Parents
  • Hi Thao, 
    Please try to minimize the application. Is there any chance that when you enable bluetooth you actually doing something else, enable any other peripheral ?
    Which LFCLK did you use , do you use crystal or 32kHz synthesized clock ? 
    Have you tried to turn off UART (CONFIG_SERIAL=n) 
    I attached here a LBS sample that you can try to test on your board (you can build for DK and flash on  your board , it should still run) . The sleep current should be around 29uA when doing BLE. 
    peripheral_lbs_nrf53.zip


    Please try to test on your board to see if you have similar number. 

Reply
  • Hi Thao, 
    Please try to minimize the application. Is there any chance that when you enable bluetooth you actually doing something else, enable any other peripheral ?
    Which LFCLK did you use , do you use crystal or 32kHz synthesized clock ? 
    Have you tried to turn off UART (CONFIG_SERIAL=n) 
    I attached here a LBS sample that you can try to test on your board (you can build for DK and flash on  your board , it should still run) . The sleep current should be around 29uA when doing BLE. 
    peripheral_lbs_nrf53.zip


    Please try to test on your board to see if you have similar number. 

Children
  • Hi Hung,
    my board is using external 32KHz. should I declare it in prj.conf? I thought the default used XTAL clock
    I disabled UART but no change.
    I built peripheral_lbs_nrf53.zip with nrf5340dk_nrf5340_cpuapp_ns and flash to nRF5340DK, the current is about 500uA

  • Hi Thao, 
    The sleep current looks really strange. I would suggest to try testing with very simple application, for example blinky to see if you can see low power consumption. 
    I think there is something else on the board is drawing current. 

    thaonguyen said:
    my board is using external 32KHz. should I declare it in prj.conf? I thought the default used XTAL clock

    Yes the sample I provided use XTAL. You may need to reconfigure it to use external 32kHz. Could you give more detail on that ?

    One way of testing this is to switch to 32kHz RC (LFRC) so  we can rule out the possibility that it's the external 32kHz causing the problem ?

    Could you try to build with nrf5340dk_nrf5340_cpuapp to see if it change ? 

    I would strongly suggest to try testing on a DK so you have a reference and compare to your board to find what draw more current. 

    It's important to find a way to achieve low sleep current on your board with a simple sample so that we can figure out what cause the higher consumption. 

  • Hi Hung,
    the result above is using nRF5340DK and your code.
    because when I turned BLE off then the current dropped to 9uA, so I am asking BLE configuration affected to power.
    Could you have any recommendation about BLE configuration?
    nRF5340 uses dual core, so I think the configuration can make power change

Related