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:
- Client library:
Most repositories can be found in GitHub's micro-ROS organization at github.com/micro-ROS/.