Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Robot Operating System 2.0
  3. micro-ROS-Agent

micro-ROS-Agent

Apache-2.0C++6.1.1

A ROS 2 node that bridges DDS networks with Micro-ROS nodes on microcontrollers, enabling communication between embedded systems and ROS 2.

GitHubGitHub
199 stars110 forks0 contributors

What is micro-ROS-Agent?

micro-ROS Agent is a ROS 2 package that serves as a bridge between DDS networks and Micro-ROS nodes running on microcontrollers. It enables embedded systems to communicate with ROS 2 networks by managing message passing and node exposure, solving the challenge of integrating resource-constrained devices into larger robotic or IoT systems.

Target Audience

Robotics developers and embedded systems engineers working with microcontrollers who need to integrate MCU-based nodes into ROS 2 ecosystems for applications like drones, autonomous vehicles, or industrial IoT.

Value Proposition

Developers choose micro-ROS Agent because it provides a standardized, efficient way to connect microcontroller-based systems to ROS 2, leveraging the Micro XRCE-DDS middleware for optimized communication and supporting multiple transport protocols without requiring heavy resources on the embedded side.

Overview

ROS 2 package using Micro XRCE-DDS Agent.

Use Cases

Best For

  • Connecting microcontroller-based sensors/actuators to ROS 2 networks
  • Building robotic systems with mixed resource environments (MCUs and PCs)
  • Implementing lightweight IoT devices that need ROS 2 interoperability
  • Developing embedded robotics applications requiring DDS communication
  • Prototyping with Micro-ROS on hardware like ESP32 or STM32
  • Creating distributed systems where some nodes run on resource-constrained devices

Not Ideal For

  • Production-critical robotic systems requiring guaranteed stability, as the project explicitly states it's not ready for production use.
  • Applications heavily reliant on serial port communication, especially when deployed with Docker or snap packages, due to known issues with packet loss and functionality.
  • Teams seeking plug-and-play solutions without deep expertise in ROS 2 or embedded systems, given the need for integration with the Micro-ROS ecosystem.

Pros & Cons

Pros

DDS Network Bridge

Acts as an efficient server between DDS networks and Micro-ROS nodes, enabling microcontroller-based nodes to seamlessly participate in ROS 2 ecosystems, as described in the overview.

XML Profile Optimization

Automatically generates XML profiles during build to reference messages instead of sending full XML, reducing communication overhead and optimizing Agent-Client interactions, as highlighted in the package features.

Flexible Transport Protocols

Supports UDP, TCP over IPv4/IPv6, and Serial Port transports, providing versatility for different hardware and network configurations, directly leveraging Micro XRCE-DDS agent capabilities.

Cons

Not Production-Ready

The README explicitly warns that the software is not ready for production, lacking specific use case development and testing, which limits its application in safety-critical or reliable deployments.

Serial Port Instability

There are known issues with serial port communication, including an unknown problem in Docker environments causing packet loss and limitations in the snap version, requiring workarounds like building from source.

Complex Ecosystem Integration

Requires integration with Micro-ROS and ROS 2 frameworks, which can involve a steep learning curve and additional setup, as it's part of a larger stack with dependencies on external middleware.

Frequently Asked Questions

Quick Stats

Stars199
Forks110
Contributors0
Open Issues39
Last commit3 days ago
CreatedSince 2018

Tags

#robotics#micro-ros#iot#embedded-systems#ros2#microcontroller#dds#middleware

Built With

D
Docker
R
ROS 2

Included in

Robot Operating System 2.02.1k
Auto-fetched 8 hours ago

Related Projects

Eclipse ZenohEclipse Zenoh

zenoh unifies data in motion, data in-use, data at rest and computations. It carefully blends traditional pub/sub with geo-distributed storages, queries and computations, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.

Stars3,156
Forks361
Last commit13 hours ago
Eclipse Zenoh-Plugin-DDSEclipse Zenoh-Plugin-DDS

A zenoh plug-in that allows to transparently route DDS data. This plugin can be used by DDS applications to leverage zenoh for geographical routing or for better scaling discovery. For ROS2 robotic applications, use https://github.com/eclipse-zenoh/zenoh-plugin-ros2dds

Stars221
Forks59
Last commit9 hours ago
Micro XRCE-DDS AgentMicro XRCE-DDS Agent

Micro XRCE-DDS Agent respository. Looking for commercial support? Contact info@eprosima.com

Stars208
Forks156
Last commit5 days ago
Micro XRCE-DDS ClientMicro XRCE-DDS Client

Micro XRCE-DDS Client repository. Looking for commercial support? Contact info@eprosima.com

Stars176
Forks108
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub