The Micro-RDK and viam-micro-server

The Micro-RDK is the lightweight version of Viam’s full Robot Development Kit (RDK). It is written in Rust and designed for resource-limited embedded systems (ESP32 microcontrollers) that cannot run the fully-featured viam-server.

Microcontrollers do not have full operating systems like single-board computers and general-purpose computers. This means that microcontrollers can only run one “program” at a time, and a microcontroller must be flashed with firmware containing the entire logic to run.

viam-micro-server is the pre-built firmware built from the Micro-RDK and a default set of modules, provided for a convenient quick-start. For most use cases, you will build your own firmware from the Micro-RDK instead of using viam-micro-server.

Hardware requirements

You need an Espressif ESP32 microcontroller to use viam-micro-server. Viam recommends purchasing the ESP32 with a development board. The following ESP32 microcontrollers are supported:

You will also need a data cable to connect the microcontroller to your development machine, though subsequent firmware updates can be made remotely with the over-the-air (OTA) service.

Your microcontroller should have at least the following resources available to work with viam-micro-server:

  • 2 Cores + 384kB SRAM + 2MB PSRAM + 8MB Flash

Support

Client API usage with the Micro-RDK currently supports the following resources:

Next steps

To use viam-micro-server, follow the installation guide. If you want to access camera functionality, extend the functionality of viam-micro-server, or customize it see the development setup guide.