AWS is unresponsive after Arduino upload

  • Hi, I am new to M5Stack use and I hope to port my existing Arduino code to the Core 2 AWS I just bought. It started up OK when first plugged into my PC and I was able to set the time. But after I compiled and uploaded the suggested test program (print "Hello World"), the screen froze and did not display this text. I powered unit off but now it is unresponsive and it won't do anything.

    Any suggestions on what to try next?

  • Hello @SteveM

    do you see any output in the Arduino Serial Monitor window (under Tools) when you reset your M5Core2? (The reset button is the one next to the SD card slot.)

    Are you using the proper library for M5Core2 (which is different from the M5Stack library btw).

    Could you share the code you flashed onto your M5Core2?


  • Thanks for the good ideas!
    In fact, I had initially loaded the M5Stack library, not the M5Core2 one.
    I have since corrected this.
    I do not see any activity in the serial monitor.

    Below is the test program I uploaded.
    I now am getting a compiler error:
    'class M5Core2' has no member named 'Power'.
    Any suggestions on what's wrong now?

    #include <M5Core2.h>

    /* After M5Core is started or reset
    the program in the setUp () function will be run, and this part will only be run once.
    After M5Core is started or reset, it will start to execute the program in the setup() function, and this part will only be executed once. /
    void setup(){
    M5.begin(); //Init M5Core. Initialize M5Core
    M5.Power.begin(); //Init Power module. Initialize the power module
    Power chip connected to gpio21, gpio22, I2C device
    Set battery charging voltage and current
    If used battery, please call this function in your project */
    M5.Lcd.print("Hello World"); // Print text on the screen (string) Print text on the screen (string)

    /* After the program in setup() runs, it runs the program in loop()
    The loop() function is an infinite loop in which the program runs repeatedly
    After the program in the setup() function is executed, the program in the loop() function will be executed
    The loop() function is an endless loop, in which the program will continue to run repeatedly */
    void loop() {


  • Hello @SteveM

    try using the hello world example from the M5Core2 library.

    BTW: the Power.begin() function only exists for M5Stack (Basic, Gray, Go, Fire) as it uses a different chipset for battery charging etc. than M5Core2.


  • Felix,
    OK, that works.
    It prints to the LCD and I get output on the serial monitor.
    Thanks for your assistance!

  • Hello @SteveM

    you are welcome. Glad to hear you got it working.