February 6, 2026

What is Viam? The software platform for robotics development

Viam brings the modern software development workflow to robotics.
Shannon Bradshaw
VP of Education
A software engineer building a robotic system on the Viam platform
On this page
Learn about Viam, the robotics platform built for speed and scale. After reading, you’ll understand the basics of Viam—like viam-server, the Viam Registry, and how to configure a machine—and how you can use the software development workflow you already know to build robotic systems. This is a great starting place before diving deeper into the Viam Docs or your first tutorial.

Modern software development has a workflow you can rely on: declare your dependencies, use well-defined APIs, push code through version control, and deploy with a single command. You swap libraries without rewriting your application. You develop locally and deploy to production. You roll back bad releases and incrementally ship updates.

Viam brings that same workflow to robotics. Here's how.

What is Viam?

Viam is a software platform for building, deploying, and managing robotics applications. It's the development workflow you're used to, applied to physical devices: write control logic using a Viam SDK in your language of choice with well-defined APIs for hardware and services; treat your robot hardware as a single machine in the cloud; and develop application code from anywhere.

With Viam, you declare the hardware and services you need in a JSON config, and Viam installs the drivers and any additional software modules required to support your configuration.

Vision, motion planning, and most other capabilities you need are built in or available in the Viam Modular Registry, all with well-defined APIs to support your use case.

Application code versioning, deployment, and rollback are native to the Viam platform. Push updates through a CLI and your robot machines pull them automatically.

Without Viam, robotics development means solving a lot of infrastructure problems before you can write application logic. Viam handles all of that with familiar API abstractions. 

With Viam, you can: 

  • Get hardware and services running in minutes using available drivers and APIs. 
  • Swap any hardware component, service, or ML model without rewriting code. 
  • Capture data at the edge with built-in resilience for network interruptions and storage constraints. 
  • Train ML models from captured data and deploy them to your fleet. 
  • Scale from one machine to hundreds with reusable machine configurations and robust software deployment capabilities.

Viam brings software engineering practices to robotics: version control, remote monitoring and diagnostics, staged rollouts, and a registry of modules and models you can build on.

Learn more

How Viam works: viam-server, Registry, and configuration

viam-server

Every Viam machine runs viam-server, the service and package manager that supports your robotics application. You declare what's connected and what services you need in a JSON config, and viam-server pulls the necessary hardware drivers from the Viam Registry, launches required processes, and keeps them running to support computer vision and the other capabilities your application needs. It also manages networking and data sync. You can install viam-server with a single command on Linux variants and Windows.

The Viam Registry

The Viam Registry is a central repository of modules, machine learning (ML) models, training scripts, and configuration fragments. Engineers at Viam and in the robotics community contribute to the Registry. You can find popular modules for your hardware, ML models for common tasks, or fragments for common setups. You can also publish your own assets publicly or privately within your organization. All registry assets support semantic versioning, so you can pin to stable versions or allow automatic updates.

Modules

Registry modules provide drivers for cameras, motors, sensors, arms, and other hardware, plus services like ML-based object detection. viam-server also includes built-in services for motion planning, navigation, and data management that require no additional configuration. For ML, the Registry includes pretrained models for common tasks. The ML model service runs inference on models trained within Viam or elsewhere, and supports TensorFlow Lite, ONNX, PyTorch, and other frameworks.

Fragments

Fragments are reusable configuration blocks. Define a combination of components, services, and modules once, then apply that configuration across any number of machines. Use fragments to configure a camera-arm combination, a camera-to-object-detection pipeline, or an entire work cell. Fragments support variable substitution and per-machine overwrites, so you can deploy the same base configuration to hundreds of machines while accommodating site-specific settings. The Registry includes public fragments for common setups, and you can create private fragments for your organization's hardware configurations.

Software development workflow for robotics

Viam delivers the conveniences of modern software development to robotics.

Get hardware running in minutes. Add a camera, motor, arm, or sensor to your JSON config with a few parameters: model, connection type, and any device-specific settings. viam-server handles the rest—pulls the driver, initializes the device, and exposes it through a consistent API. You don't have to write device drivers or worry about dependencies. Consistent APIs across hardware mean all cameras expose the same interface regardless of manufacturer. Same for motors, sensors, arms, and other component types. Your code doesn't change when hardware does.

Swap hardware without changing code. You can replace an Intel RealSense with an Orbbec Astra camera, or swap one motor controller for another—update the config and your application keeps working. The Registry includes modules for hundreds of devices; if yours isn't supported, write a module once and reuse it everywhere.

Connect from anywhere. Connect to your machine from anywhere. No VPN, no port forwarding, no firewall configuration. Viam handles NAT traversal automatically. The web app, SDKs, and CLI all use the same connection infrastructure, so you can debug from your laptop and monitor from the Viam web app.

Develop application code from anywhere. Write code on your laptop, and run it against your robot hardware over the network. No copying files, no deploy step. Just run and see results. For tight control loops, run scripts directly on your robot machine. Same code, same APIs—just a different execution environment.

Next up

This is Viam at a high level—a platform that applies software engineering practices to robotics development, handling infrastructure so you can focus on building applications.

Want to see how this works in practice? In the next post (How Viam Works), we'll walk through the complete development workflow from config to deployment. 

twitter iconfacebook iconlinkedin iconreddit icon

Find us at our next event

Mar 6, 2026
,
9:00AM-5:00PM

LLMday 2026

In Person
Viam HQ, NYC
Join us at the Viam HQ of LLMday for a full day filled with practical talks from engineers and practitioners working on agentic systems, reliability, safety, and real world deployments, plus plenty of time to connect with others in the field.
Get Tickets