OhhO Connect
One link: OmniBot and the simulator, over ROSBridge or serial.
- Category: Foundation
- Accent: cyan
- Live app: Open sim teleop
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
SimulatedTransportand 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 —
SimulatedTransportintegrates 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) inGazeboProvider. ConnectConsole constructs that provider and callsconnect. It publishes/cmd_velonly 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
- Pick a robot — Select a robot from your OhhO Garage — Connect loads its saved transport settings.
- Choose a protocol — Connect shows the protocols available in your browser and on your robot — Wi-Fi, USB, BLE or Sim.
- Open the link — Connect establishes the transport, runs capability checks and streams live telemetry to every console.
- 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.