Arduino liberó Arduino_RouterBridge_ROS, una biblioteca de código abierto que permite escribir nodos de ROS 2 directamente dentro de un sketch. La presentó Giovanni Bruno, de su equipo de I+D, primero en ROSCon Global 2026 en Toronto y después, el 3 de noviembre, en ROSCon Italia. Está pensada para la placa Arduino VENTUNO Q, que junta un procesador con Linux y un microcontrolador de tiempo real en el mismo circuito.
Quien ha armado un robot con ROS 2 conoce la división clásica. Un computador con Linux se encarga de la navegación, el mapeo y la planificación, mientras un microcontrolador externo hace el trabajo determinista de tiempo real, que es conmutar GPIO, leer sensores y mover motores.
Conectar esos dos mundos suele obligar a pelear con protocolos seriales propios, drivers dedicados o capas de middleware pesadas. El VENTUNO Q se diseñó para eliminar esa frontera, y la biblioteca nueva es la pieza que conecta sus dos cerebros con ROS 2. El código está en el repositorio Arduino_RouterBridge_ROS.
¿Cómo funciona Arduino RouterBridge por dentro?
Para entender Arduino_RouterBridge_ROS primero hay que mirar la capa sobre la que se apoya, Arduino_RouterBridge.
Esa capa usa un protocolo RPC (llamada a procedimiento remoto) montado sobre MsgPackRPC. Con él, el lado Linux, que corre Python, y el lado del microcontrolador, que corre un sketch de Arduino basado en Zephyr, ejecutan código en el otro extremo con dos métodos:
Bridge.provide()registra una función que se puede llamar desde un lado.Bridge.call()dispara esa función desde el otro lado.
En vez de escribir código para interpretar tramas seriales, el programador llama funciones entre el MPU y el MCU como si corrieran en el mismo hilo.
Nodos de ROS 2 dentro del sketch
Sobre Arduino_RouterBridge, la nueva biblioteca agrega un proxy liviano de ROS 2 que conecta el firmware del microcontrolador con el grafo de ROS. Con el espacio de nombres ros2ino se escriben nodos de ROS 2 dentro del propio sketch de Arduino.
- Nodos completos. Desde el MCU se crean nodos, publicadores, suscriptores, servicios y acciones de ROS 2.
- Independiente del RMW. Como viaja sobre el transporte de RouterBridge, funciona con cualquier proveedor de middleware de ROS (RMW) que corra en Linux.
- Interfaz en C++. La sintaxis de la API copia los patrones de rclcpp, el cliente estándar de ROS 2 en C++, así que quien ya lo usa no tiene que aprender otra cosa.
El código de tiempo real del microcontrolador queda conectado a ROS 2 sin montar nodos puente adicionales. Arduino da dos ejemplos. Se puede enviar la telemetría de una IMU directo al tópico /imu/data, o escuchar los comandos de velocidad de los motores en /cmd_vel.
¿Dónde están las guías para partir?
Arduino publicó dos tutoriales en su documentación, Getting Started with ROS 2 on UNO Q y First ROS 2 Project on UNO Q. Los casos que menciona la empresa van desde un rover móvil autónomo hasta un brazo robótico de precisión o un primer proyecto con ROS.
Giovanni Bruno, arquitecto de soluciones de robótica de Arduino, mostró el VENTUNO Q, ROS 2 y el puente de Arduino para ROS en ROSCon Italia.




