overview

The Viam software platform for smart machines

Software to simplify the development, fleet management, and data management of smart machines.

An illustration of a robot being configured through Viam
Software libraries, tooling, and hardware have all gotten tremendously better and cheaper over the last 20 years. Yet building machines that span both hardware and software remains incredibly challenging. 

Systems for telling machines what to do, monitoring their status, keeping them updated, and leveraging their data for actionable business insights have not kept up with software in other technology areas. That’s where Viam comes in.

Viam is a platform that simplifies and standardizes the building blocks for managing the creation, monitoring, management, and data of smart machines, providing a seamless connection between the hardware and software that makes these machines run. With Viam:

Fleet operators and managers...

can securely keep track of all their smart machines from a single tool, rapidly respond to functionality issues in real time, and make sure everything is always running the right software securely

Businesses utilizing smart machines...

can take advantage of the unprecedented volumes of data those machines generate to respond more quickly to customer needs and drive more revenue

Developers...

can reduce the friction of building smart machines, iterate faster, and shorten the amount of time it takes to bring smart machines to market

The Viam software platform at a glance

The platform flexibly manages every step in an organization’s journey towards making dumb machines smart and smart machines even smarter.

Streamlined smart machine creation and customization

Engineers, developers and startups can use Viam’s Robot Development Kit (RDK) to build, prototype, configure, and program smart machines and robots from scratch faster than with other available solutions, or integrate with those solutions to more easily customize machines to your liking. 

The RDK is built using an open-source architecture that abstracts complex functionality and design into simple APIs for hardware components and services.

Smart machine fleet and data management

Any business with a fleet of smart machines can take advantage of Viam’s cloud, which allows you to:
  • Teleoperate, monitor, alert, debug, update, optimize, and push code to a smart machine fleet
  • Capture and store data to create information pipelines, train models, apply machine learning and ultimately enhance smart machine performance and drive revenue
  • Unlike similar cloud platforms, Viam’s pricing is based on a “pay for the cloud compute you consume” model, making machine fleet monitoring and data management more accessible to a wider array of businesses.

The Viam software platform for smart machines: Key features

Use any hardware you want, get it up and running quickly

Hardware and software-agnostic

Everything in Viam is designed to be modular, abstracting hardware to make customization, iteration, and configuration faster, with drivers for many popular pieces of hardware built in.

Installation with 2 lines of code

We don’t believe that needing to know how to write complex code should be a barrier to entry for building smart machines and robots. That is why the Viam Platform relies on standardized building blocks rather than custom code to get smart machines up running intuitively and quickly. Copy two lines of code and you are ready to go!

Hardware components can attach to any computer

Viam can be run on any computer running any version of Linux from the past six years. This includes such simple computers as the Raspberry Pi, NVIDIA Jetson, and many more. A lightweight version of Viam’s Robot Development Kit (the Micro RDK) can even be run on microprocessors in resource-limited embedded systems common on IoT devices.

User interface for easy hardware configuration and testing

Viam’s UI gives engineers the ability to remotely work with their smart machines - even from a mobile device. See data in real time and use buttons on the platform to move actuable components as soon as they are connected and test their capabilities, whether you are in the same room or anywhere else in the world. Viam also simplifies the process for any component you might want to add: arms, gantries, motors, sensors, GPS, cameras and more.

As soon as hardware connects, Viam software brings it to life

Swappable hardware components and services with no code changes

Fix and customize smart machines on the fly. Replace hardware components (for example, removing one robotic arm for a better one) and swap out services without touching underlying code.

Built-in higher level services (or insert your own)

The platform comes with out-of-the-box services such as SLAM, computer vision, motion planning and more. Alternatively, you can bring your own open source, commercial, or customized services.

Easy debugging in development or the field

The platform offers configuration, history, and logging in the cloud, accessible from anywhere. Remotely control any component, test and isolate issues, get SSH access to smart machines and see all data in real time.

Teleoperation for any smart machine from anywhere

Control and operate smart machines remotely from the platform’s dashboard. All machine to user/code communication occurs through WebRTC to ensure low-latency communication even where connectivity is weak or nonexistent.

Simple smart machine data and fleet management

See all smart machine info at a glance

Deploy, monitor, and update your smart machine fleet from within Viam. The platform allows you to see the real-time status and performance of any given machine down to the component level, obtain logs, debug and carry out incident remediation, deploy new code, and provide secure remote access to your fleet.

