New Core2 appears to not be working properly?

  • Out of the box the sample ran fine. Downloaded M5Burner, and flashed 1.6.3 firmware, but it does absolutely nothing after it completes (no lights, no reset, no power on). The only firmware I have been able to get working are the Beta-Core2 firmware, and they only seem to work with flowui.
    I downloaded and installed everything in arduino IDE, and can upload my code successfully to the board, but again, once completed nothing happens (screen black, no green light on bottom) regardless of button presses. Am I doing something wrong?

  • I have the same problem. The microcode of the Core2 seems to be very bugy

  • @hausbusde could you please provide the code you've been trying to execute?

  • Hello @Zontex

    @HausBusDe posted the code here. The issue seems to be Serial.begin() which when called twice (once in the code and once through M5.begin()) causes that issue.


  • @felmue is the code that use Serial.begin() twice on GitHub? would you mind sending a pull request for a fix and I will approve it? or just point for the software library/example where the issue appears to be I will manually fix it.

  • Hello @Zontex

    no, the code using Serial.begin() twice is not on GitHub - I think it is simply code @HausBusDe put together himself and posted in the forum here.


  • @felmue is the code that use Serial.begin() twice on github? would you mind sending pull request for a fix and I will approve it? or just point for the software library / example where the issue appears to be I will manually fix it.

  • Hello @Zontex

    did you post the same text twice by accident? Or was that a glitch in the forum software?

    Anyhow, there is nothing wrong in GitHub examples regarding Serial.begin() - there is no need for a pull-request or fixing a software library or example.

    Everything's ok. (Only the personal example of @HausBusDe he posted is incorrect.)

    Nothing needs to be done.


  • @felmue Hi, seems like a glitch, sorry about that! yes makes complete sense, I also don't fully understand what the cause but only m5.begin() should be used there is no need to use Serial.begin() as well. Thanks for your help Felix!

  • Same for me. I upload the example sketch, but only black screen in Core 2.

    OS: Mac Big Sur

    // 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.print("Hello World");
    // the loop routine runs over and over again forever
    void loop() {
    Result debug: v3.0-dev
    Serial port /dev/cu.usbserial-0203EDF5
    Chip is ESP32-D0WDQ6-V3 (revision 3)
    Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
    Crystal is 40MHz
    MAC: 84:cc:a8:61:90:50
    Uploading stub...
    Running stub...
    Stub running...
    Changing baud rate to 921600
    Configuring flash size...
    Auto-detected Flash size: 16MB
    Compressed 8192 bytes to 47...
    Writing at 0x0000e000... (100 %)
    Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 10848.4 kbit/s)...
    Hash of data verified.
    Flash params set to 0x024f
    Compressed 17104 bytes to 11153...
    Writing at 0x00001000... (100 %)
    Wrote 17104 bytes (11153 compressed) at 0x00001000 in 0.2 seconds (effective 899.1 kbit/s)...
    Hash of data verified.
    Compressed 413360 bytes to 171576...
    Writing at 0x00010000... (9 %)
    Writing at 0x00014000... (18 %)
    Writing at 0x00018000... (27 %)
    Writing at 0x0001c000... (36 %)
    Writing at 0x00020000... (45 %)
    Writing at 0x00024000... (54 %)
    Writing at 0x00028000... (63 %)
    Writing at 0x0002c000... (72 %)
    Writing at 0x00030000... (81 %)
    Writing at 0x00034000... (90 %)
    Writing at 0x00038000... (100 %)
    Wrote 413360 bytes (171576 compressed) at 0x00010000 in 3.2 seconds (effective 1031.9 kbit/s)...
    Hash of data verified.
    Compressed 3072 bytes to 129...
    Writing at 0x00008000... (100 %)
    Wrote 3072 bytes (129 compressed) at 0x00008000 in 0.0 seconds (effective 3453.6 kbit/s)...
    Hash of data verified.
    Hard resetting via RTS pin...

  • Hello @TheAlphaGhost

    I think the code you uploaded is for M5Stack and not M5Core2.

    Please use #include <M5Core2.h> at the top and remove M5.Power.begin() which is required for M5Stack only.

    #include <M5Core2.h>
    void setup() {
      M5.Lcd.print("Hello World");
    void loop() {

    You probably will need to download and install the proper library for M5Core2 as well.