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 ?

  • 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

  • Hi,
    great project.
    It is possible to use the face encoder for up, down and enter?
    if yes, you have an example?
    this will be great

  • This post is deleted!

  • Hi,
    It is great using the M5EZ!
    But I want / need to give my Core a static IP address. Is there an easy way to alter the Wifi settings menu and add the option of adding static ip? Maybe In such a way it is stored in the preferences?

    kr, G

  • Hi,
    I wanted to know if there is a way to use faces keyboard in the menus (i.e. I have the calculator keyboard and instead of using the three buttons to go up and down and select, I want to use the keys on the face, for example for selecting first line I will type on the key '1' and so on).
    and if it is possible, can you give me an example of code using it.

  • How do i get the characters for my region such as the pound sign £ ?