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


See Tutorial List.


We’re basically following the ROS2 architecture and make use of its middleware pluggability to use DDS-XRCE, which is suitable for microcontrollers. Moreover, we use an RTOS (NuttX) instead of Linux. On microcontrollers many different RTOS’s are used, so we also add an RTOS abstraction layer (AL), to make porting to other RTOS possible.

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

Concept Documentation

Source Code Repositories