| Hardware integration |
Swapping a component means a new driver, config changes, and retesting the whole integration. |
Change a line in your config to change hardware. Viam pulls the driver, your code stays the same. |
| Vision & perception |
Setting up a CV pipeline means writing boilerplate for every detection task — object recognition, color detection, and point clouds each require separate integration work. |
Vision service built in. Object detection, color detection, and point cloud support available out of the box via a clean API. |
| Developer environment |
Custom stacks carry their own environment requirements — distro pinning, OS versions, and hardware compatibility you have to sort out before writing any code. |
One install command on Linux, macOS, or Windows. Runs on the ARM hardware your robots ship on. |
| SDKs & language support |
Custom stacks come with their own abstractions you have to learn before the robot does anything. |
Python, Go, TypeScript, C++, Flutter, and more. If you can call a function, you can control a robot. |
| AI/ML deployment |
Your model is trained — but getting it on the robot means resolving CUDA conflicts, managing dependencies, and wiring an inference pipeline from scratch. |
Grab a model from the Registry or upload your own. One API call, running on-device. |
| Motion & pathing |
Without a motion planning layer, obstacle avoidance and path planning mean tuning your own controllers and handling edge cases yourself. |
Built-in motion service handles path planning and obstacle avoidance. Define a destination, Viam figures out how to get there. |
| Data pipeline |
Capturing data works, getting it into a training pipeline or querying it across machines without building the plumbing yourself doesn't. |
Configure capture once. Viam syncs, stores, and makes your data queryable automatically. |
| OTA updates |
OTA updates aren't included — every team builds their own, which means owning that infrastructure on top of everything else. |
Push from the CLI, robots pull on schedule. Roll back from the dashboard if something breaks. |
| Observability & debugging |
Production observability — aggregated logs, metrics, fleet alerts — requires integrating third-party tooling yourself. |
Logging, live log streaming, and machine alerts built-in. No separate tools to set up. |
| Fleet scaling |
The scripts and manual configs that got your prototype working don't scale to a fleet. Most teams rebuild from scratch. |
Prototype config is your production config. Apply it to hundreds of machines. No rewrites required. |
| Security & compliance |
No built-in auth, encrypted communication, or compliance framework — each one is a separate integration project before your first enterprise conversation. |
Encrypted connections, SOC 2 Type II, role-based access control, and API keys built in from day one. |