Viam Control & Motion | Hardware Control for Software Engineers

Control & Motion

Logic that you write. Robots that respond.

Most robotics build time is spent making hardware respond at all. With Viam, declare your hardware in a JSON config, write control logic in Python, and see something move — no custom stack required.

Read the docs Talk to sales

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.

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.

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.

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.

Built in 3 days. No fixed positions pre-programmed in.

Put a glass anywhere on the table. Two robotic arms, two cameras. One picks up the glass, the other pours. Just a JSON config, built-in vision, and control logic that does exactly what you'd write it to do.

Viam dual-arm wine pouring demo

Change the config. Keep the code.

Viam is hardware-agnostic and runs on robot arms, cameras, sensors, motors, and boards across hundreds of manufacturers.

Scaling is a config change.

The control logic you write on day one scales to a fleet of hundreds. No rewrites.

Write the logic. Viam handles the rest.

Write the control logic that makes your product unique. Viam handles everything between your code and the hardware.