I want to use a STM32F072 for a new product and saw table 35@page 65 in the datasheet.

enter image description here

This table lists the current consumption of several peripherals of the MCU.

I'm asking why relative simple modules, like USARTs or timers have such an high current consumption, compared to USB? Can anyone explain this for me?

  • 2
    \$\begingroup\$ Timers are anything but simple on STM32 controllers. For USART1/2 it might be the additional logic needed for smartcard and infrared. \$\endgroup\$ – berendi - protesting Feb 1 '17 at 9:04
  • \$\begingroup\$ They may be higher in uA/MHz, but the MHz of USARTs is frequently low. Don't worry about it. \$\endgroup\$ – Brian Carlton Jun 21 '17 at 0:44

Its really hard to say without looking at the HDL or reverse engineering the processor.

Power is determined by switching transistors, there must be more if you using a 32-bit timer. The 32-bit timers (timers 1&2) are complex,they can be setup multiple ways. enter image description here

There are lots of transistors switching all of the timer while the counter is in use, you increment it by one for certain values and all of the transistors switch of the 32-bit counter. Due to the complexity of the other features of the timer (triggers, pwm, output compare) there are a lot of values and registers that are being compared to the counter value, every time the clock increments some of those transistors switch also. This may be a max power value, and it might be lower if your not using all of the special features.


I once designed a UART with discrete logic that filled a circuit board before UART chips were released. They are complex. with autobaud, framing error, parity generation and 16 byte buffer FIFO. Synchronous Timers use more power since they are clocked at same time and may be long in bytes or register counts.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.