The project of CMRX was started as an experiment if hassle-free approach to memory isolation on MMU-less microcontrollers is technically possible and feasible.
Motivation that fueled this experiment was me witnessing how much hassle it is to maintain a reasonably cybersecure project running on a microcontroller using contemporary modern tech stack. It turned out that memory isolation can both be hassle-free and still perform fast even on $1 microcontroller. It just works without consuming 80% of your CPU. That’s a huge win.
You firmware is doing one thing. You don’t load unnecessary code into device. So why do you need to think about memory isolation? The only part of your firmware deserving protection are secrets for encrypted communication. Or, they are not?
There is this world of embedded devices which contain firmware written by single person, or maybe a small team. These devices are not connected to any kind of network, bus or radio. In this world, it is quite possible that you don’t need to think of memory isolation. Yet, this world is shrinking at rapid pace.
Did you know you can now try CMRX without even having any embedded hardware around you? Yes, that’s right. Now that CMRX has got a native support to run hosted on Linux machine, you can build CMRX instance as a plain normal Linux process.
To demonstrate this, we prepared two small demos which stress capabilities of this port.

First demo consists of simple desktop window manager that runs entirely inside the CMRX. While this is not a typical use case for an embedded operating system, it demonstrates the capabilities of CMRX kernel.
This is a case study of a firmware bug in sensor driver connected to a communication bus problem. A manufacturer of RV appliances had an ecosystem with temperature sensors which were connected to STM32-based controller. These sensors were sometimes sending unexpected malformed data which the driver wasn’t handling properly. When this rare-yet-recurrent malformed data arrived the driver wrote these meaningless data into unauthorized memory locations in the controller’s memory.
Eventually this memory corruption hit a critical location which stored internal state of slide open/close command.
This december the ESE Kongress will take place in Sindelfingen. We are pleased to announce that CMRX RTOS project will be present there. One of talks will deal with modern approach to the design of embedded systems which CMRX enables.
While previous talks were targeted mostly to specialist in the area of operating system design and computer science this time CMRX will be presented to its real target audience - embedded software developers.
In February 2025 the FOSDEM conference took place again in Brussels for 25th time. This year there were 24 developer rooms which hosted more than 1000 different talks. As CMRX reached state mature-enough to be able actually do useful work we decided to present it on largest open source conference in Europe (and probably in the whole world).
As CMRX is an embedded RTOS, there were multiple developer rooms relevant for us. This project could be interesting to attendees of Embedded, Mobile and Automotive devroom or for Microkernel and Component-Based OS devroom.