Skip to content

Releases: BxNxM/micrOS

micrOS 3.0 - Standalone

22 Mar 18:57

Choose a tag to compare

Release Notes

micrOS 3.0 focuses on core stability, modern communication paths, a cleaner filesystem layout, and better package/runtime maintainability.

DISCUSSIONS

Core System Improvements

1. Async SSL/TLS integration

  • Added async SSL/TLS support in the core HTTP client path.
  • urequests was redesigned for async REST client usage.
  • Requires MicroPython 1.22+.
  • Enables improved integrations such as:
    • LM_telegram notification flows
    • listener/server-side chatbot communication patterns

2. ESP-NOW integration in InterCon

  • Added ESP-NOW peer-to-peer communication support to InterCon.
  • Improved multi-command handling for the same target device with better session ID handling.
  • Provides a lower-latency fallback/alternative path for device-to-device messaging.

3. New InterCon command syntax

  • Added command-level remote execution syntax:
    • rgb toggle >>RingLight.local
  • This replaces the older verbose form:
    • intercon sendcmd host="RingLight.local" cmd="rgb toggle"
  • ESP-NOW is transparently integrated into the new >>target syntax when available on the target.

4. Multi-level project and filesystem structure

  • Introduced a structured micrOS filesystem layout with automatic directory creation at boot and over USB.
  • New runtime directories:
    • /lib
    • /logs
    • /web
    • /data
    • /config
    • /modules
  • Added automatic handling for /source and /precompiled.

Filesystem model:

  • Root /
    • core runtime files such as micrOS.py, Config.py, Tasks.py, Shell.py, Web.py, Server.py, and related system files
  • /web
    • static web assets: html, js, css, and related files
  • /data
    • runtime and persistent application data
    • *.cache
    • *.dat
  • /logs
    • *.log
    • *.sys.log
  • /config
    • node_config.json
    • offloaded config values such as *.key
  • /modules
    • LM_*
    • IO_*
    • mip-compatible layout support via /lib

5. Universal task creation response

  • Task creation now uses a unified response format:
    • {taskID: verdict}

6. Proper mip installer support

  • Added package installation support for /modules, /lib, and /web.
  • Expanded autonomous package management over Wi-Fi / GitHub:
    • pacman install <package-url>
    • pacman uninstall <package-name>
    • pacman upgrade <package-name>
    • pacman ls
    • pacman dirtree

7. Native requirements.txt handling

  • Added /config/requirements.txt support using native MicroPython requirements syntax.
  • Supported flow:
    • pacman install "requirements.txt"

8. External package ecosystem support

  • Added micrOS/packages submodule support for installable micrOS applications.
  • Application registry:
  • Added devToolKit rendering support for external package load modules:
    • sfuncman.json
    • sfuncman.html

9. MicroPython uplift to 1.27

  • Updated baseline compatibility to MicroPython 1.27.
  • Includes fixes for micrOS USB update config restore issues.
  • Includes TLS/SSL configuration fixes (sunset-sunrise API)

10. WebEngine mount and alias support

  • Added WebEngine mount aliases for /data, /modules, '/logs'.

  • Default web root remains /web/<user_data>.

  • Added absolute user input path checks in Files.py.

  • Improved file server integration:

    • custom /modules listing without .mpy files
    • mount-path write access handling
    • mount-path read and visibility handling

11. @Auth.sudo decorator

  • Added @Auth.sudo for protected operations requiring pwd="<password>".
  • Supports two modes:
    • always require password
    • require only when force=True
  • Intended for sensitive operations such as:
    • pacman rm
    • pacman rmdir
    • pacman uninstall
    • forced upgrade flows

12. WebEngine finite state machine redesign

  • Reworked WebEngine protocol parsing around a robust finite state machine.
  • Decoupled transport handling from protocol parsing.
  • Always forwards response headers to load module callback functions.
  • Added bounded memory behavior and configurable memory profiles.
  • Improved WebUI stability with better socket handling.

13. Boot flow and request-path optimization

  • Improved generic boot flow behavior.
  • Refined request handling and TLS/HTTPS behavior for better reliability.

Highlights

  • Async TLS support for modern integrations
  • Stronger InterCon with ESP-NOW support
  • Cleaner and more scalable filesystem structure
  • Better package management and mip compatibility
  • More robust WebEngine with tighter memory handling
  • Updated MicroPython baseline to 1.27

micrOS 2.6

25 Jul 19:05

Choose a tag to compare

WebUI - webserver and interface improvements

  • Webserver file response (html, js, css)
    • improved index.html
    • new dashboard.html
    • refactors: uapi.js, udashboard.js, uwidgets.js, uwidgets_pro.js
    • common ustype.css
  • Finalized Load module interfaces:
    • microIO.py
    • Common.py
    • Types.py for frontend generation - dashboard webapp
  • Simulator improvements
  • Generic micrOS core improvements

What's Changed

micrOS 2.0 LTS

08 Mar 21:28

Choose a tag to compare

Micropython base: 1.21.x

micrOS 2.0 LTS

	Core:
                - ShellCli - high performance low level communication and configuration interface
		- WebCli (http server with endpoints: / and /rest and /<custom>)
		- Full async as technically possible (WebCLI, ShelCLI, TaskManager (LM), InterCon)
			- rest (urequests) stays sync module (https limitation with async.) 
		- Extensive testing and quality checks (system tests, pylint) 
		Web Frontends:
			- index.html
                - Common.py interface for LoadModule-s documentation
	
	Load Module:
		- Camera support (LM_OV2640.py)
		- I2S mic support
		- dashboard backend (LM_dashboard_be.py)
		Web Frontends:
		- dashboard.html

micrOS gateway - micrOS cluster monitoring, etc.

HW Project 🎲:
- LM_KeyChain HW+SW for the 2.0 anniversary. - project videos coming soon :D