cancel
Showing results for 
Search instead for 
Did you mean: 

STM32 lower power consumption

lcopparoni
Associate III

Hi everyone,

I need the lowest possible current consumption for my project. I need to power my MCU with external supply. Currently I have a Nucleo F401RE, which is not so good for low power applications it seems. It's connected to a X-NUCLEO-NFC04A1 NFC Tag. The 401RE needs to update data from some connected sensors ​and then write them to the Tag's memory. At this time, I'm able to lower power consumption to 5V 60mA in run mode, shutting off all LED's in the Tag. Also, enabling deep sleep (don't remember if this is stop mode from ST) I'm able to go down to 40mA at 5V.

I​ was asking if there's a way to further reduce this. I would also like to try with a different MCU, the L073RZ, which is the same base as the 401RE (Nucleo 64) but it's suggested for ultra low power applications.

Does anyone has some suggestions to help me?

It would be greatly appreciated.

Thank​ you so much

3 REPLIES 3
Danish1
Lead II

The Nucleo boards are a great introduction to stm32 and for initial experiments. But they are not optimised for low power. For example, many use a low-drop-out voltage-regulator to generate +3.3V from +5V - a switching regulator would be much more effective.

Once you're happy that a particular stm32 processor can do your job and you know which pins to connect to where, the lowest-power approach is often to design your own pcb.

Can you say where you're measuring the current? ST provide a jumper for this, which excludes the current drawn by the embedded ST-Link.

Do you know how much power is taken by the NFC tag (not a board / interface I know)? If that's a lot, maybe a saving would be to leave that off for most of the time, powering it up for short periods to see if there's anything to communicate with and if so doing the necessary communications before powering-down again.

L073 will burn less power when running or sleeping, but all stm32 use less power when clocked more slowly and with only minimum peripherals enabled (e.g. stm32f415 sleep current is 59 mA at 168 MHz with all peripherals enabled, falling to 1 mA at 2 MHz with all peripherals disabled). Stop mode should be less than 1 mA. Switching to a lower-power processor won't save much if most of the 40 mA is from other components.

If a significant chunk of the 40 mA is the stm32 itself, then maybe you aren't going into deep sleep as you intended, or is only in there for very short periods before waking up. Just something to check.

lcopparoni
Associate III

Hi,

Thanks for the reply.

I made some tests with the L073RZ:

  • measuring with a multimeter directly on JP6 I have a 5V 9mA consumption in run mode and 4 microA in sleep mode. This is fine.
  • As soon as I connect the L073RZ to an external 5V supply, the STLink powers ON and I get a power consumption, directly from the DC power supply, of 5V 60mA in run mode, 5V 40mA in sleep mode. The only difference is the ST-LINK, because measuring with JP6 I get the consumption only of the STM32 MCU and not STlink.

Is this possible? IT seems like ST-Link is taking up about 40mA of power itself. Is there a way to disable it without cutting it off?

Also, you talked about shutting off peripherals on the MCU, but how? I don't seem to find detailed info about this.

Thank you so much

gregstm
Senior III

"Lowest possible power consumption..." - I'll just say a few things and hopefully some part will be useful.

To save power, run at lowest possible voltage and lowest possible clock frequency. If you have heavy duty maths/float calculations, use the something like the L4 or above, if you get can do complex calculations with less cycles you are saving power. The L4's DSP instructions allow me to use a quarter of the cycles I would use on the lower down micros - which equals power savings. Consider making a board with just the micro on it - I connect/load my micro with just the UART serial bootloader (but you could have a connector for the ST-link I guess) - that way you can study the power consumption of the bare micro for comparison. I often run using just a battery with no regulator, to avoid regulator power consumption (but you will need a battery holder that prevents reverse insertion, or use a MOSFET to give low drop-out reverse voltage protection)