Long-term power for a Pico W + Inky project

I’ve just soldered a Pico W and got it working with the Inky display. They work great together.

The plan is for me to attach this project to a wall and poll an API, displaying some information. There’s no power source nearby so I need to run off batteries.

I can see on the recommended Pimoroni power bank (Nanowave) that it only has a short-lived low power mode so this probably won’t be suitable. I’d like to go multiple days without human interaction if my chosen battery will go that long.

Has anyone got recommendations for a battery setup for this? I’ve already soldered some standard headers which are taken up by the Inky so would need to re-solder to wire up a separate AA or LiPo battery pack.


the main point here is not purely the battery setup, but also the way you operate the pico-w. A pico-w will draw in idle mode about 25mA, so this really eats up batteries fast (e.g. a 1000mAh lipo in 40 hours, probably less).

So you either have to put the pico-w in deep-sleep and wake it up with it’s internal RTC, or wake it up externally. The first option will require C/C++ or CircuitPython, the second option will require additional components (not really expensive, but you have additional wiring and soldering). The second option will give you a longer battery live.

I have experience with both options, please let me know which way you want to go.

Thanks, I appreciate the offer of advice and the clarifying question.

I think option 1 - it’s meant to be a passive display so I wouldn’t want to rely on external button press to refresh the display.

Unless there’s some way of automating the external trigger? but that would again require battery. The cost of components isn’t much of a concern if they’re in Pico / Inky territory and I’m happy to do more wiring and soldering too if needed.

Before discussing the first option, you might want to look at Adafruit’s enable timer (you can find it here: Adafruit TPL5111 Low Power Timer Breakout - Pimoroni). You connect this little breakout to the EN-pin of the pico. You also need a GPIO to signal “done” to the timer. You power the breakout from the same battery as the pico, the breakout itself is very efficient and draws very little current.

The only drawback of this solution is that you are limited to intervals up to a maximum of two hours. So if your use-case is an update per day, this breakout won’t work.

Regarding option 1: if you are happy to use C/C++, there is a class here: GitHub - ms1963/SleepyPico: Weather Station Example for using sleep and dormant mode of Raspberry Pi Pico and SSD1306, BME280

If you want to use CircuitPython, you will find examples and measurements here: GitHub - bablokb/pico-sleepcurrent: Test programs to measure current consumption during sleep for the Pico
If you scroll all the way down to the bottom, you will see results for the enable-timer I linked to above.

If you have any additional questions, just let me know.

Thanks again, this is awesome. That Adafruit timer looks ideal - I’d be periodically polling an API so the two-hour limit is ideal actually. Plus the option to override with the onboard button or an externally wired one is great when I need to manually poll.

Last Q if you don’t mind - do you have any opinion of a good battery option for working with Pico + timer like Adafruit one in low power mode? Sounds like a powerbank won’t be a good choice for low power so either LiPo + breakout or AA battery pack look like the options? Whatever can last the longest is best.

Indeed, powerbanks are not optimal. They are built to charge other devices with relative high currents (1A-2A) and the better ones try to detect the “charge-completed” state by monitoring the current draw and then just shut off. Pimoroni offers a powerbank where you can deactivate this behavior. I use very cheap powerbanks once in a while. They are so cheap that they don’t have the sophisticated electronics.

One thing I find annoying is that on AA batteries you don’t find their capacity printed (at least here in Germany). So it is hard to tell which ones last longer. One big advantage of batteries is their low discharge rate. A LiPo looses about 10% capacity in the first 24h and then about 5% a month. Exact figures again are not available, so this is more a rule of thumb.

So the best thing is to do some experiments. I use a battery-pack of two AAA batteries to drive a pico + SPI-TFT + audio-amp and this works fine unless the batteries are old. Using three batteries gives you 4.5V and thus a little bit more headroom on the voltage. The battery pack is attached directly to the pico. AA batteries will have more capacity, so that would be better for you (my project was space-limited, so I needed the smaller ones).

For the lipo you should use a breakout, ideally something that lets you recharge it in place (those JST-connectors have a rather limited plug-cycle count). Pimoroni has a few options in their shop.

If you have additional questions don’t hesitate to ask.