Opentrons OT-2 All-in-One Setup
This guide sets up a single machine to run the full PUDA stack for an Opentrons OT-2:
Hardware Requirements
PUDA deployments usually have two kinds of machines: an AI agent host and one or more edge devices. The AI agent host runs the coding agent and connects to PUDA services. Edge devices run machine-specific adapters near the hardware.
Network
PUDA runs as a distributed architecture. Every participant in the system must be able to reach the central NATS server so commands, telemetry, events, and logs can move through the same communication layer.
NATS Server
The NATS server is the central communication point for PUDA. It should run on a machine that stays powered on, because the PUDA CLI, edge services, and logger services all depend on it for commands, telemetry, events, and logs.
Integrating a New Machine
Each machine in PUDA runs an edge service. The edge service wraps the machine's hardware API, connects to NATS, and exposes machine commands to the rest of the PUDA system.
Hermes Agent
Skip this step if you already have an AI agent installed on your machine that can access the filesystem and shell. We recommend Hermes Agent because it has a well-built learning loop and gets better at learning your workflows the more you use it.
PUDA CLI and Skills
Install the PUDA CLI and PUDA skills in the shell environment used by your AI agent. This lets Cursor, Claude, Hermes, or any shell-capable agent discover machines, run PUDA commands, and follow PUDA workflows.
Machine Skills
After your AI agent can see PUDA machines, teach it how to use each machine. Do this in natural language first: give the agent specific operating instructions, ask it to test them against the available PUDA commands, and turn the resulting patterns into machine skills.
Livestream
If you want the AI agent to have vision capabilities in addition to simply executing and looking at telemetry, run a livestream server on the PUDA machine host. This setup supports USB cameras, webcams, and IP cameras, with live video available over RTSP, RTMP, HLS, or WebRTC.