I have been using my two weeks of quarantine to implement an Espruino environment for the M5StickC device to simplify writing and running apps. The software and documentation is available in this Github repository..
Here is the boot screen:
and running an app:
A few observations on my experience with Espruino for ESP32:
On the positive side, it is a real pleasure developing and debugging using Espruino and the Web IDE versus the slog with using Arduino even with the help of PlatformIO. The Espruino API is a model of concision when compared with the labyrinthine set of modules and APIs it is necessary to navigate to program the M5StickC using Arduino.
The disadvantages of ESP32 based devices for low power applications when compared with the official Espruino platforms is very apparent. For example, the only really plausible low power mode for the ESP32 is deepSleep - wakeup from which requires a complete reboot that is very slow.
As an aside, I have augmented the ESP32 Espruino deepSleep function with a wakeup pin and will submit a pull request.
The Arduino environment does let you adjust ESP32 processor speed which can reduce power consumption dramatically, however, this is not yet implemented for Espruino (it looks a non-trivial task) and the 240Mhz standard speed is very power hungry - see display.
This is really cool :)
I wonder if there's a way to automatically create the boot0.js etc on firmware flash? I remember that the AXP code was required for the m5stickc to not go into a bootloop, and depending on the battery level, there might not be enough time to connect with the ide and upload the battery management system.
Thanks, I'll try this one out :)
Thanks for the kind words.
Don't worry about formatting, just type in the text and we'll take care of making sense of it. We will auto-convert links, and if you put asterisks around words we will make them bold.
For a full reference visit the Markdown syntax.
© Espruino, powered by microcosm.
Report a problem