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.
2025-07-22 2:13 AM
Thanks for the tip! I’m already using Sleep in parts of my code and have experimented with STOP mode for extra savings. My remaining challenge is reducing normal Run‑mode current (not just Sleep/STOP) so I can redirect more of the telephone‑line power to another module on my board. Are there any additional software‑only tricks to shave the Run‑mode draw further?
Thanks!
2025-07-22 2:31 AM
I would concentrate on the power-down / sleep modes as well.
Cortex M MCUs do start up wtih all non-crucial peripheral units disabled.
Although you might need to pay attention to external circuitry if leakage currents could be a problem.
For the core clock, you would need to experiment, the correlation is usually not a direct proportionality.
Which means, you might use less energy overall when running at a higher clock speed for a shorter duration, and spend the rest in a power-donw mode.
2025-07-22 8:12 AM
"software‑only tricks"? Well, only hardware consumes power...
STM32L072xx: "Down to 93 µA/MHz in Run mode"
STM32U375xx: "9.5 μA/MHz Run mode @ 3.3 V (While(1) SMPS step-down converter mode)"