Hi Everyone,
After adding bleDfuButtonlessAsyncSvciInit(); for buttonless dfu I see the power consumption increase significantly +150uA
Is there anyone who has same issue? and any solution?
Thanks,
Ng
Hi Everyone,
After adding bleDfuButtonlessAsyncSvciInit(); for buttonless dfu I see the power consumption increase significantly +150uA
Is there anyone who has same issue? and any solution?
Thanks,
Ng
Hi,
See DFUButtonless consume power?
Are you able to solve your issue using the information in that case?
Regards,
Sigurd Hellesvik
Hi,
See DFUButtonless consume power?
Are you able to solve your issue using the information in that case?
Regards,
Sigurd Hellesvik
Hi Sigurd,
I checked the link but seems like it doesn't help.
I have disable all UART config, log config for both Firmware and bootloader.
When I add bleDfuButtonlessAsyncSvciInit(); the current goes up to >150uA and when I remove this function it goes down to 5-7uA
any ideas that this function can cause?
another question is DFU always running in background?
Hi Huynh,
I'm taking over the case from Sigurd as I have some more experience with the nRF5 SDK.
I assume you are talking about the idle current ?
I don't think calling bleDfuButtonlessAsyncSvciInit() would cause any added current. As Vidar explained in his case that Sigurd pointed to, the function just allow the application to call another function inside the bootloader.
The bootloader doesn't run in the background when the application is running. The DFU process is executed when the application trigger a reset and the bootloader will boot and stay in DFU mode.
I just did a quick test with the buttonless example with advertising interval of 185ms:

I can see the average current consumption was about 150uA but the idle current was about 20uA (which is slightly high and can be optimized). This is without using DCDC and without log turned off.
I don't see the change of current consumption if I remove the bleDfuButtonlessAsyncSvciInit() function in the code.
Hi Hung,
Thanks for checking! In my case BT is not advertise and all *_LOG_ENABLE in sdk_config.h are set to 0
I measure power with Joulescope with the calling bleDfuButtonlessAsyncSvciInit(); and not calling bleDfuButtonlessAsyncSvciInit();
Please help to check this sdk_config.h
https://drive.google.com/file/d/1MgmVfgxFtaH3BRY_cPbCLay9a_PTsMe2/view?usp=sharing
Thanks,
Hi Huynh,
Which hardware board did you use for the test ?
Could you reproduce the issue on a DK ?
If you can provide a simplified sample that show the issue it would be nice.
If you simply test with the buttonless example in the SDK do you see the issue ? For testing you can try to comment out advertising_start(erase_bonds); so that the buttonless example doesn't send advertising packet.
Please try to test with unmodified bootloader as well.