OhhO Connect

One link: OmniBot and the simulator, over ROSBridge or serial.

Connect your browser to OmniBot or the simulator over ROSBridge (Wi-Fi) or Web Serial (USB) — with an in-browser simulator that runs with no install.

Overview (hero)

One link for OmniBot and simulation. OhhO Connect connects your browser to OmniBot and the simulator over ROSBridge (Wi-Fi) or Web Serial (USB). The in-browser sim (SimulatedTransport) runs with no install. Gazebo Harmonic is a ROSBridge you start (GazeboProvider, default ws://localhost:9090). Other robots are on the roadmap. BLE is an experimental browser transport; MQTT is roadmap. Isaac Sim and MuJoCo are not built. No SDK install, no Python, no robot-specific setup.

Highlights

  • Wi-Fi · ROSBridge WebSocket
  • USB · Web Serial (firmware-direct)
  • Bluetooth · BLE (Nordic UART): experimental, Chrome/Edge, needs NUS firmware on the robot; not tested on OmniBot
  • In-browser sim — no install (lib/connect/simulated.ts)
  • Gazebo Harmonic — a ROSBridge you start (lib/pilot/sim/gazebo.ts)
  • Isaac Sim — not built
  • MuJoCo — not built
  • Vision: not built — MQTT
  • OmniBot and simulation today — roadmap for other robots

What you get

  • Every robot speaks a different language on a different wire. A DDS-native humanoid talks DDS over Cyclone, a mecanum base speaks a serial protocol over USB, a drone speaks MAVLink, an industrial arm speaks Modbus. OhhO Connect is the layer that makes all of them look the same to every OhhO product.
  • Connect exposes a single transport interface — connect, send velocity, send joint commands, emergency stop, subscribe to telemetry — and implements it for each protocol. A console built against Connect works on a mecanum manipulator over Wi-Fi today and a humanoid over USB tomorrow, with zero code changes.
  • Because Connect runs in the browser, there's nothing to install on the operator's machine. Web Serial and Web Bluetooth are feature-detected at runtime. The in-browser simulator is SimulatedTransport and needs no install. Gazebo Harmonic is a ROSBridge WebSocket you start yourself; this site does not launch it. Isaac Sim and MuJoCo are not built.

Features

  • Transports in the console — ROSBridge WebSocket, Web Serial, Web Bluetooth, and a built-in simulator.
  • Vision: not built — MQTT for IoT and cloud fleets is not built.
  • Robot-agnostic by design — Connect speaks generic velocity and joint commands, not robot-specific SDK calls. A console built against Connect works on any robot with a transport implementation.
  • Browser-native, no install — Web Serial and Web Bluetooth run in Chromium browsers over a secure context — no driver install, no Python SDK, no desktop app. Open a URL and drive.
  • Mixed-content aware — Connect detects the HTTPS-to-ws mismatch and guides the operator to a secure rosbridge or a LAN connection, so the link just works instead of failing silently.
  • Persistent per-robot config — Each robot in the garage remembers its last protocol, address and baud rate — so reconnecting is one click, not a setup wizard every time.
  • In-browser sim, no install — SimulatedTransport integrates velocity into a pose in the browser. A deadman — pointer held on the stick, or Space — is required. Releasing it sends zero. E-stop latches until cleared. The console is /connect.
  • Gazebo is a ROSBridge you start — The Gazebo row opens its own ROSBridge WebSocket (default ws://localhost:9090) in GazeboProvider. ConnectConsole constructs that provider and calls connect. It publishes /cmd_vel only while the deadman is held and subscribes to /odom. A camera frame is shown only if /camera/front/image_raw (or a compressed image on that prefix) arrives. This site does not start Gazebo. Isaac Sim and MuJoCo are not built.

How it works

  1. Pick a robot — Select a robot from your OhhO Garage — Connect loads its saved transport settings.
  2. Choose a protocol — Connect shows the protocols available in your browser and on your robot — Wi-Fi, USB, BLE or Sim.
  3. Open the link — Connect establishes the transport, runs capability checks and streams live telemetry to every console.
  4. Operate — Every OhhO console reads the live connection and never needs to know which protocol is underneath.

Specs

Spec Value
Transports ROSBridge (WS), Web Serial (USB), Web BLE (experimental, Chrome/Edge, needs NUS firmware; not tested on OmniBot), Simulator. MQTT is roadmap.
Interface RobotTransport — connect, velocity, joints, e-stop, telemetry
Browser Chromium (Chrome / Edge) for Serial + BLE; any for WS
Persistence Per-robot config saved to garage (Supabase + localStorage)
In-browser sim SimulatedTransport — no install
Gazebo ROSBridge you start (ws://localhost:9090). Not launched here. See GazeboProvider.
Isaac Sim Not built.
MuJoCo Not built.
Integrates OhhO Pilot, Autonomy, Fleet, Mind, all consoles

Plans

There is no paid plan. The console demo is free. Hosted cloud is a waitlist, not a checkout.

FAQ

Do I need to install anything on my computer? No. Connect runs entirely in the browser. Web Serial and Web Bluetooth are built into Chromium browsers (Chrome, Edge) — no driver, no SDK, no desktop app.

Does Connect work with non-ROS robots? Yes. Web Serial talks the firmware protocol directly — no ROS needed. For DDS-native robots, pair Connect with OhhO Bridge to translate between DDS and ROS topics.

What if my browser doesn't support Web Serial? Connect feature-detects each protocol at runtime and shows only the ones your browser supports. Wi-Fi (ROSBridge) and the in-browser simulator work in any modern browser.

Does the in-browser simulator need an install? No. It is SimulatedTransport, and the teleop console is /connect. Hold the deadman to send velocity. Releasing it sends zero.

Does Connect run Gazebo, Isaac Sim, or MuJoCo? Gazebo Harmonic is a ROSBridge you start (default ws://localhost:9090). See GazeboProvider. Isaac Sim and MuJoCo are not built.

Related products