2025-07-21 7:32 AM
Hello,
I’m working on a telephone‑line–powered device based on the STM32L072VBT6 and I need to push the MCU’s Run‑mode current down to ≤ 1.2 mA (ideally lower) while on‑hook. So far I’ve managed to get down to 1.6–1.7 mA by applying the following:
CPU clock reduced from 16 MHz → 4 MHz (MSI). Any lower crashes my SPI2 link to the AS2522 line driver.
GPIO: all unused pins set to Analog / No Pull.
Regulator: switched to Voltage Scale 3.
RCC gating: disabled clocks for every unused peripheral.
Delay/tick: moved from SysTick → LPTIM1 (LSO domain), and completely turned off SysTick.
External gating: used an EXTI line to physically power‑gate off‑board modules when not needed.
Has anyone tried any of the above on an L0-series? Or do you have other exotic low‑power knobs I’m missing? Any concrete code/config snippets or CubeMX settings would be hugely appreciated.
Thanks for your help!
2025-07-21 10:41 AM
There is Sleep mode (WFI / WFE) where the CPU is not clocked until it has something that it needs to process. There are 4 other low-power modes described in the reference manual.