I enabled the power saving mode of the Raspberry Pi Pico 2 to reduce the standby power to 3V/0.05mA or less.

Raspberry Pi Pico 2 standby power consumption is less than 50μA



The Raspberry Pi Pico 2 is a microcontroller board equipped with the proprietary RP2350 microcontroller. While collecting information about the Raspberry Pi Pico 2, I discovered that there is a power-saving mode that can minimize standby power consumption. This seemed useful for saving power in applications where the standby state continues for long periods of time, so I actually enabled the power-saving mode of the Raspberry Pi Pico 2 and tried to see how much power consumption I could reduce.

Missing an example to set low power states on Pico 2 · Issue #530 · raspberrypi/pico-examples · GitHub

https://github.com/raspberrypi/pico-examples/issues/530

Build the power saving mode sample code and write it to the Raspberry Pi Pico 2
This time, we will build the sample code for power saving mode released by Peter Harper of Raspberry Pi on Ubuntu and write it to the Raspberry Pi Pico 2. The steps to build a development environment on Ubuntu are explained in the following article.

Summary of steps to build a development environment for 'Raspberry Pi Pico 2' and blink the LED - GIGAZINE



First, create a working directory and clone the 'powman' branch . I named the working directory 'powman'.
[code]mkdir powman

cd powman

git clone -b powman https://github.com/peterharperuk/pico-examples.git[/code]



Next, build the sample code. If you are using Ubuntu 24.04, building it as is will cause an error, so add ' #include <sys/_stdint.h> ' to the second line of ' Working directory/pico-examples/powman/ powman_example.c '.

Add '#include <sys/_stdint.h>' to your source file.



Once you have finished editing the source code, run the following commands in order to build the sample code.
[code]cd pico-examples

mkdir build

cd build

cmake -DPICO_PLATFORM=rp2350 ..

cd powman

make[/code]



If the build is successful, ' powman_timer.uf2 ' will be output to ' working directory/pico-examples/build/powman/powman_timer ', so write it to the Raspberry Pi Pico 2. Now you're ready to go. The function of 'powman_timer.uf2' is to 'continue to cycle through the mode switching of 'maintaining normal mode for 10 seconds, then maintaining power saving mode for 5 seconds'.'
Write 'powman_timer.uf2' to Raspberry Pi Pico 2



◆Measurement of power consumption in power saving mode of Raspberry Pi Pico 2
First, we will prepare a 5V output USB power supply and a USB tester '

Power-Z KM003C ' and measure the power consumption in normal mode and power saving mode.
Measure the power consumption of Raspberry Pi Pico 2 using the USB tester 'Power-Z KM003C'



Below is a video taken from the Power-Z KM003C monitor to make it easier to see the change in power consumption. After turning on the Raspberry Pi Pico 2, normal mode continues for 10 seconds, and then power saving mode continues for 5 seconds.

Measuring power consumption of Raspberry Pi Pico 2 in power saving mode - YouTube


Power consumption was around 35mW in normal mode and around 4mW in power consumption mode.
Results of measuring the power consumption of Raspberry Pi Pico 2 in power saving mode using the USB tester 'Power-Z KM003C'



Since the Raspberry Pi Pico 2 also supports 3V input, prepare a power supply that can output 3V.

A power supply capable of outputting 3V and 5V



Additionally, we also have a desktop multimeter.

Fluke Desktop Multimeter



We will connect various equipment and apply 3V to the Raspberry Pi Pico 2 to measure the power consumption.

Measuring Raspberry Pi Pico 2 power consumption with a Fluke desktop multimeter



The change in current when a voltage of 3V is applied to the Raspberry Pi Pico 2 looks like this.

Apply 3V voltage to Raspberry Pi Pico 2 and measure power consumption - YouTube


The current draw at 3V was around 7.36mA in normal mode and around 0.057mA in power saving mode.
The result of measuring the power consumption of Raspberry Pi Pico 2 with a Fluke desktop multimeter



◆ Aiming to further reduce power consumption
After trying various things to further reduce power consumption, I succeeded in suppressing the power consumption in power saving mode to less than 0.15mW. To reduce power consumption, simply add the following code to ' Working directory/pico-examples/powman/powman_timer/powman_timer.c '.
[code]#include 'hardware/vreg.h'[/code]


[code]hw_write_masked(
&powman_hw->vreg_lp_entry,
POWMAN_PASSWORD_BITS | ((uint)VREG_VOLTAGE_0_60 << POWMAN_VREG_LP_ENTRY_VSEL_LSB),
POWMAN_PASSWORD_BITS | POWMAN_VREG_LP_ENTRY_VSEL_BITS
);[/code]



When I built the edited code and wrote it to the Raspberry Pi Pico 2, the current draw when a voltage of 3V was applied was around 0.0495mA.

Raspberry Pi Pico 2 power consumption drops below 50μA



Harper, who created the sample code for the power saving mode, has posted that he plans to make it possible to enable the power saving mode via an API in the future.

in Review,   Hardware,   Video, Posted by log1o_hf