GitHub Repo stars

Your firmware needs
memory protection.
That just works.

CMRX is a real-time microkernel OS that provides automatic, hardware-enforced memory protection for ARM Cortex-M microcontrollers. No manual configuration. No months of MPU work. Deploy in days and cut long-term maintenance costs.

1kB
Minimum RAM
MIT
Licensed
Cortex-M0+
And up
FOSDEM
'25 + '26 Speaker

The cost of unprotected firmware is rising.

Every connected device without memory protection is a liability. A regulatory risk. A potential breach vector. And a growing maintenance burden.

Supply Chain Vulnerabilities

Third-party drivers and stacks (WiFi, USB, Bluetooth) can contain bugs. Without isolation, a buffer overflow in any component can corrupt your entire system.

Real case: RV appliance sensor bug corrupted motor control state through shared memory. Safety measures prevented physical harm — this time.

Manual MPU Is Too Slow

Configuring ARM MPU regions manually takes months of specialized work. Most teams skip it or get it wrong. Human error in MPU setup is a documented compliance gap.

Academic research documents severe usability issues with FreeRTOS MPU support. Configuration complexity makes real-world deployment impractical for most teams.

Your Device Is a Network Entry Point

Even a “simple” IoT sensor becomes an attack vector once it’s on a network. Attackers chain vulnerabilities across connected devices to reach high-value targets.

2015 Jeep hack: Researchers used a telematic unit to reach the car’s internal network and control brakes and steering remotely.
Regulatory Compliance

The EU Cyber Resilience Act changes everything.

The CRA requires manufacturers of products with digital elements to implement cybersecurity measures throughout the product lifecycle. This includes embedded devices.

Memory protection is not explicitly mandated, but it’s a fundamental cybersecurity measure that auditors and regulators will expect. Devices without it face compliance risks.

Manual MPU configuration takes months and is error-prone. CMRX makes memory protection automatic — deployable in days, auditable by design. That means lower maintenance costs and fewer field incidents over the product lifecycle.

December 2024
CRA Entered Into Force
Regulation is now EU law
September 2026
Reporting Obligations Start
Vulnerability reporting becomes mandatory
December 2027
Full Compliance Required
All products must meet CRA requirements
After December 2027
Non-Compliant Products Blocked
Cannot be sold in EU market

CMRX: Compliance-ready memory protection.

Automatic, hardware-enforced memory protection for ARM Cortex-M. No configuration. No specialized MPU expertise required. Deploys in days — saving months of engineering cost.

WITHOUT CMRX
  • No memory protection by default
  • Requires dedicated MPU specialist
  • Human error in region configuration
  • Driver bugs can corrupt entire system
  • Ongoing maintenance cost from uncontained bugs
WITH CMRX
  • Memory protection active since first build
  • Zero MPU configuration needed
  • Hardware-enforced, not trust-based
  • Bugs contained per-process automatically
  • Lower lifetime maintenance — fewer cascading failures
1kB
Minimum RAM footprint
0
Lines of MPU config
Days
Not months to deploy
MIT
No license fees

Why not just use FreeRTOS MPU?

The conventional approach to memory protection on microcontrollers creates more problems than it solves.

CMRX FreeRTOS Zephyr QNX
Memory protection Always-on, automatic Manual, painful Optional add-on Yes (requires MMU)
Architecture Microkernel Monolithic Monolithic Microkernel
Driver isolation Full (userspace) None (kernel-resident) None Full
Minimum hardware Cortex-M0+ (MPU) Cortex-M0 Cortex-M0 Cortex-A (MMU req.)
RAM requirement 1kB+ 1kB+ 4kB+ MB range
License MIT MIT Apache 2.0 Proprietary
Maintenance cost Low (bugs contained) High (cascading bugs) Medium Low (but expensive)
Off-target testing Built-in No Limited Separate tools

Built for teams shipping connected devices.

IoT / IIoT Manufacturers

Ship CRA-compliant devices

Your connected sensor, gateway, or actuator needs memory protection before December 2027. CMRX makes it automatic on the hardware you already use — cutting months of setup and ongoing maintenance.

Embedded Contractors

Deliver secure firmware faster

Your clients are asking about CRA compliance. CMRX lets you deliver memory-isolated firmware without months of MPU configuration per project. Lower your costs, increase your margin.

Safety-Critical Systems

Prove freedom from interference

Mixed-criticality systems need spatial isolation. CMRX provides hardware-enforced process separation that supports ISO 26262 / IEC 62443 arguments — with dramatically lower total cost of ownership.

Get started in minutes.

Pick your platform. Clone the repo. Build and flash. Memory protection is on from the first boot.

STM32 CubeMX

STM32 Quick Start

Get CMRX running on STM32 using CubeMX-generated HAL. Supports Cortex-M0+, M3, M4, M7.

Start building -->
Raspberry Pi

RP2040 Quick Start

Get CMRX running on the Raspberry Pi Pico (RP2040) with the Pico SDK.

Start building -->

64kB of protected memory ought to be enough for everyone.

Start building secure embedded firmware today. Zero configuration. Zero license fees. Hardware-enforced memory protection from the first boot.

Or email directly: info@cmrxrtos.org