Skip to content

Software

Viam RDK

By Viam, INC, United States (checked on github.com/viamrobotics (opens in a new tab)), from github.com/viamrobotics/rdk (opens in a new tab)

  • Middleware
  • Framework
  • AGPL-3.0-only

Viam RDK is an open source robot architecture that exposes robotics functionality through simple APIs, usable to run robots and build client applications for them.

Facts

GitHub stars
178read on 6 Nov 2026
Last update
6 Nov 2026Newest commit on main
Maintenance
Activea commit in the last 90 days
Difficulty
Intermediate
Hardware it needs, as the project states it
Windows 10 22H2 and up is listed as experimental support, with bash and gcc required there.

Checked on GitHub on 6 Nov 2026.

Licenses

Code
AGPL-3.0-only (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (AGPL-3.0-only) at commit c2b18e9 (opens in a new tab), on 6 Nov 2026.

Commercial use
Yes

Copyleft: Modified source must be published, also when it runs as a service.

Overview

What it does: Robotheca's summary

  • Provides an open source robot architecture offering robotics functionality via simple APIs.
  • Can be built with make server and run from the resulting binary, or run directly with go run from the web server command.
  • Ships with an example configuration (fake.json) for starting with a dummy setup.
  • Includes an example for creating custom resources.
  • Offers client SDKs for Go (in this repository), Python, TypeScript, C++ and Rust.
  • Defines its API with Protocol Buffers and gRPC, maintained in a separate repository.

Written by Robotheca from the project's README (opens in a new tab) at commit e4778ad, not by its creator.

The README

The creator's own README, copied as written: README.md by Viam, INC, at commit c2b18e9, under AGPL-3.0-only (opens in a new tab). The original on GitHub (opens in a new tab).

Read the README here

RDK (Robot Development Kit)

Viam provides an open source robot architecture that provides robotics functionality via simple APIs

Website: viam.com (opens in a new tab)

Documentation: docs.viam.com (opens in a new tab)

Cloud App: app.viam.com (opens in a new tab)

Contact

If you have a bug or an idea, please open an issue here (opens in a new tab).

Building and Using
Dependencies
  • Install make.
  • Run make setup to install dev environment requirements.
    • This also installs some client side git hooks.
Build and Run
  • Build: make server. Then run ./bin/<your architecture>/server [parameters]
  • Run without building: go run ./web/cmd/server [parameters]

Example with a dummy configuration: go run ./web/cmd/server -config etc/configs/fake.json.

Examples
SDKs

Multiple SDKs are available for writing client applications that interface with the Viam RDK.

Environment Variable Settings
Environment VariableBehaviorDefault Value
VIAM_RESOURCE_CONFIGURATION_TIMEOUTDuration for which resources are allowed to (re)configure.1 minute
VIAM_MODULE_STARTUP_TIMEOUTDuration for which modules are allowed to startup.5 minutes
VIAM_ENABLE_DISK_SPACE_BLOCKWhen true-like, refuse package/module installs on a low-space volume.unset (log-only)
Development

Sign the Contribution Agreement before submitting pull requests.

API

The API is defined with Protocol Buffers/gRPC which can be found at https://github.com/viamrobotics/api (opens in a new tab).

Conventions
Committing
  • Follow git's guidance on commit messages:

Describe your changes in imperative mood, e.g. "make xyzzy do frotz" instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy to do frotz", as if you are giving orders to the codebase to change its behavior. Try to make sure your explanation can be understood without external resources. Instead of giving a URL to a mailing list archive, summarize the relevant points of the discussion.

License check

We run LicenseFinder (opens in a new tab) in CI to verify 3rd-party libraries have approved software licenses. If you add a 3rd-party library to this project, please run make license-check to verify that it can be used.

For maintainers, here is how to make some common license policy changes:

Permit a new license (e.g. MIT):

https://github.com/pivotal/LicenseFinder#permitting-licenses (opens in a new tab)

license_finder permitted_licenses add MIT
Associate a license with a dependency that is not automatically detected or incorrect:

https://github.com/pivotal/LicenseFinder#setting-licenses (opens in a new tab)

license_finder licenses add my_new_dependency MIT
Approve a dependency outright - please include a reason if you do this!

https://github.com/pivotal/LicenseFinder#approving-dependencies (opens in a new tab)

license_finder approvals add my_new_dependency --why="valid reason"

Please refer to the README at https://github.com/pivotal/LicenseFinder (opens in a new tab) for information on how to make other license policy changes.

Windows Support (Experimental)

Windows 10 22H2 and up.

Development Dependencies

Support is not well tested yet.

Known Issues
License

Copyright 2021-2024 Viam Inc.

AGPLv3 - See LICENSE (opens in a new tab) file

Files and versions

Facts read at commit c2b18e9

Robotheca read the repository at two versions: the summary at e4778ad and the facts and the README at c2b18e9 (read on 6 Nov 2026).

Robotheca never hosts the code: each link goes to the creator's own page.

Use it

How to install it, in the creator's words: The project's README (opens in a new tab)

Robotheca doesn't review code. Read it before running it.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.