Problems with powerOFF() (Guru Meditation)

  • Even with the simple PowerOFF example included I get a Guru when I try to shut it down, resulting in automatic restart.
    Same result if I run it on USB, the M5 (red) battery module or the Go Battery module.

    Any suggestions?

    Module: Core Basic
    Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
    Core 1 register dump:
    PC : 0x400e2c28 PS : 0x00060130 A0 : 0x800d3786 A1 : 0x3ffb1f30
    A2 : 0x00000000 A3 : 0x3ffbf75c A4 : 0x00000001 A5 : 0x0000001d
    A6 : 0x00000000 A7 : 0x3ffb0060 A8 : 0x800e2e02 A9 : 0x3ffb1f10
    A10 : 0x00000014 A11 : 0x0000001d A12 : 0x00000001 A13 : 0x00000007
    A14 : 0x00000020 A15 : 0x3ffb0060 SAR : 0x00000005 EXCCAUSE: 0x0000001c
    EXCVADDR: 0x00000134 LBEG : 0x4000c2e0 LEND : 0x4000c2f6 LCOUNT : 0x00000000

    Backtrace: 0x400e2c28:0x3ffb1f30 0x400d3783:0x3ffb1f60 0x400d1136:0x3ffb1f90 0x400d7e5d:0x3ffb1fb0 0x40089819:0x3ffb1fd0


  • M5Stack

    could you paste your code to here.

  • I use the included PowerOFF example.
    Deepsleep works fine.

    Here it is, I use it unmodified.
    As soon as I push btn A it reboots with the guru error.

    #include <M5Stack.h>

    // the setup routine runs once when M5Stack starts up
    void setup(){

    // initialize the M5Stack object

    Power chip connected to gpio21, gpio22, I2C device
    Set battery charging voltage and current
    If used battery, please call this function in your project

    // Lcd display
    M5.Lcd.println("This is software power off demo");
    M5.Lcd.println("Press the button A to power off.");

    // the loop routine runs over and over again forever
    void loop() {

    if(M5.BtnA.wasPressed()) {


  • M5Stack

    @option pls check the lib version is latest. and confirm the board select m5stack -core