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

Power consumption on FreeRTOS with SDK 15.3

Hardware: PCA10040, PPK

SDK: nRF5_SDK_15.3.0_59ac345

I test hrs app and get these number in current consumption during advertising. No modification on example projects. 

ble_app_hrs_freertos_pca10040_s132: 8.3mA

ble_app_hrs_pca10040_s132: 1.2mA

I want to use FreeRTOS. How do I get minimal current consumption with it?

Parents
  • Hi

    I tried this myself on the nRF52840 DK (pca10056). For the ble_app_hrs example, I measured ~600µA of current consumption. This seems correct, seeing as the nRF52840 draws a bit more current than the nRF52832.

    The ble_app_hrs_freertos example drew about 7mA. Which is way too much. Luckily, this problem has been reported before, and I think it might be the same issue we're encountering. Please check out the verified answer in this post, where my colleague Susheel suggests changing a few lines of code in the port_cmsis_systick.c file. Apparently, this is an issue with some select chips when using FreeRTOS. So try changing these lines of code, and see if that gets the current consumption down in the FreeRTOS example.

    As for the regular example, I think you must have made an error when measuring. If this doesn't help, please check if reverting the sdk_config.h file changes help at all. It might be that the RTT and UART peripheral are both kept running, which is what causes this current draw.

    Best regards,

    Simon

Reply
  • Hi

    I tried this myself on the nRF52840 DK (pca10056). For the ble_app_hrs example, I measured ~600µA of current consumption. This seems correct, seeing as the nRF52840 draws a bit more current than the nRF52832.

    The ble_app_hrs_freertos example drew about 7mA. Which is way too much. Luckily, this problem has been reported before, and I think it might be the same issue we're encountering. Please check out the verified answer in this post, where my colleague Susheel suggests changing a few lines of code in the port_cmsis_systick.c file. Apparently, this is an issue with some select chips when using FreeRTOS. So try changing these lines of code, and see if that gets the current consumption down in the FreeRTOS example.

    As for the regular example, I think you must have made an error when measuring. If this doesn't help, please check if reverting the sdk_config.h file changes help at all. It might be that the RTT and UART peripheral are both kept running, which is what causes this current draw.

    Best regards,

    Simon

Children
Related