Default control interface

The CONTROL tab provides a ready-made interface for testing and operating any configured machine. Every component and service on the machine gets a control card with relevant controls and readouts. No code required.

For a purpose-built operator interface with only the widgets you need, see Teleop workspaces.

Web UI

Navigate to your machine’s page in the Viam app and click the CONTROL tab.

Each configured component and service appears as a card. What you can do depends on the resource type:

Resource typeWhat you can do
ArmMove joints, set joint positions, read current positions
BaseDrive with an arrow pad, set speed with a power slider
BoardRead and write GPIO pins, ADC/DAC values
ButtonView button state, simulate press
CameraView live feed, capture frames
EncoderRead position and ticks
GantryMove axes, read positions
GripperOpen, close, stop
Input controllerView button and axis states
MotorSet power, set RPM, go to position, read position
Movement sensorRead position, orientation, velocity
Power sensorRead voltage, current, power
SensorRead current values
ServoSet angle, read current angle
SwitchToggle position
Generic componentSend custom commands (DoCommand)
Discovery serviceView discovery results
ML model serviceRun inference
Navigation serviceView and set navigation goals
SLAM serviceView map and pose
Vision serviceRun detections and classifications on camera feeds
Generic serviceSend custom commands (DoCommand)

You can switch between machine parts directly from the CONTROL tab using the part selector at the top.

Viam mobile app

The Viam mobile app provides similar access from your phone:

The mobile app is available on the App Store and Google Play.

apple store icon google play store icon