Capture data from smart machines and sync it to the cloud

Use any sensor or camera at whatever frequency you want to collect any real-time or historical data your machine gathers. Data is stored locally and synchronized when bandwidth becomes available. Access, extract and export that data for analytics, machine learning, or any other business purpose.

A fully modular platform

Use all or any part of the platform as needed. No matter where your business is on the smart machine journey, Viam can be leveraged to make your machines more efficient. Existing fleets can be augmented with Viam’s fleet monitoring to deploy code updates or coordinate incident alerts, or leverage Viam’s data management capabilities to pull data from smart machines into the cloud.

Baked-in privacy and security features

The platform comes with authentication, identity management, and permissioning features to ensure that only authorized parties can access smart machines. Data traveling to and from smart machines is encrypted in transit with different certificates in each location.

Tailor your smart machines to your needs quickly and easily

Customize your smart machine management system

Viam offers state of the art protocols, APIs and SDKs in all popular languages. Quickly write software against intuitive APIs to bring hardware to life, use the Viam SDK to create client applications that interact with your smart machine’s hardware and services, and customize the way you build and manage machines how you are most comfortable.

Bring AI to life in the physical world through machine learning pipelines

Viam is committed to making AI more accessible for smart machines. Machine data is simple to organize and label once it is synced to the Viam cloud. Use our built-in model building services, or bring your own data to train your models. Deploy those models to individual or a group of smart machines to quickly test or rapidly iterate.

Cloud module registry

Viam is designed as an extensible platform, with an open source community. Developers can build modules for any kind of hardware component or algorithm and publish and share the modules in this rich ecosystem. Many modules are shared publicly, allowing you to use them as modular building blocks when you build and iterate on your smart machines without having to learn all the implementation details or build them yourself.

Extend ROS to collect, sync, & store useful robot data

Visualize ROS data, build models and enhance robot performance. Integrating Viam with your robots’ ROS middleware to get the data they contain into the cloud is a simple and straightforward process that can be carried out in minutes.

Try Viam for yourself!

Want to learn more about Viam’s cloud-based smart machine fleet and data management? Fill out the form and see how Viam can help you get the most out of your smart machines.

Are you a smart machine or robot developer? Try Viam now! Build a smart machine using our technology or dive into our documentation to learn more about the features and functionality that most interest you.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Platform Benefits

CONFIGURE & build

Unify hardware & software prototyping

Viam provides a single interface to configure robots and expose APIs. Common hardware is abstracted into types such as ‘motor’ or ‘arm’. Hardware engineers simply select the model they’re using, and Viam automatically configures their robot. Viam supports hundreds of common drivers and provides an SDK to easily create additional drivers. Each piece of hardware can be independently changed, and every robot automatically updates its configuration. Once configured, you can test hardware in Viam’s control UI, and software engineers immediately have intuitive APIs to start writing code.

Learn More →
An illustration of a robot being configured through Viam
An illustration of software being developed using Viam SDK
code

Simplify software development

Software engineers can write predictable, reliable, and consistent code in any programming language from anywhere. Viam’s API exposes intuitive methods through gRPC for each type of hardware. For example,‘MoveToJointPosition’ moves any arm, and ‘SetPower’ turns on any motor. Your software can run locally on the robot, or remotely from anywhere via  WebRTC.  Viam natively supports higher-level services such as Computer Vision, SLAM, and Motion Planning.

manage & scale

Operate global deployments

Organizations can centrally manage and secure every robot from anywhere. You can organize robots by organization and location, view every robot’s status, remotely control any robot, and Viam will support fine-grained control over access to robots – down to distinct API methods. For example, you can prevent remote access to cameras deployed in sensitive environments. Viam is SOC2 type I compliant and all communication between robots, to client applications, and with the cloud is encrypted end-to-end.

An illustration of Viam managing global deployments
An illustration of robots sending data to Viam and Viam pushing updates out to those robots
do more with the cloud

Manage data across robots

Viam lets you synchronize data from each robot to the cloud, combine and analyze data, and then deploy changes to every robot. Viam can collect images, sensor readings, and hardware metrics even through challenging network conditions and limited bandwidth. Once uploaded, you can explore your data, export it to run predictive analytics, and train machine learning models. Viam supports pushing trained models, or any other data, back down to your robots.

Pricing

Viam does not charge for beta usage of its cloud service. At general availability, Viam will offer consumption-based pricing for its cloud service.