Excited to announce the release of the Conduit iOS app!
Transform your iPhone/iPad (and soon Mac) into a powerful sensor suite for ROS 2 robotics.
After months of deep technical work on wire format compatibility and real-time performance optimization, I’m thrilled to share this tool with the robotics community.
What Conduit Does:
Conduit streams 12 types of high-quality sensor data from iOS devices directly to ROS 2 nodes using zenoh-pico:
IMU (100Hz) - accelerometer + gyroscope
LiDAR (10Hz) - iPhone 12 Pro+ depth sensing
Camera (15Hz) - multiple camera support
GPS, Magnetometer, Barometer, Illuminance
Microphone, Battery state, Game controllers, Proximity, Thermal
Technical Highlights:
Direct rmw_zenoh_cpp communication (no bridge required)
Native support for ROS 2 Humble, Jazzy, Kilted, and Rolling
Runtime wire format detection and auto-configuration
Low-latency, reliable data streaming
Cross-platform: iOS 16+, iPadOS, visionOS, and soon Mac Catalyst
Why This Matters:
Modern smartphones pack incredible sensors, yet they remain underutilized in robotics development. Before investing in expensive dedicated hardware, why not leverage the high-quality sensors you already carry?
This project is designed for:
Robotics researchers prototyping algorithms
Education - accessible sensors for teaching ROS 2
Hobbyists building innovative projects
Anyone who needs mobile sensor data in their ROS 2 system
You are always my hero. A few years ago, I struggled to use the ros2_objc, and ultimately I wasn’t able to get it working. This time, I decided to rewrite everything from scratch as a pure Swift package:
It now supports not only DDS but also Zenoh directly. You can run builds on iOS/macOS/Linux. Please take a look.