micro-ROS

micro-ROS puts ROS 2 onto microcontrollers


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.

Check our complete supported hardware list.

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.

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
  • Much more...

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

Questions

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

Getting Started

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

Commercial support

eProsima provides commercial support to boost micro-ROS projects:

  • Port micro-ROS to your platform (HW, RTOS, transport)
  • Efficient & reliable communication layer between μC and DDS Data Space (ROS 2)
  • Customized features development
  • Architectural studies

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.

Dockers available for Foxy and Galactic at eProsima download website.

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