I have a ST Micro Nucleo board with a low power microcontroller. The STM32F030R8

I'm going to measure its power consumption, to see how well it would do in low power designs.

ST has a good power measurement example; called PWR_CurrentConsumption. It allows to measure power in SLEEP, STOP and STANDBY mode. This blog shows the power in the different modes.

 

Probe Point

 

The Nucleo 64 boards have a jumper called IDD. It's in the direct current path to the controller.

You can replace the jumper with a current meter. Take care that the shunt resistance isn't too high, or the controller won't start up.

 

I couldn't get a precise measurement with my handheld meters. I had to use the high current input because the low current one had too high resistance.

And with the high current input, I lost too much precision in the lower sleep mode ranges (below 1 mA).

What did work, was measuring it with a DMM and a µCurrent in mA mode, and a Keithley DMM6500 with the 3A input. Both setups agreed on the current.

 

Power Mode Example

 

The code comes with the Nucleo board resoource pack: PWR Current Consumption example.

You can configure it for any of the 3 power save modes, then measure current.

You can't use a debugger for this example, because the connection breaks when a low power mode is activated.

 

Normal mode

 

All examples start up in this mode.

The board blinks an LED in normal mode, so there's more than just the controller consuming power.

You could disable the LED code, but I used the graph mode here to show what's happening. You clearly see the current when the LED is on or off.

I'm interested in the controller current. So that's the current when the LED is off. Approx 13.2 mA.

 

 

Stop Mode

 

In that low power mode, I measure a little more than 7 µA.

 

Stand-by Mode

 

In this mode, I get just below 700 µA.

The program behaves slightly different than explained in the readme. It stays in low power mode as long as I push the user button down.

When I release it, the controller resets. It doesn't wait for a next push.

 

Sleep Mode

 

The controller takes 4 mA in sleep.

 

 

The measurements are in line with the datasheet. See 6.3.5 Supply current characteristics.