8 years, 11 months ago.

sleep mode is unreal

My board is STML152RE which is low power designed, but i measured the current in sleep mode is 50mA which is much bigger than the database (1mA). why? I also want to see the change in registre but i cant find ,I even don't know how the function sleep come from.

Question relating to:

Enter in sleep or deepsleep modes. DeepSleep, InterruptIn, Nucleo, Sleep, STM, stm32

How are you measuring the power consumption?

posted by Erik - 12 May 2015

I use hp34401A measure the current of power supply (5V), I saw the normal time is 58 mA. And I also reduce the voltage for 1.5V and I saw the current of sleep mode is 1mA.

posted by Jiang CHEN 13 May 2015

1 Answer

8 years, 11 months ago.

Hello, Where are you measuring this current? JP6 jumper labelled IDD allows to measure the current in the main STM32 only. Otherwise you might be measuring other current also: the regulator, the STLink MCU, LED1...

Accepted Answer

Thanks a lot ! I measured current of JP6 and found 10mA in work mode and 6mA in sleep mode.

I also want to turn down all the LED (especially LD3)and reduce the power energy directly. What should I do ?

posted by Jiang CHEN 18 May 2015

6mA in sleep mode is still bigger than datasheet(1uA) ,how to reduce the consumption ?

posted by Jiang CHEN 19 May 2015

I am not sure mbed is the best platform to develop low power application. Low power application development depend a lot on the processor and usually require a deep knowledge of the device you are using: you will have to dig into the documentation... MBED purpose is more about hiding differences and easing cross platform development which is not, in my opinion really compatible with low power development.

This being said, I am not much aware about how MBED API handles low power. I have seen from my reading around mbed 2 functions being used: sleep() and deepsleep()

From what you are describing, it looks like you tested the datasheet RUN mode (10mA) and datasheet SLEEP mode. Sleep mode is basically same as RUM with the core stopped. This mode depend a lot on the active peripherals and 6mA is possible depending to what peripheral are still active (datasheet says 2.5mA at 32MHz + peripherals conso).

Did you try the deepsleep() function? I guess this one should be the datasheet STOP mode (few uA consumption, also depending on what is active) This is probably the mode you are looking for.

posted by Maxime TEISSIER 21 May 2015