Rewire — stream ROS 2 topics to Rerun with zero ROS 2 build dependencies

Title: Rewire — stream ROS 2 topics to Rerun with zero ROS 2 build dependencies

Hi all,

I’ve been working on Rewire, a standalone bridge that streams live ROS 2 topics to
Rerun for real-time visualization. I wanted to share it here and get feedback from the
community.

The problem it solves

Setting up visualization tooling in ROS 2 often means pulling in dependencies,
building packages, and dealing with middleware configuration. I wanted something that just works — point it at a DDS/Zenoh network and start visualizing.

How it works

Rewire is a single Rust binary that speaks DDS and Zenoh wire protocols directly. It’s not a ROS 2 node —
it doesn’t join the ROS graph or require any ROS 2 installation. It acts as a passive observer.

curl -fsSL https://rewire.run/install.sh | sh
rewire record -a    # subscribe to all topics

What’s supported

  • 53 type mappings across sensor_msgs, geometry_msgs, nav_msgs, tf2_msgs, vision_msgs, std_msgs, and rcl_interfaces — including Image, PointCloud2, LaserScan, TF, Odometry, Detection2D/3DArray, and more.
  • Custom message mappings — map any ROS 2 message type to Rerun archetypes via a JSON5 config file, no recompilation.
  • URDF visualization — loads from /robot_description, resolves meshes via AMENT_PREFIX_PATH.
  • Full TF tree — static + dynamic transforms with coordinate frame visualization
  • Per-topic diagnostics — Hz, bandwidth, drops, and latency rendered as Rerun Scalars.
  • Topic filtering — glob-based include/exclude patterns.

Platforms

Linux (x86_64, aarch64) and macOS (Intel + Apple Silicon).

Install options

  • Install script: curl -fsSL https://rewire.run/install.sh | sh
  • prefix.dev: pixi global install -c rewire rewire
  • APT repository for Debian/Ubuntu

I’d love to hear your thoughts — especially around which message types or workflows you’d want supported next. If you run into issues, feedback is very welcome.

Website: https://rewire.run

3 Likes

Interesting project! Are you planning to make this open-source, like Rerun itself, or are you not yet sure about that?

2 Likes

Good work! I would like to compare it with Foxglove and Foxglove Bridge, which also visualize ROS/ROS2 data through a bridge. What are the benefits of Rewire and Rerun?

2 Likes

Hi @chfritz, for now it’ll remain closed‑source, but my goal is to open it up once it has matured and stabilized.

Foxglove is a really solid tool. Its bridge is built on top of the ROS 2 client libraries (essentially ‎rclcpp), which introduces some runtime overhead, but in practice it works very well—I’ve verified this in my own testing. Rewire works with no ROS 2 runtime (connects to the topics directly in Rust).

As for Rerun, it is a code‑first, multimodal visualizer, and Rewire is designed specifically to bridge ROS 2 into that ecosystem. Rewire currently supports more ROS 2 message types than both Foxglove and the Rerun MCAP ingestor. It also offers additional capabilities such as Zenoh support, which I believe ROS 2 is actively evaluating as a potential medium‑term alternative to DDS, as well as custom mappings for unknown or custom messages via JSON5 configuration files and built‑in diagnostics for the bridge itself.

1 Like

Rerun is open-source.

2 Likes

Rewire is close-source and a commercial product.