»micro-ROS
»puts ROS 2 onto microcontrollers«

micro-ROS

Mission

Bridging the gap between resource-constrained microcontrollers and larger processors in robotic applications that are based on the Robot Operating Systems.

Why Microcontrollers?

Microcontrollers are used in almost every robotic product. Typical reasons are:

  • Hardware access
  • Hard, low-latency real-time
  • Power saving

Another important reason is safety, but note that micro-ROS is not developed according to any safety standard.

Key Features

  • Microcontroller-optimized client API supporting all major ROS concepts
  • Seamless integration with ROS 2
  • Extremely resource-constrained but flexible middleware
  • Multi-RTOS support with generic build system
  • Permissive license
  • Vibrant community and ecosystem
  • Long-term maintainability and interoperability

Architecture

The architecture of the micro-ROS stack follows the ROS 2 architecture. Dark blue components are developed specifically for micro-ROS. Light blue components are taken from the standard ROS 2 stack.

micro-ROS architecture

Getting Started

Our tutorials and demos give you a quick start with micro-ROS. The basic tutorials can even be completed without a microcontroller.

Source Code

Source code can be found at github.com/micro-ROS. It comes under the permissive license Apache 2.0 just as the standard ROS 2 stack.

The primary repository is micro_ros_setup, which provides command line scripts for creating your first micro-ROS application.

Developed an new feature or found a bug? We answer both pull requests and tickets.

News

Read about the latest developments in our blog or attend the next ROS 2 Embedded Working Group Meeting, which take place online on a monthly basis. The meeting link can be found in the ROS 2 Events calendar.

Questions

We are looking forward to answer your questions on concepts and development! You have the choice: