Skip to main content
Associate II
March 20, 2025
Solved

STM32WB09 deepstop mode

  • March 20, 2025
  • 1 reply
  • 638 views

I'm trying to run a sample PWR_DEEPSTOP_RTC from PWR_DEEPSTOP_RTC, but I'm facing some problems.
The code works correctly, the UC enters deepstop mode and returns to run mode, but when I try to measure the current in PJ2 as described in item 7.1.4 of UM3345, I get 90uA when in deepstop mode and not around 1uA as the datasheet says. (RTC wakeUP, LSi 32k).

I follow this example recipe:

/* The following Wakeup sequence is highly recommended before each entry into Deepstop mode
especially when using more than one wakeup source, this is to not miss any wakeup event.
- Disable all used wakeup sources,
- Clear all related wakeup flags,
- Re-enable all used wakeup sources,
- Enter Deepstop mode.
*/

Is there anything I missed or didn't understand?

Best answer by rlopes

Yes, I am using the ST example, STM32CubeWB0\Projects\NUCLEO-WB09KE\Examples\PWR.

I was only able to achieve the correct current consumption when I went to the .ioc file in CubeMX under Project Manager -> Code Generator -> HAL Settings and enabled the option "Set all free pins as analog (to optimize power consumption)", which is not enabled by default in the provided example.

1 reply

STTwo-32
Technical Moderator
April 10, 2025

Hello @rlopes 

First, are you using the same ST Example or another one based on it.

Best Regards.

STTwo-32

rlopesAuthorBest answer
Associate II
April 11, 2025

Yes, I am using the ST example, STM32CubeWB0\Projects\NUCLEO-WB09KE\Examples\PWR.

I was only able to achieve the correct current consumption when I went to the .ioc file in CubeMX under Project Manager -> Code Generator -> HAL Settings and enabled the option "Set all free pins as analog (to optimize power consumption)", which is not enabled by default in the provided example.