Easily add new
capabilities to any smart machine

Leverage the power of Viam’s open-source architecture to make smart machines work smoothly with any hardware or software.
An illustration of the Viam Registry being used on a Smart Machine
We can’t foresee every piece of hardware you might want to add to your smart machine.  Nor can we predict which services you may want to give them - which may include anything from SLAM and computer vision to move them around to Linux tools and basic software to make them function.
So we created the Viam Modular Registry so that you can easily find, use, and add any capabilities your machines might require.

Modular smart machine creation & customization

Viam’s modular platform makes it simple to find and use custom drivers for hardware and services, as well as create them to share with the wider developer community — or keep them private if you prefer. This ability to incorporate any kind of hardware, algorithms, or tools you need into your machine without a custom solution saves the effort and time needed to get your machine’s features just right.
An illustration of the Viam modular registry in browser and another browser window showing the view of an individual moduleAn illustration of the Viam modular registry in browser and another browser window showing the view of an individual module
Viam’s Modular Registry is an open source marketplace with modules for any hardware component or service you want to add to your smart machine.
Use publicly available modules or write a module in any language for the capabilities you want your smart machine to have.
Deploy modules to any machine running Viam with a few clicks in the Viam app and leverage standardized APIs.

Build or enhance the machine you want without integration headaches

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

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 as well as custom services like ML, SLAM, motion planning, and computer vision.

Save resources by utilizing a component or service another developer made

There are a range of publicly available modules for particular components created by other smart machine developers as part of Viam's Modular Registry.

Making smart machines more composable and versatile

Built-in resources supporting most common hardware or services

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

Resource discovery and creation

Bring the power of open source to hardware. If a component or service is not part of Viam’s built-in drivers, you can easily add custom capabilities to your smart machine using a module from the Modular Registry or use a Viam SDK to supply what you need.

Public or private module sharing

Users can share the modules they create in Viam’s Modular Registry to bolster the open-source community of developers, or keep them private as modules only shared within an organization.

Automatic Module Updates

Automate the upload of new versions of your module on release as part of a continuous integration workflow using GitHub actions, or update manually using the Viam command-line interface.

Rapid configuration and testing

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.

Resource monetization

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

Use Cases

Add new features to machines
Code deployment
Machine testing and iteration
Extending machine lifespan
Machine learning
ROS module deployment

The power of a
unified platform

Viam Registry is part of a holistic platform that removes the need for complex integrations of various point solutions. Using the comprehensive platform's standardized APIs, you can compose smart machines by mixing and matching from available components and services on the Modular Registry without writing code.

Viam Build

Add new capabilities, components and services to your smart machines for simple testing and iteration.

Viam Mobility

Add any SLAM, navigation, or mapping algorithm to help your smart machine get where it needs to go.

Viam Machine Learning

Add any machine learning algorithm from any developer to your machine using the Modular Registry.
An illustration of the Viam modular registry in a browser window

An introduction to the Modular Registry

Viam CEO Eliot Horowitz provides an overview of Viam’s Modular Registry, the open source principles that underpin its marketplace, and its promise to greatly expand the volume and diversity of smart machines that can be created.
read the blog →

Further resources

Documentation - Extending Viam with modules
Don’t waste valuable resources on data that won’t enhance your machine’s performance - capture only the data you need and apply it to your ML model.
An illustration of the Viam modular registry in a browser window
Blog Post - Bringing the power of open source to hardware
Learn more about how Viam is partnering with leading hardware manufacturers like Nvidia to evangelize the power of ML on smart machines.
The Modular Registry - Take a peek inside
See what modules are currently available for deployment to any smart machine, or create your own!

Get started now

Viam is an open source platform, and developers can sign up for free and get started right away.
Looking for more of a guided tour? To see how Viam can take your enterprise’s fleet to the next level, fill out this form and one of our experts will reach out with a customized demo tailored to your hardware.