Skip to main content
Associate II
October 26, 2026
Question

STM32WBA65CIUx consumes current more than expected

I am using custom board that only has STM32WBA65CIU6 and IIS3DWB. I am using STM32CubeIDE v2.2.0, STM32CubeMX v6.18.1, and STM32Cube FW_WBA V1.10.0.
I generated a project from CubeMX with the default configurations without changing or enabling anything except
1) Enable ICACHE 2-way
2) Enable HSE and LSE, use SMPS and turn off prefetch
3) Enable SRAM1 and SRAM2
to match the conditions mentioned in the datasheet for the current characterstics

I tried in an empty code, just the generated initialization from CubeMx and empty while(1)
1) Using HSE + PLL to have 100MHz HCLK and read 3.39 mA which is fine
2) Using HSE only to have 32MHz HCLK and read 2.27 mA which is above the 1.7 mA
3) Using HSI only to have 16MHz HCLK and read 1.53 mA which is above the 0.46 mA

When I try entering any low power mode, I read 0.87 mA which is much higher than expected.

I tried disabling the RAMs and the ICACHE, disabling the HSE and the LSE, set ULPMEN to 1 and leave it, and other many cases and still get the same 0.87 mA.


I am entering the low power mode with this sequence. I tried add and remove those lines before the entering function, but nothing works.

HAL_DBGMCU_DisableDBGStopMode();
HAL_DBGMCU_DisableDBGStandbyMode();
__HAL_RCC_PWR_CLK_ENABLE();
HAL_PWREx_EnableUltraLowPowerMode();
HAL_SuspendTick();
__HAL_PWR_CLEAR_FLAG(PWR_WAKEUP_FLAG1 | PWR_WAKEUP_FLAG2 | PWR_WAKEUP_FLAG3 | PWR_WAKEUP_FLAG4 | PWR_WAKEUP_FLAG5 | PWR_WAKEUP_FLAG6);
//HAL_PWR_EnterSTOPMode(PWR_LOWPOWERMODE_STOP1, PWR_STOPENTRY_WFI);
HAL_PWR_EnterSTANDBYMode();