M5paper power consumption in light sleep



  • Hi all,
    I need help to optimize my code to save power consumption of m5paper.
    Basically I'm doing this in the setup():

    gpio_hold_en((gpio_num_t)M5EPD_MAIN_PWR_PIN);
    

    If I'm not setting this, m5paper will not wake up from sleep.

    In main loop()

      esp_sleep_enable_timer_wakeup(60 * USEC_TO_SECONDS);
      esp_light_sleep_start();
    

    Everything is working quite nice, so going to sleep and also wake up again after one minute.

    But power consumptions is not going down during sleep. Battery is empty after some hours already.

    Anybody any hint how to save battery in light sleep mode?



  • Hello @volker

    you can try to turn off the E-Paper driver IC using M5.disableEPDPower() this should save you some energy.

    But if you really want to save energy you'll need to turn off the system and then wake it up from the RTC.

    A while ago I've made some measurements regarding power saving. You'll find find them here.

    Thanks
    Felix



  • Hello @felmue,
    thanks for the quick replay.
    Yes I included

      M5.disableEPDPower();
      M5.disableEXTPower();
    

    I made it also working with M5.shutdown(), but from time to time m5 is somehow hanging until battery power is empty. Don't know if this happens during shutdown or startup. Did you observe something similar?



  • Hello @volker

    I am not using my M5Paper in a serious project so no, I have not encountered such behavior (yet).

    That said, my best guess would be that at some point the remaining battery charge is just enough to run the RTC but when it's time to wake up the full system there is not enough juice in the battery left, probably resulting in a boot loop.

    Thanks
    Felix



  • @felmue Thanks a lot
    I just plugged off the GT911 cable, I don't need touch for my project. disableEPDPower() and disconnecting GT911 save a lot of battery.



  • @volker EPD and GT911 should save you 130-160mA power draw. The IT8951 itself alone would be pulling most of that, the GT911 should be below 20mA even when actively used. It's a bummer M5 decided to use that crappy PMIC instead of the AXP192, which would've had the pins required to control those elements separately (also bummer that the e-ink display uses a separate, power-hungry controller...).



  • My device is now running for about 6 days with one battery charge.
    But I'm using deep sleep mode now.
    If I use disableEPDPower() before getting into light sleep mode, I need to re-init the display after wake up. So the advantage of light sleep is lost and display need to be fully updated.

    I choose this device with e-paper display to build a low power application, but at the end it was not the best decision to use M5paper.