Simulated rover
Camera, range finder, line sensors, lights, horn
Alpha
An open control panel for robots. Pair a robot with one pasted command, then drive it with a touch joystick, the keyboard or a gamepad. Every command passes one gate, with roles, limits and an emergency stop that only you clear.
Alpha. A paired robot sends its camera over WebRTC to OpenRestream and the panel plays it live; the first supported kit is the Adeept 4WD Smart Car for Raspberry Pi.
On the robot's computer
$ curl -fsSL https://openvibe.bot/install | sh
Raspberry Pi OS or any Linux. A blank microSD card? Make its setup files, no screen needed.
Camera, range finder, line sensors, lights, horn
Drives · Live camera · Range finder
Live camera · Speaks · Horn
Drives · Pan / tilt camera · RGB lights
Drives any direction · Pan / tilt camera · RGB lights
Drives · Head · Lift
Drives · Head · Battery
Pan, tilt, zoom · Live camera
Drives · Live camera · Range finder
Drives any direction · Live camera · Range finder
Your own buttons
Each has a profile the panel draws its controls from: a joystick for a base that drives, sliders for a pan-tilt head, buttons for lights and a horn.
However a robot reaches OpenVibe, it gets the same panel, the same gate and the same emergency stop.
The robot connects out to OpenVibe, so there are no ports to open on your router and no stock control server left exposed.
They all go through the gate a person does: the same limits, the same e-stop, the same audit.
The same OpenVibe Node runs on your own computers. It connects out, nobody else's work reaches them, and the limits you set on each computer always win.
A REST API and the openvibe-sdk client, held to the same roles, limits and emergency stop as the panel. Profiles and kits are public reads.
import { createClient } from 'openvibe-sdk/core';
import { createBotClient } from 'openvibe-sdk/bot';
const bot = createBotClient(createClient({ credentials: 'include' }));
const { robots } = await bot.robots.list();
// Half speed ahead for 300 ms, same gate as the joystick
await bot.robots.command(robots[0].id, {
kind: 'drive', value: { throttle: 0.5, steer: 0 }, ms: 300,
});# Every robot model and its controls
curl https://openvibe.bot/api/v1/profiles
# The kits, with their parts lists
curl https://openvibe.bot/api/v1/kitsWhat to get for the robot OpenVibe.Bot was built around. The OpenVibe Node drives its Robot HAT directly, publishes the Pi camera and stops the motors the moment commands stop.
Adeept's build guide Its model page Setup guide for the Node
No. The robot's computer connects out to OpenVibe, so it works behind an ordinary home or mobile connection. The Adeept kit's own control server, with its fixed password, is never run.
Yes. The simulated rover at openvibe.bot/try runs in your browser with no account and no hardware, through the same panel a paired robot gets.
Simulated rover, A phone, Adeept ADR036 4WD Smart Car, Adeept ADR036 4WD Smart Car (mecanum), Cozmo, LOOI desktop robot, ONVIF camera, ROS 2 robot, ROS 2 robot (mecanum or omni) and Generic relay. Each has a profile the panel draws its controls from, and anything a local script can switch works through the relay robot.
Every command passes one gate with roles, per-robot limits, cooldowns and a turn budget. The emergency stop is latched until the owner clears it, a stop pressed on the robot holds until it is released there, and the device stops its motors by itself when commands stop arriving.
Only if you say so. Add people by @username as operators or viewers, or open a queue where signed-in visitors take timed turns. Listing a robot in the directory lets anyone watch it.
Yes. Bind the robot to your OpenVibe.Live channel and its panel shows under your stream, where anyone you allow can take the controls.
Only when you turn on Your agent for that robot. Then your OpenVibe.Actor agent can read its state and run steps as you, through the same gate, and for nobody else.
Only if you install the OpenVibe Node there and say so. Each agent task gets a desk of its own, a browser or a whole screen, that you can watch and take over, at the level you set on the computer, with a kill switch there. A spare computer can host the desks instead.
Yes. Install the Node with --ai where Ollama, LM Studio or llama.cpp runs and turn on "Let my AI use this computer's models": your Vibe, your AI members and your stream's AI viewers can then think with them, free, and only for you.
Yes. OpenVibe.Bot and the OpenVibe Node that runs on the robot are on GitHub under the AGPL-3.0, and anyone can write a driver or submit a robot profile.
One account across every OpenVibe site. Related places to go next: