i got my Fire direct from the M5Store via Ali. I got it some days ago. So it should be the actual Modell.
The Case is labeld with MPU6050 and MAG3110.
My tiny test routine ask for all values from the MPU and the MAG. But i only got data from the MPU. I use the MPU6050_tockn and the SparkFun_MAG3110 Libraries.
So i put a smal I2C scanner in. He shows me 3 devices.
0x10 (16), 0x68 (104) and 0x75 (117)
So what is 0x10 and where is 0x0E (This shoul be the MAG3110)?
What some people dont know is that the esp32 is not like an arduino.
the esp32 has 3 cores, 2 primary and 1 Ultra Low power.
In true deep sleep, the primary core are deactivated and the basic "Upkeep" code is off loaded to the ULP.
Because the M5Stack is based on the ESP32 and not much is understood about the ULP, very little progress has been made on deep sleep.
In theory, from what I have read the ULP could maintain a low power screen for a Like (to use your example) and then wake up the core to take the sensor measurements before storing them (for the ulp to recall and display) putting the cores back to sleep.
If you are interested in leaning more, look into the ESP32's ULP (Ultra Low Power core)
I didn't had any errors during burning.
The backlight is lit up.
Since I bought a M5Gray also, I recognisize the sound on the Fire as the sound of the Rock-Paper-Siccors game which is the default app.
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
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?