Configure supported hardware
About the Viam Registry of supported hardware and software
Viam has a registry of supported hardware modules that implement standardized APIs for each category of hardware component (for example, the camera API). Any hardware that is not already supported by a Viam module can be added into Viam’s system of modular resources by creating a new module that provides a driver for the hardware.
The Viam Registry is the storage and distribution system for not just hardware modules but also software modules (called services), ML models, and ML model training scripts. You can browse the Viam Registry in the Viam app.
Some components are supported by drivers built into viam-server
, so you won’t find them in the registry page.
You can browse all built-in and modular registry components below or on your machine’s configuration page in the Viam app.
There are also modules in the registry that do not directly drive any physical hardware, but rather augment physical hardware with another layer of abstraction, or add software functionality such as a chatbot integration.
Configure hardware on your machine
Prerequisite: A machine with viam-server
installed and connected to the cloud.
Make sure your hardware is physically connected to your machine and powered on.
Navigate to your machine’s page in the Viam app.
Click the + button on your machine’s CONFIGURE tab.
Click Component. This opens a search menu for all existing hardware drivers in the registry. Search for and select a component model that supports your hardware. Search by name, model number, or manufacturer name. Or try searching by broader category, for example “webcam” or “motor,” since some components do not require drivers that are specific to their exact make and model.
You can also browse the components in the Browse supported hardware by component API section below.
Follow the instructions in the configuration card to configure the component’s attributes.
If you need more details, use the link to the module’s README.
Click the TEST panel of the component’s configuration card to, for example, view your camera’s stream, turn your motor, or see the latest readings from your sensor.
If your component is not working as expected, check the ERROR LOGS panel for error messages. You can also read more troubleshooting tips or click ASK AI in the top right corner of the Viam app to get help from Viam’s AI assistant.
How module configuration works
When you add a modular resource from the registry, the module that provides it is automatically added at the same time, generating a configuration card for the modular resource and a separate one for the module. If you add a built-in component, there will only be a configuration card for the component.
For details on configuring versioning and environment variables for modules, see Modular Resource and Module Configuration Details.
Note that for microcontrollers, in order to add a module successfully to the machine’s configuration, the module needs to exist in the firmware build.
Browse supported hardware by component API
The following modular components are available for computers and SBCs running viam-server
.
Configure any of these components on your machine by following the steps above.
If you don’t find a component that supports your hardware, you can create a new module to add it to the registry.
The following models implement the arm component API:
The following models implement the base component API:
The following models implement the board component API:
The following models implement the button component API:
The following models implement the camera component API:
The following models implement the encoder component API:
The following models implement the gantry component API:
The following models implement the generic component API:
The following models implement the gripper component API:
The following models implement the input controller component API:
The following models implement the motor component API:
The following models implement the movement sensor component API:
The following models implement the power sensor component API:
The following models implement the sensor component API:
The following models implement the servo component API:
The following models implement the switch component API:
Support notice
Modules in the list above are officially supported and maintained by Viam only if they are marked as “built-in,” or if the first part of their model triplet is viam
.
Next steps
If you have other hardware you need to integrate with a custom module, continue to Integrate other hardware. If you have configured all your hardware, you can do a variety of things with your machine:
- Capture data from your machines
- Create a dataset and train an AI model
- Write an app to interact with your machines using any of the Viam SDKs
- Deploy control logic to run directly on your machines
- Share the configuration across multiple machines
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!