M5 Stack Core2 Firmware Stops Working on Reboot

  • If I unplug my core2 from USB and let the battery go, when I turn it back on my video and sound no longer works, but my firmware is still running. I can tell because it's dumping to the serial port.
    I can "fix" it by using M5 Burner, burning the factory firmware, and then reburning my hardware. This isn't usable like this.
    Is my unit defective? What gives?
    Here's a reproduction. It must be compiled under Platform IO.

  • Hello @codewitch

    good news - your M5Core2 most likely is not defective. For me the issue is happening independently of whether M5Core2 is running from USB or battery. It always happens after a complete power loss. The reason it is not working as expected is that for some functions dealing with voltages you declared the parameter as float but then call them with big non float values. Here is what I changed in m5core2_power.cpp to make it work:

    //--fm  Wire1.begin(22,23);
    //--fm  mcu_voltage(3350);
    //--fm  lcd_voltage(2800);
    //--fm  ldo_voltage(2, 3300);  //Periph power voltage preset (LCD_logic, SD card)
      ldo_voltage(2, 3.300);  //Periph power voltage preset (LCD_logic, SD card)
    //--fm  ldo_voltage(3, 2000);  //Vibrator power voltage preset
      ldo_voltage(3, 2.000);  //Vibrator power voltage preset