Engineering
December 20, 2022

How we built Try Viam

Natalia Jacobowitz
Product Manager

We recently released Try Viam to give users a way to experience the Viam platform without any setup whatsoever. In a matter of minutes, Try Viam lets you remotely access, control, and practice coding a real robot (the Viam Rover) that lives in our NYC offices from wherever you are. It was a pretty impressive three-week sprint from our engineering team to get this up and running before the holiday season.

Check it out!

Overview

Try Viam uses custom logic to manage the user queue and kick off your experience, and a bit of automation to speed things up. However, the core experience uses Viam’s native capabilities to: 

  1. Remotely provision a robot and secure user access 
  2. Provide remote access to test capabilities
  3. Expose APIs to develop applications

1. Provision a robot and secure user access 

Once it's your turn to take over a Rover in the Viam office, we use Viam’s Fleet Management to create a new location, create a new configuration of your Viam Rover within that location, push the new configuration to your Rover, and… that’s it. Your Rover is ready for use. 

We automated these steps to improve the Try Viam experience, but the same capabilities are available for any robotics project, or business. 

Here’s how they work: 

Locations: Viam robots can be assigned locations to organize them and control user access. For example, you can have a location for ‘New York Warehouse’ or ‘Testing’. You control which users have access to locations, and every robot within a location uses a secret to authenticate and authorize access. 

Robot Configuration: Within a location, each robot has a distinct configuration file that declares its hardware components and higher level services. If you navigate over to the CONFIG tab, you can see the Rover hardware: a Raspberry Pi, two motors and two encoders, a base, and a camera. Any changes to the configuration are pushed to the robot as a simple JSON file. 

Current Viam partners and customers are using these same capabilities to simplify how they configure and manage fleets of robots. Viam lets their hardware engineers configure robots through an intuitive UI instead of manually programming them, and every robot has secure management and access built-in. 

2. Provide remote access to test capabilities

Once a Viam Rover is configured and running, you can teleoperate it via WebRTC through the CONTROL tab using your keyboard or a hardware controller. Every Viam robot natively supports teleoperation, so setting this part of Try Viam up required no custom logic or automation. 

Partners and customers are using our remote access capabilities to accelerate prototyping and teleoperate robots in the field. Their hardware engineers can modify hardware and immediately test functionality without any custom coding. And they can access robots in the field from anywhere, which is great for debugging, troubleshooting, manually completing tricky tasks, and more.   

3. Expose APIs to develop applications

The Viam Rover’s API exposes intuitive methods through gRPC for each type of hardware. You can start programming the Viam Rover by navigating to the CODE SAMPLE tab, installing an SDK, and copying some sample code or writing your own. Every robot running on Viam supports this capability so we didn’t have to do any custom work for Try Viam here either. 

The code you write for the Viam Rover works the exact same with real robots in production. For example, you could program the Viam Rover to move in a square, and use the same logic to create an automated path for an automated guided vehicles (AGV) in a warehouse or field. Our early customers are using Viam for exactly this – their software engineers can immediately start writing code with prototypes, and easily apply what they build to production robots. 

Summary 

And, that’s it! While we automated a few steps to provision your robot, every capability that powers Try Viam is available to you on the Viam platform. 

We’re excited to see what you build – join our Discord server to share your ideas and get feedback from others in the community. And, check back in soon for some exciting new updates with Try Viam. 

twitter iconfacebook iconlinkedin iconreddit icon

Find us at our next event

May 6, 2025
May 6, 2025
,
07:00-09:00 PM EST

Elastic New York Meetup

In Person
New York, NY
Monitor and automate the physical world with Elastic and Viam. Join us for a demonstration of gathering data from a fleet of sensors, visualizing it with Kibana, and creating alerting rules that trigger in real life.
Secure your spot
May 5, 2025
May 7, 2025
,

Shift Miami

In Person
Perez Art Museum 1103 Biscayne Blvd, Miami, FL
Interested in robotics, but don't know where to start? Meet Viam in Miami, where Adrienne Tacke will discuss how to get up and running, even if you're "just" a software developer.
Join Us
May 7, 2025
,

Deploying and scaling AI with hardware

Virtual
Curious how startups are using Viam to build smart, vision-enabled products, even on low-power hardware? Join Viam engineers for a live computer vision demo and Q&A.
Join Us
Jun 12, 2025
Jun 16, 2025
,

JS Nation

In Person
Amsterdam
WebRTC is most often associated with building video and text chat into browsers but this peer-to-peer technology can also be used to monitor and control machines from anywhere in the world! Join Nick Hehr to learn about industrial arms, DIY rovers, and dashboards of data in real time.
Register Now
Jun 23, 2025
Jun 25, 2025
,

Open Source Summit North America 2025

In Person
Denver, CO
Edge-based computer vision gives us real-time insights, but getting that data where it needs to go without high bandwidth, lag, or hardware strain is a big challenge. Learn how to build a fast, event-driven vision pipeline.
Learn More