I just thought, you were using the ui flow firmware previously right. I think there is an issue if you have flashed one of the micropython firmwares and try to use arduino afterwards without completely wiping the memory. Please try to use the erase tool in the M5 burner tool and then try and flash an arduino sketch again

@lukasmaximus Sorry for the late reply, was busy with work the entire week. The manuals are indeed horribly outdated, but the community here seems nice and I now have both UI Flow and Arduino working and am currently using the latter to build a fun project. :)

Well, I have a couple of spots in my project that a button press would make things very easy. For example, I'm using M5ez for my interface, and use Blynk to display events on the M5 screen. I have backlight timeout set to 30 seconds. A new event doesn't turn the backlight back on, but a keypress does. So, in my if (newEvent) loop, I could have a M5.BtnA.press(), that would wake up the screen. Can I go into the M5ez library, figure out what happens after a real button press to wake the screen and replicate that? Yes, of course, and I have certainly tried that, but some of the items that need to be set are private, so calling them from a main loop is problematic. Rewriting that stuff so it's all public might work, but that solves one problem. I'd also like menus to time out - if there's no activity after going into a menu, I'd like it to time out and go back to the main menu. Again, code can certainly make that happen, but a M5.BtnA.press() would be a lot easier to implement... Does this make sense?

I'll try that when I get home,
The m5burner from the m5stack download page. also has a check psram option and that showed this, maybe handy for people in the feature that want to check if it is working.

Does it do the same with the USB lead plugged it?
It could be that the battery isn't charged enough.

to reconnect, Plug the usb into a battery or laptop to power on and start charging the M5, When it beeps the main menu will briefly pop up, you hit to hit button C (right button) as soon as the screen appears this will send you to the wifi screen and you use c button to move do to the "reconnect to uiflow" option then hit the middle (B) button to connect.
Go into UIFlow and hit the circle symbol next to (disconnected) to reconnect to the M5 (Sometime it will auto connect and say connected in green).