So with a bit of research, I develop this simple code that makes exactly what I was asking here:
#include <M5Core2.h> #define DEVICE_TIMEOUT 120000 float Time_bat = 0; void setup{ M5.begin(); M5.Axp.SetBusPowerMode(1); } void loop{ M5.Lcd.drawString(("Battery: " + String(M5.Axp.GetBatteryLevel())), 0, 120, 2); if(!M5.Axp.isVBUS() && !M5.Axp.isCharging()){ M5.Lcd.drawString(String((millis() - Time_bat)/1000,0) + " ", 1, 154, 1); }else{M5.Lcd.drawString("Feeded ", 1, 154, 1);} if(!M5.Axp.isVBUS() && !M5.Axp.isCharging()){ if(Time_bat == 0){Time_bat = millis();} if((millis() - Time_bat) > DEVICE_TIMEOUT){M5.shutdown();} }else{ Time_bat = 0; } }Hope it helps someone!