2025-12-09 8:26 AM
Hi
We are using an STM32U073CCT6 on a battery-powered board. We need to put the processor in low-power mode to increase battery life. The current in STOP MODE 2 is about 20uA. To address some issue related to the power supply and our hardware, we put the processor in Shutdown Mode and obtained a current of 2uA. How could we reduce the consumption in STOP2 mode? We have already deinitialized all peripherals before entering stop mode 2.
BR
Gilberto
2025-12-09 10:42 AM
695 nA without RTC
primary check if isnt wake periodic
2025-12-09 11:05 AM
Hi
It is not for sure. It use the RTC for wake up 30 seconds. I have managed to get some further reduction in power consuption placing the GPIO in analog mode.
Is there a clock that I need to manually disable?
BR
Gilberto
2025-12-10 12:21 AM
hello @gilberto-falker
Based on the product datasheet, it is possible to save additional µA. A consumption of 20 µA is still significant for Stop2 mode.
Did you review this article? It may provide useful insights.
However, if you still need to reduce power consumption after applying the tips from the article, consider refining your hardware.
Hope taht helps
Gyessine
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2025-12-10 6:08 AM
Hi
Thank you very much! Excellent publication!
Regarding the HAL_PWR_EnableSleepOnExit() function:
Is there any way to ensure that the processor does not enter stop mode when receiving an int between the two function calls below:
HAL_PWR_EnableSleepOnExit();
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
BR
Gilberto
2025-12-11 12:43 AM
hello @gilberto-falker
well,the
HAL_PWR_EnableSleepOnExit()
is designed to make the processor re-enters SLEEP mode when an interruption handling is over.
if you don't want your processor to enter stop mode when receiving an interrupt between your two functions
you can use
HAL_PWR_DisableSleepOnExit();
to prevent this from happening, maybe you can try this implementation .
HAL_PWR_EnableSleepOnExit();
HAL_PWR_DisableSleepOnExit();
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
In general, you can control it manually by disabling sleep on exit when you don't need it.
Hope I understood and answered your case correctly.
Gyessine.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.