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.
Hi World101, Just to clarify, I was saying the one you have is "not the most recent model with 4Mb PS-RAM and MPU-9250" - emphasis on the AND. So your model does have the MPU9250 - but it does not have the 4 Mb PS-RAM.
At this time - Feb 2018 - all models in grey cases include the MPU9250. The models in black and white cases do not include MPU9250.
The model in the grey case that includes the 4 Mb PS-RAM features a different chip (SoC) that is much smaller and does not have a sticker on the back showing the GPIO ports. Check the photo comparison. The photo on the left does show a black case model but the chip is the same as in yours - as you can see.
Thanks for clarifying the issue you had and multiple kudos to you for following up your earlier posts and noting how you fixed things. Good operator!
I also flashed mine with micropython. To get it back to the factory program that came installed, I connected it to the Arduino IDE, selected Tools > Board: M5Stack-Core-ESP32. Next I opened: File > Examples > M5Stack > Basics > FactoryTest. Upload that to the m5stack and you should be back to the factory program.
If you don't have the M5Stack custom libraries, you can install it from Sketch > Include Library > Manage Libraries... Type m5stack in the filter box, select the result, and install the latest version.
@pkourany Hi, You don't need to enable the PSRAM to run standard sketches in the Arduino IDE.
The Arduino IDE does not act on a low enough level for it to write directly to the PSRAM... you have to use something else like the ESP Flash Download Tool, which is used for example when you load Micro Python onto the M5Stack. Or the ESP-IDF compiler / flashing program....
All ESP32 applications running on any ESP32 board, including M5Stack are built using esp-idf.
esp-idf is not FreeRTOS. FreeRTOS is included into esp-idf (as a component) and is slightly modified version of the official FreeRTOS (see esp-idf documentation).
The mentioned drivers are not the part of the esp-idf, but are built on-top of esp-idf and uses the esp-idf API.
I am using M5Stack with Windows 10 - 64 bit on 3 different systems and M5Stack works fine on all. No issues.
On one machine originally the drivers did not install correctly - though it wasn't obvious at the time.
To check driver installation worked correctly:
Dis-connect M5Stack from PC if connected. Turn up PC volume. Open device manager. Connect M5Stack using USB cable.... once M5Stack is connected, you should hear a Windows sound - "bing""- and now in the device manager a new item should magically appear called "Ports” Click on it – it should show the Silicon Labs driver listed.
If not , you need to re-install the driver - make sure Python is on your Windows path. You can verify the path is working by opening command prompt and typing - python.
Are these files (below) available after you have Python installed and after you run get.exe ? They should be.
can throw off the firmware file for overwriting in m5? and a screenshot how to write down
you can throw off all the firmware files with the instruction how to return to the initial state, micropyton does not suit me. I reprogrammed it as an esp32 dev module, unfortunately in m5stack mode it is not programmed
If you do not have a capacitor available, you can also try to set the "Upload Speed" to 115200 in Arduino IDE.
Of course the uploads are longer, but it did the job for me : i did not have any upload error since
I also installed the latest CP210x Windows driver (v10.1.1 for Windows 10) but i don't think this is necessary