• trilbyglens 2 hours ago |
    This is sweet! Looking forward to playing with this
    • bayindirh 2 hours ago |
      Moreover, it's licensed with GNU/GPLv3, which I love.
  • bArray 2 hours ago |
    I'm personally working on something like this for the ESP32, but written on top of micropython [1]. A few things are written in C such as the display driver, but otherwise most things are in micropython. We chose the T-Watch 2020 V3 microphone variant as the platform [2].

    Our objective is to build a modern PDA device via a mostly stand-alone watch that can be synced across devices (initially the Linux desktop). We want to achieve tasks that you might typically do on your desktop, focussed towards productivity.

    We did consider a custom OS, but decided against it for a few reasons:

    1. Allowing somebody else to handle basic OS stuff allows us to concentrate on what really matters, the higher level stuff on top.

    2. Having multiple threads in micropython is super simple and we are able to run many active apps at the same time, rather than having to kill them off [3]. Our background apps can continuously interact with the network in the background.

    3. Code written for micropython can be easily run on other Python-capable devices.

    [1] https://micropython.org/

    [2] https://lilygo.cc/products/t-watch-2020-v3

    [3] https://tactility.one/#/application-lifecycle

    • pjmlp an hour ago |
      This kind of approach feels like the modern version of BASIC + Assembly from 8 and 16 bit days.
    • seba_dos1 an hour ago |
      The thing with threading in micropython is that you'll have to either rely on task priorities and cooperative yielding, or GIL, and both of them can be easy to shoot yourself in a foot with.

      The CCCamp23's flow3rbadge also used micropython to implement its app framework st3m: https://flow3r.garden/

    • mitjam 42 minutes ago |
      This is really interesting.

      Do you think the hardware would be a suitable platform for voice assistant type applications, with AI on server side, of course?

    • nine_k 13 minutes ago |
      If your apps run continuously, how's the battery life?

      If you freeze them to save the battery, how do you handle unfreezing?

  • numpad0 2 hours ago |
    This appear to be a window system and desktop environment than OS, but isn't it that ESP32 user code always runs atop FreeRTOS for radio management purposes?
    • MrBuddyCasino 2 hours ago |
      If you use ESP-IDF, then yes. I‘m not sure other OS support wifi.
      • seba_dos1 an hour ago |
      • dfox 22 minutes ago |
        Espressif ships the wifi driver also as an .o file that takes huge struct of function pointers to OS-provided functions that works with other RTOSes. But you need some kind of RTOS.
    • teamonkey an hour ago |
      Tactility appears to be built on top of FreeRTOS.

      FreeRTOS itself is very barebones, a library that provides basic memory management, task scheduling, io and a TCP stack, but not, for example, an abstraction layer for screen, keyboard or other peripherals, or the concept of running user applications.

  • dazhbog 2 hours ago |
    Any idea where is the simulator project located?
  • beardyw 36 minutes ago |
    An "ESP Microcontroller" definitely doesn't have a keyboard or a screen. That title is misleading and should say something like "ESP based device". I can buy an ESP32 for £3, these are a different thing altogether.
    • bayindirh 34 minutes ago |
      Yet you can use the same OS for headless application development. No?

      Not all x86 systems have keyboards and screen, but Linux and Minix work on them with no problem.