Modular Smart Machine Creation & Customization

Viam’s modular architecture allows your smart machines to support any hardware or software that you need for your smart machine. If the component or service you need doesn’t exist yet, adding it from scratch or wrapping an existing library is easy and doesn’t require the time-consuming manual work this usually implies.

How it works

The Viam Platform contains a wide variety of built-in drivers to add common hardware components and services to your smart machine, but it is impossible to account for every possible resource a smart machine could theoretically use. 

That’s where Viam’s modularity comes in. 

The modular Viam Platform makes it simple to create, publish, use, and share custom drivers for hardware and services with the wider developer community, saving the effort and time needed to get your machine’s features just right.

Built-In Resources

Viam comes with out-of-the-box resources and drivers for creating smart machines using the most common types of hardware and services. 

Create or Find Resources

If you want to add custom components, services, or functionality to your smart machine, you can use a module from the modular registry or use a Viam SDK to add what you need.

Configure & Test

Once you have configured a modular resource, you can test it from within Viam and swap out other resources on the fly as needed. It’s as simple as changing a few lines of configuration and testing it from the Viam app’s Control tab.

Monetize the Resources You Create

Viam’s modular registry gives you the tools to share the customized resources you create and will even be able to turn them into revenue streams when other developers leverage them in the near future.

The benefits of Viam modularity

Add any hardware component or service to your robot without tons of manual work or headaches

Viam’s modular system allows you to integrate customized resources into any smart machine running on Viam by implementing a simple interface.

Write a plugin for any bespoke component or service with Viam’s modular registry

Viam’s cloud module registry allows developers to write a plugin for any component, publish it in Viam’s cloud, and deploy it to support any hardware, or custom services like SLAM, motion planning, and computer vision.

Save resources by leveraging a component or service another developer made

Modules for particular components created by other smart machine developers are freely available for you to use as part of Viam’s modular registry, with full information available about the module’s current usage, configuration and creator for full transparency.

Supported Data Types

You can put copy here if you want


Object detection, XXXX, YYYY...


Do we support video?

Need something else?

What CTA should we trigger here? If you need to add a link you can just highlight the text and select the link. Should auto format.

Example use cases

Module Deployment

As technology quickly evolves, give your smart machines the latest functionality without the hassles that usually accompany trying to rebuild with new components or services.

ROS Module Deployment

With Viam’s ROS integrations, deploying new features on robots running ROS middleware becomes a more streamlined and repeatable process.

Code Deployment

Remotely and easily push code to your smart machine fleet through customized Viam modules that update your fleet as circumstances demand.