7 years, 1 month ago.

How to make BLE examples work with low power?

I am trying to make the BLE_Button example work with getting the nRF52 into low power mode. Following the suggestions of this question, I disabled RTOS by adding a .mbedignore file to the project. This is what happened:

  • Power consumption went down to under 1 mA, which is great.
  • The LED stopped blinking after 8200 seconds.
  • BLE stays active even is LED not blinking any more: I can connect to the device, read the Button service and get the button status correctly. When there is some BLE activity the LED blinks once or twice.

Looking at the code, it seems that the EventQueue stops calling blinkCallback(). At the moment it seems to me that handling the timer on nRF52 platform might have a bug somewhere. I have seen similar behaviour with other tests recently when I was testing a similar application with BLE waitForEvent() and Tickers (then the Ticker stopped firing after the same timeout).

Anyone might help with this?

Thanks,

-Tamás

Be the first to answer this question.