May 31, 2023

May '23 Product Roundup

Written by
Fahmina Ahmed
Product Manager

We wrapped up May with a fantastic time at ICRA! If you were there, we hope you got to test your skill and have fun playing our claw machine arcade game. 

More on that to come soon—for now, you can check out our tutorial to build your own fun robotic claw game  🤖

In May, we also released an exciting new machine learning feature: now you can train object detection models on your image data right within the Viam platform.

Learn more below about this and other Viam updates we recently made to help you explore robotics ideas with confidence and ease.

New features

1. Machine Learning: label bounding boxes & train object detection models

We’ve taken Viam’s built-in machine learning capabilities to the next level! 

If you’ve used Viam’s image classification model training before (like in our tutorial for a Smart Pet Treat Dispenser robot), we’ve got good news: now you can also train object detection models right within Viam.

Here’s how it works (see the video above for a quick walkthrough):

  • On the Data tab in the Viam app, draw bounding boxes around specific objects in your images to create labels. You can even label multiple objects within a single image!
  • You can filter images by labels or tags to create a subset of your data with which to train.
  • Click Train Model to select the Object Detection model type and labels to train on, and then begin training.
  • After training is complete, configure your new model and the camera transform on the Config tab for your robot.
  • See the object detection in action in the camera view on the Control tab!

Our team had some fun doing this live while at ICRA this year. We drove a rover around to take photos of the conference floor, then trained an object detection model in Viam to spot white sneakers on the go. Pretty neat!

Labeling bounding boxes for images containing white sneakers

Spotting white sneakers in the frame!

2. Permissions for organizations in Viam

Viam makes it easy to collaborate with others in building robots, no matter where they or you are. 

Now when you invite collaborators to join your organization, you can assign permissions to members by setting one of these roles:

  • Owner: These members can see and edit every tab on the robot page, as well as manage users in the app. As this includes seeing robots’ addresses and location secrets, this role is best for folks in your group who are actively engineering and building robots.
  • Operator: These members can only see and use the remote control tab (all other tabs on the robot page are hidden). This role is best for members of your team who are teleoperating or remotely controlling robots.

Roles in organizations on Viam

Ensuring the security of your robots is of the upmost importance to us. With Role Based Access Control enabled through permissions, we’re continuing to enforce security in the platform and make it easier for you to manage access.

Learn more here about assigning permissions and collaborating with others in Viam.

3. Our TypeScript SDK is now in beta

The ability to control robots with the programming language of your choice is a powerful advantage of using Viam. To make building robots more approachable and flexible, we provide SDKs for some common languages (Go, C++, Python, and TypeScript), plus the ability to create custom components and services with some of the SDKs.

If you’ve been keen to create a web interface to work with your robot, we invite you to give our TypeScript SDK a try—it’s now in beta! 

We’d love your feedback as we’re always looking to improve the experience of using the Viam SDKs. Share with us on Discord.

Viam TypeScript SDK
Check out our TypeScript SDK—now in beta


1. Control RoboClaw motor controllers with the driver

If you’re using a RoboClaw motor controller without encoders connected to your motors, now you can more directly control the RoboClaw’s functionality in Viam or with our motor API

For example, now you can set “Go For” values for such motors in the Viam app (we use a nifty time-based estimation for the number of revolutions to make).

2. Camera updates: webcam names & setting framerates

These camera component improvements might seem small, but in any process of building something, it’s often the small things that can make a difference.

With these updates, we hope it’s easier to connect and use cameras with your robots.

Readable webcam names: The video path for camera components in Viam now displays more readable names for webcam models you’ve connected.

Set framerates on the Config tab: We’ve also added a new framerate field for camera components, so you can select your desired framerate while taking videos.

If low bandwidth or internet connection is ever a constraint to consider for your robot, this will make it easier to control the speed at which you capture videos.

3. Additions to code samples in the Viam app

To help you get started with programming your robot, we provide code samples for connecting to your robot in different languages that you can copy and paste into your code. 

Now that include code samples for C++ and TypeScript! Check them out in the Code Sample tab on the robot page.

In the screenshot above, you’ll notice that we’ve also added the ability to hide or display your robots’ secrets in the code samples. 

This is handy in cases like when you’re sharing your screen and want to protect access to your robots. Secrets are hidden by default, so you never have to worry about them being seen by accident (that’s a relief!).

4. Delete data in bulk in the Viam app

Data management in Viam is a convenient way to capture, access, and work with your robots’ data.

We’ve made it easier to manage the data synced to Viam’s cloud by enabling bulk data deletion on the Data tab in the app.

Bug fixes

May was full of exciting new Viam features, but we also made sure to tidy up. Here are some bug fixes we recently made:

  • Configuring a Raspberry Pi will be an even smoother experience, as digital interrupts now work better when the Pi is reconfigured.
  • We made some improvements to stepper motors for better control of timing and speed.

Check out last month's product roundup here, or take a look below at some exciting upcoming events like an exclusive AMA with Simone Giertz for our community.

Upcoming events for our community

As June begins, we’ve got some exciting events coming up to share with you! Join us to learn more about robotics, ask questions about the platform, and build with Viam.

Reddit Robotics Keynote

Eliot Horowitz, CEO of Viam, is a keynote speaker for this year’s r/Robotics Showcase. Tune in at June 10 at 2 PM ET to hear from Eliot about the Era of Robotics Unicorns. Learn more → 

Simone Giertz: Ask Me Anything

We’ll be welcoming superstar inventor Simone Giertz to our Discord community for an exclusive Ask Me Anything. Tune in live on June 14 at at 5 PM ET. Save the date on the Viam Discord → 

Viam Open Lab: Flutter

We open up our NYC robotics lab monthly to anyone who wants to build a robot with Viam. On June 15, we'll be hosting an interactive session on Flutter. If you're interested in mobile app development and robots, then this session is for you! Join us & bring friends →

Have questions for our team about recent Viam updates or ideas you’d like to discuss with other robotics enthusiasts? We’d love to hear from you in our Discord community.

We hope to connect with you at some of our upcoming events in June!


Get started with Viam today!