ARMmbed

Nucleo-F401RE power consumption

Hello,
I’m using nucleo blink led example with mbed-os 5-12 to test this board consumption. I put a multimeter across jumper IDD.
I’m using online compiler and I compiled using this macros:
DEVICE_SLEEP
MBED_TICKLESS
DEVICE_LPTICKER
MBED_SLEEP_TRACING_ENABLED

Here is the tracing result:
*Sleep locks held:
*[id: mbed_rtx_idle., count: 1]
*UNLOCK: mbed_rtx_idle.cpp, ln: 133, lock count: 0
*LOCK: mbed_rtx_idle.cpp, ln: 111, lock count: 1
With LED off I measured a current of 5.76mA, that is far too much considering that it should go deepsleep.
What could be wrong?
Mario

A number of the STM32F4 series are sleeping on the usticker instead of the low-power ticker due to high interrupt latency. See https://github.com/ARMmbed/mbed-os/issues/10013. You can set the MBED_CONF_TARGET_TICKLESS_FROM_US_TICKER macro to sleep from lpticker again (but be wary of the caveats).

If you still see high power consumption there is probably something else being powered (e.g. the debug interface or the power LED).

Hi Jan,
thanks for replying. Digging into OS mbed_rtx_idle.cpp, ln: 111 and thanks to your suggestion I found “MBED_CONF_TARGET_TICKLESS_FROM_US_TICKER” is defined somewhere. in fact deep sleep is disabled.
At this point I don’t know where it is defined and how to remove it.
Any suggestion.
Thanks
Mario

Just add MBED_CONF_TARGET_TICKLESS_FROM_US_TICKER=0 to your macros section.

Sorry to bother you again, I added the macro, but there was no change. Printing the value of MBED_CONF_TARGET_TICKLESS_FROM_US_TICKER is still 1.
These are the macros used:
DEVICE_SLEEP
MBED_TICKLESS
DEVICE_LPTICKER
MBED_CONF_TARGET_TICKLESS_FROM_US_TICKER=0
MBED_SLEEP_TRACING_ENABLED
Any further suggestion?
Mario

Could you file a ticket on GitHub? I’m on the road and don’t have the board with me, core team should be able to see what might be going on.

Thanks Jan, I opened a question on GitHub as you suggested. We’ll see the result, keep you updated.
Mario

Hello Jan,
I opened a question on GitHub, unfortunately I haven’t any answer yet.
Do you have any idea to suggest me in order to solve my problem? I really need deep_sleep.
Thanks in advance
Mario