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:
Raspberry Pi 5
Raspberry Pi 4
NVIDIA Jetson Orin Nano
Intel UP4000
Mediatek Genio 500 Pumpkin
Espressif ESP32
Texas Instruments TDA4VM
NVIDIA Jetson Nano
NVIDIA Jetson AGX Orin
NVIDIA Jetson Xavier NX
Raspberry Pi 3
Raspberry Pi Zero 2 W
BeagleBone AI-64
Odroid C4
Numato GPIO Modules
PCA9686 I2C Interface
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:
Was this page helpful?
Glad to hear it! If you have any other feedback please let us know:
We're sorry about that. To help us improve, please tell us what we can do better:
Thank you!