gmx, yes, in non-striped mode. At this point it is just an experiment. And I need to build my own micropython executable to do it.
As hippy says, most micropython coders would not notice the speed reduction.
But many would definitely notice the loss of SRAM.
The github repo https://github.com/cpottle9/RP2-PowerControl contains code giving it user ability to disable hardware blocks they don't need.
This flexibility is good because our projects all have different requirements.
I agree with hippy's other comment that a user either needs high performance or low power. Rarely both.
gmx mentioned the second core. Someone wanting low power above all will almost certainly have to give up on the second core.
I also agree with hippy's comment that there is a lower limit to power consumption..
I would say machine.lightsleep() reaches that limit on a PICO.
When not using USB, lightsleep power consumption is around 1.5 milliamps(@5V).
It does a lot of tricks to get power consumption that low.
Some are not nice.
It is possible to reduce power consumptiona little with no performance impact.
SRAM and the XIP block can be turned off when sleeping.
In the RP2-PowerCtrl project look at always_safe_RP2040_example.py.
Another repo of mine, https://github.com/cpottle9/picow-temperature-sensor, contains a low power application.
I use it as part of my home automation project (I won't go into that here).
The code spends most of its time sleeping. Once a minute it wakes up and reads an I2C temperature sensor.
If the temperature did not change much it will go back to sleep for another minute.
When the temperature changes is significant or very 10 minutes it fires up WIFI and posts temperature and status information to an MQTT server.
The PICO W runs on two AA batteries.
My current version can run for about 3 weeks before the batteries die.
I know I can do a better. I would like to double the running time. Not likely I will achieve that.
As hippy says, most micropython coders would not notice the speed reduction.
But many would definitely notice the loss of SRAM.
The github repo https://github.com/cpottle9/RP2-PowerControl contains code giving it user ability to disable hardware blocks they don't need.
This flexibility is good because our projects all have different requirements.
I agree with hippy's other comment that a user either needs high performance or low power. Rarely both.
gmx mentioned the second core. Someone wanting low power above all will almost certainly have to give up on the second core.
I also agree with hippy's comment that there is a lower limit to power consumption..
I would say machine.lightsleep() reaches that limit on a PICO.
When not using USB, lightsleep power consumption is around 1.5 milliamps(@5V).
It does a lot of tricks to get power consumption that low.
Some are not nice.
It is possible to reduce power consumptiona little with no performance impact.
SRAM and the XIP block can be turned off when sleeping.
In the RP2-PowerCtrl project look at always_safe_RP2040_example.py.
Another repo of mine, https://github.com/cpottle9/picow-temperature-sensor, contains a low power application.
I use it as part of my home automation project (I won't go into that here).
The code spends most of its time sleeping. Once a minute it wakes up and reads an I2C temperature sensor.
If the temperature did not change much it will go back to sleep for another minute.
When the temperature changes is significant or very 10 minutes it fires up WIFI and posts temperature and status information to an MQTT server.
The PICO W runs on two AA batteries.
My current version can run for about 3 weeks before the batteries die.
I know I can do a better. I would like to double the running time. Not likely I will achieve that.
Statistics: Posted by cpottle9 — Fri Jan 10, 2025 12:15 am