What different measure can I take to lower the power consumption on the Pi Pico RP2040?
I am running the Seeed XIAO-RP2040, use SPI and one button. All LEDS are off, power LED removed.
I have understood there are different peripherals etc on the chip that can be turned off to save power. What different things can I turn off and how do I do that?
Basically I only run a simple timer and an e-paper display. Timer based on millis() function and a button that triggers an interrupt. Some SRAM needed for the display driver.
I also have also understood that it's possible to lower the core voltage and also the system clock. Can this be done "safely", i.e. without compromising functionality, and how does lowering the system clock affect the millis() function?
Indeed, throttling down the clock would be my suggestion and this will likely affect millis(), since that runs off a Timer and the Timer in turn runs off (a derivative of) the core clock. But maybe this is already accounted for in the core you use. See also here: RP2040 set clock speed - #2 by PaulRB (no conclusive answer though, just a suggestion of what you could try).
If you adjust the clock and millis() breaks, you'd have to adjust the Timer settings that millis() uses. It's not a big modification, but it'll require some rooting around in the core files.
Yes, I'll give it a try and see what it gives. Someone mentioned lowering to 10MHz and still working. Question is if it's fast enough to give reliable times when measuring. Guess I'll have to try that out too. But first to check what effect it will have on consumption.
I guess it would be pretty low hanging fruit to turn some peripherals off too, I just need to figure out what and how to.
If you look at the RP2040 datasheet, you'll find a chart that gives an indication of how much you'll be able to shave off. I'd start there to see if it's worth trying.