micro-ROS puts ROS 2 onto microcontrollers, making them first class participants of the ROS 2 environment.

We’re basically following the ROS 2 architecture and make use of its middleware pluggability to use DDS-XRCE, which is suitable for microcontrollers. Moreover, we use an POSIX-based RTOS (NuttX) instead of Linux. We also add RTOS abstractions, to make porting to other RTOS easier.

Dark blue components are developed specifically for micro-ROS. Light blue components are taken from the standard ROS 2 stack. We seek to contribute as much code back to the ROS 2 mainline codebase as possible.

We have also prepared a comparison to other approaches, to see the important differences quickly.

Source Code Repositories

Major repositories in order of the layers are:

Most repositories can be found in GitHub’s micro-ROS organization at

List of Repositories

Name Documentation Release CI Issues
Micro XRCE-DDS  
system_modes Build Status Build Status Build Status
rclc Build Status Build Status Build Status