Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

High power consumption of softdevice

Hello!

I am working on firmware for device that has freertos in the base and implements BLE beacon and 1 service with 7 characteristics. Everything works. But power consumption is too high.

After plenty of tests on final HW, I've created playground based on ble_app_hrs_freertos_pca10040_s132 sample project and switched to sparkfun board.

When have just FreeRTOS with no user-defined tasks, consumption is about 1uA.

After I call  ble_stack_init with code below, I got about 500uA. It is without advertising at all.

When beacon is enabled I have cca 650uA.

When GATT and beacon are working I have cca 750uA.

I measure with multimeter.

Results seems fine for me except for those 500uA after stack is initialized. Why is it so high? What can I do to lower it?

  • SDK v 15.0
  • NRF_LOG_ENABLED is 0
  • Using RELEASE configuration.
  • Tried S132 and S140 - result is the same
Parents
  •  Hi Elias, 

           I had similar issue,did you find the way to resolve the  500uA  after stack is initialize (advertising  not work yet) ?

  • Hi David!

    I can confirm, that Aryan's answer worked for me. I just changed #if 0 to #if 1

    This did its job for demo project.

    Also for this project I had to do few more things:

    1. As far as I used floating point calculations, I had to chnage my main.c module as follows:

    2. We use SAADC module for some measurements and I had to uninitialise it after usage like this after each usage:

    And now average power consumption is about 30uA.

    p.S. Sorry for late answer, so much work here...

  • Hi Elias,

    Just started with this board recently, still facing the 7mA issue. Are those the only changes you did? I still could not get it down to anywhere close to 30uA like yours. Thanks.

    Regards,

    Rahmat

Reply
  • Hi Elias,

    Just started with this board recently, still facing the 7mA issue. Are those the only changes you did? I still could not get it down to anywhere close to 30uA like yours. Thanks.

    Regards,

    Rahmat

Children
  • Hi Rahmat,

    yes, make sure that UART and logging is switched off in your sdk_config.h and that you are not running your application with debugger.

    Maybe some more information about your application could help to point you.

    Cheers,

    Elias

  • Got it, Thanks. Just wanted to start with the right template. Was surprised it consumed a few hundred microAmps with example codes