@chris1101
Hi Chris, haven't seen any other reports of this..... I've used quite a few M5's without any button problems.

Some parts are referenced on the last page of the info sheet included with the M5 - but not the buttons. Don't think there is another list referencing parts.

In terms of a fix:

Presumably the M5 powers on when connected to USB. So I'm assuming you sometimes need the on/off/reset button to operate as the reset button when you are uploading code. And naturally you need the button to power on the M5 when dis-connected from USB. Is that right?

Connecting a capacitor between the RST and GND ports should solve both these problems. Connect negative to ground , positive to RST.

When NOT connected to USB, connecting the cap should power it up (can remove cap once started**). Also when uploading code, leaving it connected should allow code to load - or if use of the reset button is needed when uploading, just disconnect and re-connect the cap. Or - connect a button along with the cap.

The cap I use is a 22 uf through-hole cap with polarity. 10 uf max has been suggested as the ideal max - but I've had no problems.

Further discussion re. which cap to use:
http://forum.m5stack.com/topic/113/an-even-simpler-fix-when-upload-fails
http://forum.m5stack.com/topic/55/simple-fix-when-upload-fails/24

** Turning it off could still be a problem.