M5 Core Ink startup beep



  • My goal is to make a software on the core Ink that reads an information online and displays it on the screen. This means it connects to the wifi, get the data (eg REST API), update the screen, goes to deep sleep with a timer, boot after some time (eg 2 minutes). Thanks to the eink, the information is always diplayed, but it uses power only to refresh it from time to time, lets says every 2/5 minutes.

    I succeeded to develop all of these in a MicroPython script using the VS code extension. I have to say this is so painful to make it work because the lack of full documentation. This involved digging in the MicroPython libraries, in code, use the "no code" interface to get the methods names,... Anyway, this is not the current topic. At the end, it works exactly as I want. I can upload a Python file into the CoreInk, and it perform as I want.

    Still, there's a very annoying thing. AFAICU, the base system layer is the UIFlow firmware, and this emits a beep anytime it boots up, before starting the Python script. That means in my case, the M5 bips every 2 minutes (for example). It beeps every time it refreshes the information. This is so annoying. I bought it as the ink screen allows to go to sleep and still display info, allowing to run on battery, and it can from time to time refresh the data. But each time it refreshes the data, it has to emit a loud beep.

    I found this is in the firmware : all I have to do is comment the beep code line, recompile, and voilà. But all I can found is the Arduino C code, and I can't see anywhere the UIFlow firmware source code. I tried to play with the Arduino IDE, I can run and upload the Hello World example. But there's no way to send and run any Python scripts? This requires the UIFLow fw? How can I program it with a MicroPython compliant firmware, and disable the startup beep?

    I saw a "jigsaw puzzle" idea for the StackCore2 to get "pure" MicroPython firmware.
    And here a similar question for the core 2

    Is the UIFlow CoreInk firmware open source? How to get it, compile it? Is the UIFlow firmware the only firmware, the only way to run MicroPython script? What are the alternatives? Do I really have to write/port/translate my code in C/INO (no beep with this way) ?

    Maybe from the power efficiency, a full rewrite in Arduino IDE is a good idea. But this is a new develoment, like starting from 0. (and I'm not sure the documentation would be better than for the MicroPython. There isn't even a sub category here in "Cores" for the CoreInk, seems like the dev team come out new products faster than everything else.)

    Also I think I can "hex" patch the UIFlow bin file to disable the beep, but that seems a hard hacky move.



  • Hello @antoniofr

    I suggest you try to use M5Burner, select CoreInk and then use yellow Configurate button:

    0_1663492608906_UIFlowConfigurateButton_20220918.png

    turn off the Boot Beep:

    0_1663492295503_UIFlowConfigBootBeep_20220918.png

    then save the configuration to your M5CoreInk.

    Note: M5CoreInk needs to be attached via USB to your computer for configuration changes.

    Thanks
    Felix



  • @felmue Thank you very much!
    Exactly what I need. Indeed, I was using the v2.5 stable version of the M5Burner, which doesn't have this option. I'm glad they added this option in the "next" version.