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. 

  • 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

  • Hi Thao, 


    I think we can focus on the nRF53 DK and align the measurement to make sure we are seeing the same number. 

    Please let us know your nRF53DK version number. Maybe take a photo of your set up , how you connect the PPK2. 

    Second, please use the attached hex file , and select the source mode from the Power Profiler application. Make sure you do 3.0 V, not 3.3 as 3.3 will create leakage on the board. 
    At 3.0V you should see the sleep current only 1-2 uA. 


    I also attached the project file, it's made with NCS v3.0.2. 

    Please flash the hex files by calling these: 

    nrfjprog --coprocessor CP_NETWORK --recover
    
    nrfjprog --coprocessor CP_application --recover
    
    nrfjprog --coprocessor CP_NETWORK --program merged_CPUNET.hex --chiperase
    
    nrfjprog --coprocessor CP_APPLICATION --program merged.hex --chiperase
    
    nrfjprog -r



    I noticed that you were using child-parent image in the original question, but the nrf5340-ble-power.rar you sent us has sysbuild folder, could you explain ? 



    6562.merged.hex

    0714.merged_CPUNET.hex

    0218.peripheral_lbs.zip

Reply
  • Hi Thao, 


    I think we can focus on the nRF53 DK and align the measurement to make sure we are seeing the same number. 

    Please let us know your nRF53DK version number. Maybe take a photo of your set up , how you connect the PPK2. 

    Second, please use the attached hex file , and select the source mode from the Power Profiler application. Make sure you do 3.0 V, not 3.3 as 3.3 will create leakage on the board. 
    At 3.0V you should see the sleep current only 1-2 uA. 


    I also attached the project file, it's made with NCS v3.0.2. 

    Please flash the hex files by calling these: 

    nrfjprog --coprocessor CP_NETWORK --recover
    
    nrfjprog --coprocessor CP_application --recover
    
    nrfjprog --coprocessor CP_NETWORK --program merged_CPUNET.hex --chiperase
    
    nrfjprog --coprocessor CP_APPLICATION --program merged.hex --chiperase
    
    nrfjprog -r



    I noticed that you were using child-parent image in the original question, but the nrf5340-ble-power.rar you sent us has sysbuild folder, could you explain ? 



    6562.merged.hex

    0714.merged_CPUNET.hex

    0218.peripheral_lbs.zip

Children
No Data
Related