Connect
Deploy hardware in minutes. Then control it from anywhere.
Define your components in a single config. Viam-server pulls the driver and exposes your hardware through a consistent API. No driver installation, no dependency management, and no standing next to the robot to test.
- Consistent APIs for motors, arms, bases, and grippers across brands
- Swap hardware via JSON config without changing code
- Use pre-existing drivers in the Registry
- Instantly teleoperate from the browser before writing code
Direct Control
Write control logic in the language you already know.
Stop wrestling with proprietary SDKs or low-level C++. Viam provides clean Python, Go, and TypeScript APIs that treat hardware (motors, servos, grippers, bases, arms) as high-level software objects.
- Standardized SetRPM, GoTo, and Grab commands in a few lines
- Move bases with MoveStraight or Spin without manual motor coordination
Motion planning
Tell it where to go. Not how to get there.
For complex tasks (arms avoiding obstacles, mobile robots navigating to GPS waypoints) the motion service handles the heavy lifting. Define your space. Viam calculates the path, avoids collisions, and manages the frame math.
- Move arms and bases with a single command
- Path routing that avoids obstacles, static or camera-detected
- Frame math handled: you map the space, Viam does the geometry
- Built-in support for SLAM-based maps and GPS coordinates
develop
Write code on your laptop. Run it on your robot.
Viam treats your hardware like cloud infrastructure. Iterate locally, deploy remotely, and see results on live hardware. No standing next to the robot required.
- Secure connectivity through firewalls and NAT without VPNs
- Stream live sensor telemetry and camera feeds to your IDE
- Package logic as modules with built-in lifecycle management