This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

High Current Consumption in Secure DFU Bootloader for SDK 14.2

Hi Everyone, 

I am using nRF52832 with SDK v14.2 and SD v5.0.0 on a custom chip. 

Recently i included DFU support to our application. It turns out that secure bootloader is drawing a constant current of >2 mA.

Before integrating secure bootloader support, we managed to bring down application current consumption during system ON (sleep mode) to 30 uA. But after integration with DFU, even during the sleep mode, i see a constant surge of over 2 mA. 

Could any of you guys let me know what can be the cause of bootloader taking in so much current? I found something in the forum which says that the bootloader has not been power optmized and has been considerably optimized in SDK 15.0.0 -> https://devzone.nordicsemi.com/f/nordic-q-a/36570/excessive-power-consumption-in-bootloader_secure_ble

But if i don't want to migrate to 15.0.0, is there a way this can be optimized for SDK 14.2? Please let me know. 

Thank you!  

  • Hi, 

    If i just use bootloader, current consumption is around 2.3 mA. 

    If i just use application, current consumption is 30 uA once i power it down. 

    If i use bootloader + application, current consumption is around 2.4 mA once i power the device down. 

  • I have a silly question. Can i run secure bootloader on SDK 15.0.0 and application on SDK 14.2? Because migrating to a newer SDK for the whole application might take time i believe. Any suggestions? 

  • Hi

    SK said:
    If i use bootloader + application, current consumption is around 2.4 mA once i power the device down. 

     And what is this number when the device is on? It seems way too high, and I don't think the bootloader alone is to blame. It must be causing something else to draw power as well (even though it shouldn't, as the bootloader and application are independent of one another). 

    As for your "silly question", this should be fine actually. As long as you don't use bond-sharing in your application, and use the same SoftDevice version for the bootloader and application, it should not be a problem using different SDK versions for the two.

    Best regards,

    Simon

  • Exactly! It is really high. This is when device is powered down. Switching off some peripherals as well in application to minimize the current.

    By bond sharing, do you mean bond support? Yes, i am using that for buttonless DFU service.

  • Hi

    What might happen, is that your application crashes and constantly resets, which causes this excess current consumption as the bootloader is activated upon a restart. How are you measuring the current consumption? If you use the PPK for example, you should see the startup-spike over and over. You could also enable logging and call and print something at the start of your main loop, to check if the application is constantly resetting.

    Best regards,

    Simon

Related