Open Hardware & RISC-V

Arduino introduces Arduino_RouterBridge_ROS for seamless ROS 2 integration on VENTUNO Q

Key Takeaway

A new open-source library allows microcontrollers to act as native ROS 2 nodes using an RPC-based bridge.

Summary

Arduino has unveiled the Arduino_RouterBridge_ROS library, designed to bridge the gap between high-level Linux-based navigation and real-time microcontroller I/O. The tool is specifically optimized for the VENTUNO Q board, which features a dual-brain architecture combining a Linux-capable MPU and a real-time microcontroller on a single PCB.

By utilizing an RPC protocol, the library allows developers to write ROS 2 nodes directly within Arduino sketches. This eliminates the need for manual serial parsing or complex custom middleware wrappers when connecting robotic sensors and actuators to a ROS 2 graph.

Technical architecture of Arduino_RouterBridge_ROS

  • Communication Protocol: The system utilizes an RPC (Remote Procedure Call) protocol built on top of MsgPackRPC to facilitate communication between the Python-based Linux side and the Zephyr-based microcontroller side.
  • Function Execution: Developers can use Bridge.provide() to register callable functions on one processor and Bridge.call() to trigger them from the other, treating the MPU/MCU boundary like a single thread.
  • ROS 2 Node Capabilities: The library provides a ros2ino namespace that enables full node functionality, including publishers, subscribers, services, and actions directly from the MCU firmware.
  • Middleware Independence: The implementation is RMW agnostic, meaning it functions independently of the specific ROS Middleware vendor selected for the Linux host system.
  • API Design: The interface uses a native C++ syntax that mirrors standard rclcpp patterns to reduce the learning curve for robotics engineers.

Why it matters

This development simplifies the robotics development workflow by allowing real-time hardware control to exist natively within the ROS 2 ecosystem. It reduces the architectural complexity for engineers building autonomous mobile robots or precision arms using Arduino's dual-processor hardware.

What to do

  • Use the Arduino_RouterBridge_ROS library on VENTUNO Q boards to integrate microcontroller firmware with ROS 2.
  • Use Bridge.provide() to register callable functions and Bridge.call() to trigger them across the MPU and MCU boundary.
  • Access the library repository and documentation for guides on getting started with ROS 2 on VENTUNO Q.

Original reference: blog.arduino.cc →