M5Stack and Zephyr RTOS

  • I am new to this forum, and have not yet acquired an M5Stack board. I see by [1] that Zephyr has been ported to ESP32 on XTENSA boards. I would very much like to have a running, living Zephyr port on any board I am going to experiment with over the summer. I am used to XMOS boards [2] where concurrency is first order. (It's concurrency I tend to blog about). Would Zephyr be a viable alternative for M5, or are there other, interesting alternatives? Like, I see Loops supported in UIFlow [3]. This seems to remind me of Scratch. But I don't think that's what I am after(?)

    [1] Zephyr Supported Boards
    [2] See my blog notes (disclaimer: no money, no ads, no gifts with any of my blog notes - just fun and expenses. Also: I have no association with any of the manufacturers's products I some times blog about. I try to be project/technology driven and delve into details. All this since this is my first posting here)
    [3] UIFlow loops

  • @aclassifier UIFlow is built on Micropython 1.10 so you have that as a background. You can also program using arduino environment and libs.
    There is an RTOS in arduino but I'm not sure what RTOS is there.

    BTW there are several different types of loops in UIFlow.

  • @ajb2k3

    So, what is the state of concurrency programming in MicroPython? I see an RFC from 2014 [1] and a thread from the same year [2], but I don't know if this is in MicroPython (like is generators there?)?

    The RTOS of Arduino, is to the best of my knowledge, not much useful [3].

    Now, anybody who knows about Zephyr and the M5?

    [1] RFC: Cooperative concurrency model of choice for MicroPython
    [2] uasyncio - asyncio-like cooperative multitasking framework for uPy
    [3] Arduino concurrency (Blog note, same disclaimer as above)