Deep sleep draws 0.9mA

Posted on
  • I have a Pico connected to a wifi module through a shim and an e-ink display, and it's all powered by 3 AA batteries. This setup wakes up every hour to fetch data and refresh the e-ink display. The code is here. Unfortunately the batteries only last about two weeks, which is a lot shorter than I expected. I've measured the power draw using a cheap multimeter, and it draws about 90mA when the wifi is active, 20mA when refreshing the e-ink display, and 0.9mA when idle. I've set it to deep sleep, I disable the wifi and power down the e-ink display, but that is still too much power consumed, IMO.

    I'm wondering if the serial connection could possibly consume some power, through pull up/down resistors? Or maybe it's the voltage regulator? Any other tips to limit power consumption?

  • Hi,

    The Pico + ESP01 module shouldn't draw that much power in deep sleep. What's the power draw if you upload no code at all apart from setDeepSleep(1)? And what if you disconnect the eInk display?

    On STM32 when you do setDeepSleep it should shut off the Serial port automatically, but as you say there could be pullups... Since Serial will automatically want to pull the pin up, but if ESP8266 is off, it may be being parasitically powered through those serial pins.

    Maybe when you're not using the ESP8266 you could turn it off and then do;; to set both the serial port pins to inputs?

  • I tried with this program:


    It draws a steady 312uA. When I change the commented line so that B9 is input it draws 89mA, so it seems like the wifi chip is enabled then. Probably there is some charge left that isn't drained, leaving it on (my guess here). This is with the e-ink display disconnected.

    I tried a few different things but couldn't get it below 300uA. Unfortunately I managed to short my cheap multimeter, so now it's not saying anything at all...

  • Ok, great - that's a bit better I guess. So are you using an ESP01 with the shim?

    So that's using A2 and A3 for serial. You could try A2.mode("input");A3.mode("input"); and see if that helps at all?

    A0, A10 and A1 are also connected and you could try setting those to inputs.

    Unfortunately I managed to short my cheap multimeter, so now it's not saying anything at all...

    That can always be a pain if yoy leave your meter in current measurement mode - I've lost track of the times I've done it :) but if you open it up there's usually a fuse inside that you can replace (because it is so common to do).

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

Deep sleep draws 0.9mA

Posted by Avatar for MariusGundersen @MariusGundersen