Product
November 15, 2023

Viam’s Modular Registry—Bringing the Power of Open Source to Hardware

Written by
Jonathan Aborn
Chief Operating Officer

Open source platforms can be big drivers of technological innovation. That’s why Viam has kept both our robotics development kit (RDK) and SDKs open source to ensure transparency, develop new features, and foster community. 

The world of devices - which includes any hardware you can imagine, from individual components to full machines - presents many unique challenges. The sheer number of devices presently available is staggering, and will only grow exponentially with time.

Developers and companies that work with hardware often have highly specific needs depending on the hardware they use, and these needs can vary widely even among direct competitors - in many cases, by design. As a result, it is inevitable that the uniqueness of physical devices will produce challenges when it comes to integration, interoperability, scaling, and iteration. 

Viam’s Modular Registry was designed to turn this complexity into a massive opportunity for hardware manufacturers by bringing the power of an open source platform to the world of components, devices, and machines. 

Viam’s open source Modular Registry 

Reducing the friction of building smart machines with any kind of hardware 

To illustrate what we mean by a platform for hardware, let’s look at it from the perspective of an engineer building a smart machine. We’ll use cameras as an example, though the same concept will apply for any type of hardware component. 

Viam’s RDK supports many generic cameras right out of the box, which means the engineer would be able to add or delete any of these cameras through the Viam application in less than a minute, and that those cameras would be able to seamlessly work with the rest of the components on the machine. 

If you are looking to add a more specialized, less common camera to your machine (i.e. a specific Lidar camera), this is where the power of the Modular Registry comes in. Whenever someone adds a camera to the Registry, it will show up inside the Viam application, similar to a generic camera option, to add to the machine. The full benefits of the Viam software stack are now extended to that particular camera, as if it were already included as a default option in the Viam RDK. 

The rplidar module found in the Modular Registry

Now let’s switch to the perspective of a company, developer, or other innovator that has a unique type of hardware they would like engineers to incorporate into their smart machines. By following the instructions and examples in our documentation, GitHub, and other published modular components, they can publish an integration for any piece of hardware on the Modular Registry. 

This integration can be made private, for use by anyone granted access within the organization, or public, for use by anyone in Viam’s smart machine and robotics developer community; everything on the Registry is free and open source. Companies and other users that publish these components can also choose a namespace to identify themselves on the Modular Registry as the official publishers.

A smart machine ecosystem that benefits everyone 

Part of the impetus for Viam to create the Modular Registry was to make it easier for developers to create the smart machines they want to see in the world, and for hardware manufacturers to more easily allow developers to incorporate their components into as many machines as possible. 

Ultimately, we hope that the Modular Registry creates a world where:

  • Smart machine creators can speed up product launches and accelerate time-to-market with lower development costs.
  • Hardware manufacturers can make their components or machines published on the Registry interoperable with any other hardware component or machine running on Viam.
  • Both smart machine creators and suppliers can scale up faster now that it is simpler to incorporate any kind of hardware into any kind of smart machine without a custom solution. 

Want to check the Modular Registry out for yourself? Learn more about Viam’s approach to modularity and see what modules have been uploaded to the Registry so far. 

on this page

Get started with Viam today!