CamBot
A 6-DOF camera arm with a ZED Mini stereo camera that streams video to a WebXR VR headset and follows head tracking for teleoperation.
- Robot arm
- Open source
- 3D model (URDF)
- 3D printable
Suggested by Robotheca, created by @open-thought (opens in a new tab), from github.com/open-thought/cambot (opens in a new tab). Pinned to commit cd5d4c4 (opens in a new tab).
- Hardware license
- Apache-2.0 (opens in a new tab)
- Software license
- Apache-2.0 (opens in a new tab)
- Commercial use
- Allowed
This repository contains executable files that Robotheca doesn't check. Only run them if you trust the creator.
Photo and 3D model

3D preview converted from github.com/open-thought/cambot at cd5d4c4, under Apache-2.0. View the original files from GitHub (2.2 MB) (opens in a new tab)
- Degrees of freedom
- 6
What it can do
Written by Robotheca from the project's documents.
- Positions a 6-DOF camera arm for stereo vision using a ZED Mini stereo camera
- Streams stereo video to a WebXR VR headset and follows head tracking in real time
- Supports robot-only, camera-only, or combined teleop modes
- Offers orientation-only or full 6-DOF position tracking with safety limits (position sphere, workspace box, pose watchdog)
- Returns to home or resting pose on pause, watchdog timeout, or quit
- Provides diagnostic tools for servo ID assignment, register dump, PID setting, debug TUI, and PID auto-tuning
Bill of materials
This repository has no parts list Robotheca can read yet.
Build guide
The creator's steps, each with its instructions.
- 1Print the 7 PLA body parts from the STL files in 3dprint/
- 2Assemble the arm with 6x Feetech STS3215 servos as described in the build guide
- 3Mount the StereoLabs ZED Mini stereo camera on the camera_roll joint
- 4Install the Python package with uv and set up the ZED SDK for camera support
- 5Assign servo IDs, set PID parameters, and calibrate the home position
- 6Run the VR teleop server and connect a WebXR headset
The guide appears here as you scroll.
Guide by @open-thought (README.md), under Apache-2.0.
More guides
Wiring and electronics
Notes written by Robotheca from the project's documents.
Main parts
- Waveshare Bus Servo Adapter (A) as USB serial bus controller
- 5V 4A power supply powering the servo bus through the adapter
- StereoLabs ZED Mini USB 3.1 stereo camera with 63mm baseline
- Fallback USB camera option when the ZED SDK is not used
- Host PC running the teleop server, with a VR headset browser as client
Connections
- All six servos are daisy-chained on a single serial bus
- The bus is connected to the host PC over USB through the Waveshare bus servo adapter
- The adapter is powered by the 5V 4A supply
- The ZED Mini camera connects to the host PC over USB 3.1
- Each servo is assigned a unique ID from 1 to 6, one motor connected at a time during ID setup