Build Your Machine with Flexible Building Blocks

Viam uses a composable system of building blocks called resources which you can combine according to your specific needs. Components drive your hardware, and services provide high-level software functionality.

Viam’s APIs are standardized across all models of a given component or service. This means you can test and change hardware without changing code.

Step 1: Install

To get started, first install viam-server on your smart machine’s computer. If you are using a microcontroller instead of a 64-bit computer, you can install a lightweight version of viam-server. You can install viam-server on your personal computer, or on a single-board computer (SBC) such as one of the following:

Step 2: Configure

Select the Viam resources you want to use and integrate them by configuring your smart machine.

If a component or service you want to use for your project is not natively supported, see whether it is supported as a modular resource in the registry or build your own modular resource.

Step 3: Program

Program your smart machine with an SDK in your preferred coding language.

Each category of resource has a standardized API that you can access with an SDK (software development kit) in your preferred programming language. For example, you can send the same commands to any kind of motor, using any of the following programming languages: