Viam adapts software engineering paradigms to building machines for the physical world.
Get started with Viam
You can build many types of robotics project on Viam, from single-component projects to human-in-the-loop or AI-powered autonomous intelligent systems.
You can use Viam to build entire projects or to add functionality to existing projects.
Before you begin, we recommend reading How to think about building a machine to understand the building blocks of a machine and how to go from prototype to production.
Modules: The foundational building blocks of machines which keep your machine code maintainable as your project grows in complexity because you can make changes to single modules without changing the rest of the project.
Standardized APIs: It doesn’t matter which robotic arm, motor, or other piece of hardware you are using, the code to operate the hardware is the same. This means you can swap hardware as you iterate.
Fragments: Reuse configuration chunks across machines. Version control??
Parts and sub-parts: Create arbitrarily complex projects by connecting multiple viam-server instances.
Use Viam’s platform capabilities
The Viam platform offers many builtin capabilities from which you can pick and choose, such as: