M5ez, a complete interface builder system for the M5Stack as an Arduino library. Extremely easy to use.

  • @brianr It depends on the rest of your program, but normally you would place it in setup(). Then make sure the event function returns 1 to run as often as possible. What that means is that you cannot provide Blynk.run() directly but must make your own function that runs Blynk.run() and returns a uint16_t of value 1

    This needs to be more convenient, I know. addEvent() needs another go-over, better documentation and examples, will put that on the list.

  • Ah yes, success! I added ez.addEvent(run_Blynk); to the setup(), and then created a function down below, after the loop, that looks like the following. It's worth noting that I'm using the M5 as a "receiver" from a bridge, thus the blynk_write(V1) statement.

    uint16_t run_Blynk() {
      return 1;
        eventData = param.asString();

    That did the trick, Blynk connects and stays connected. Now trying to figure out how to display the dynamic data from Blynk on the canvas. If I figure this all out, I'll write a short demo in a new topic for others, as I haven't seen many examples of actual use of M5ez, other than the demo program, but most projects are more than just menus, they have to display something... Again, @rop, excellent work, and thanks again so much!

  • I really like M5ez so I gave it its own core. Justified it by saying that’s real MVC architecture! Real Computer Science stuff.

    core 0 is the communications processor.
    Uses the ESP-NOW protocol
    on the 2.4 GHz radio
    This process runs as a task created
    on core 1
    core 1 is the UI processor.
    Maintains the M5Stack M5ez LCD menu
    Runs Arduino setup() and loop()

    Use RTOS semaphores when accessing the global vars to/from the local versions.

  • Hello,

    Is there a chance to change font (or size) of ez.header ?

    Regards, M

  • Looks great! Does it play well with PlatformIO ?

  • M5Stack

    Great Job

  • @Rop is M5EZ supporting the Stick C?
    I have had a query from the Facebook group.

  • @ajb2k3

    No it does not: it only works on the 3-Button M5Stack devices.

  • @rop Any intention of a stick version?

  • @brianr @rop Hey guys, thanks a lot for this very elegant solution, I´m using the ezMenu library in a program where I had installed Blynk working very well but everytime when I activated the ezMenu with mainmenu.run(); my Blynk app was very unstable, with the trick of ez.addEvent(run_Blynk) in the setup() function now is working very well, thanks for the help