This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Extremely high current consumption during advertising - broadcast mode(ble_app_temp)

I have written application similar to ble_app_temp (posted by Ole Morten) and during the test I noticed that current consumption is extremly high. I used brand new coin battery that was included in evaluation kit and after ~10 minutes battery status was only 40% ( I checked this also with ble_app_hrs app). At the beginning I though that it was caused by the data included in advertisment packet ( I added 10 bytes of data to manufacturer data - adv interval was 1 second), but then I tested my battery with original app (ble_app_temp) and the effect was the same. My question is: did anyone also encountered such a problem with high current consumpion in case of broadcaster mode? I will test different battery today but I am afraid that is not case of battery.

Thanks in advance for your help.

ble_app_temp.zip

Parents
  • I suspect that this problem may be caused by the enabling of the ADC interrupt, when the interrupt is not used. Try removing the line

    
        NRF_ADC->INTENSET   = ADC_INTENSET_END_Msk;
    
    

    from the battery_level_get() function.

    Edit: For completeness, also include some other things that should be checked when seeing unexpected current consumption:

    • Make sure that you power-toggle your board after programming, as discussed here.
    • If you use the Evaluation Board, make sure to disconnect or turn off the Segger chip (i.e. remove jumpers on P8 or turn off SW4 depending on board revision).
    • Make sure that the lines that are connected to the UART of the Segger chip are defined as input with their buffers disconnected, or cut the UART solderbridges.
Reply
  • I suspect that this problem may be caused by the enabling of the ADC interrupt, when the interrupt is not used. Try removing the line

    
        NRF_ADC->INTENSET   = ADC_INTENSET_END_Msk;
    
    

    from the battery_level_get() function.

    Edit: For completeness, also include some other things that should be checked when seeing unexpected current consumption:

    • Make sure that you power-toggle your board after programming, as discussed here.
    • If you use the Evaluation Board, make sure to disconnect or turn off the Segger chip (i.e. remove jumpers on P8 or turn off SW4 depending on board revision).
    • Make sure that the lines that are connected to the UART of the Segger chip are defined as input with their buffers disconnected, or cut the UART solderbridges.
Children
Related