No you cannot. The term firmware in this case can be a bit misleading. It is compiled code of micropython interpreter written in c/c++ language with implemented support for uploading or running python scripts via uiflow online editor or usb connection. you might as well call a c/c++ program compiled and uploaded using arduino a firmware.
Posts made by robalstona
RE: Micropython and C++
RE: StickC USB support for external USB Memory stick
No you cannot, between usb and esp is a usb-uart conwerter. Its allow only to serial communication.
RE: Getting Microphone Data (decibels) from M5StickC Plus or AtomU
You cannot read data from this microphone via analog read. This microphone is digital and has two digital pins. One of them is clock signal (probably connected to gpio0) which you should drive with 1MHz signal. Second is digital output which give a signal similiar to pwm signal (pulse density modulation) . So only walues which you read are 0V or 3.3V.
RE: Analog Read gives wrong value.
The adc readings is non linear at both ends of range (flat). So you can't measure voltage below ~0.17V and under ~3.15.
Below is link with explain
RE: Ways to add external battery
In yoir case the best option is a connect externall battery to gnd and vbat on hat port and remove internall battery. But opening m5stick withoit damage internal connection is some difficult. I opened it once to remove magnets and i dont doing this again. Axp is settings default to charge battery with 100mA current, so if you connect bigger capacity battery it will default charge in longer time ( it is safe for battery).
I saw command in uiflow to change axp charge current to predefined values, but i dont test it if this change is permament or you need change this everyvrestartvof device.
RE: How to distribute Micropython application as binary flash image ?
You can use esp flash tool
But it is a command line tool. and need python installed on your pc to work. With this tool you can download whole spiflash content to one bin file. You can also flash it back with this tool.
I don't use M5burner which probably don't have option to burn custom bin file. By the way, M5burner use esptool in background to flash their firmwares.
RE: Guidance on running multiple programs
Programs on the device are saved in two files
program_name.m5b (used only by uiflow to put the project back into the editor)
program_name.py (generated python code based on your project in uiflow). This file is run on the target device.
You can use the import program_name.py statement in your program in the execute block. Then it will be loaded and run.
But this method has its drawbacks, because the initialization instructions at the beginning of the program will be reloaded. You have to be careful what variable names you use, so that you don't overwrite the variable values with new ones from the imported file.
The import statement imports the code the first time and runs it, subsequent imports of the same file just load it into memory without running it (you can find a solution to this problem on google.
Ewentually you could edit your python code before upload to device with this way to solve above problem
def main(): # place whole generated python # file in this function with # proper intend main()