Embedded Agent Runtime Quickstart: Run an AI Agent on Pi 5, Jetson, STM32MP25 & ctrlX CORE
Embedded Agent Runtime Quickstart
This is a hands-on walkthrough for deploying an embedded agent runtime onto Linux-class edge hardware — a Raspberry Pi 5, NVIDIA Jetson Orin Nano, STM32MP25, or Bosch Rexroth ctrlX CORE — using the open-source edge-agents runtime published by ForestHub.ai. Every command below is taken verbatim from the project README. Unlike a developer-laptop tutorial, the focus here is on-device deployment to the controller itself.
This page covers the on-device deployment path. For the developer-experience and CLI-centric angle — and the bare-metal MCU caveat in depth — see the sister hub mcuagent.com.
Prerequisites
- A target device running Linux on ARM64 (Pi 5, Jetson Orin Nano, STM32MP25 Linux MPU, ctrlX CORE) or x86_64 (NUC).
- Docker with
buildxon the build host (you can cross-build the ARM64 image on an x86 host and load it on the device, or build natively on the device). - Node.js on a workstation for authoring workflows with the CLI.
edge-agents is a ~30 MB containerized runtime, so it fits comfortably alongside an existing Linux stack on these targets. Bare-metal microcontroller (Cortex-M) deployment is not a target of this runtime and is on the roadmap — do not attempt to flash this onto an MCU.
Step 1 — Author and validate a workflow
Workflows are plain data: a *.workflow.json file describing a graph of typed nodes. Install the CLI and visual builder, open a workflow, and validate it semantically before you ship it to a device.
# Visual builder + CLI
npm i -g @foresthubai/workflow-cli
fh-workflow open my.workflow.json # Visual builder; Save writes to file
fh-workflow validate my.workflow.json # Semantic validation
The validate step checks the graph against the OpenAPI 3.0.3 contract that is the runtime’s single source of truth, so a workflow that validates here will load on the engine.
Step 2 — Build and run the ARM64 engine on the controller
The engine ships as a container. On a Pi 5, Jetson, ctrlX CORE, or STM32MP25, build the ARM64 image and run it. The engine listens on port 8081.
# Engine on ARM64 (Pi / Jetson / ctrlX / STM32MP25)
cd go
docker buildx build --platform linux/arm64 -t edge-agents/engine:arm64 --load .
docker run --rm -p 8081:8081 edge-agents/engine:arm64
The engine now hosts your validated workflow as a running state machine on the device, executing locally with no cloud control plane required. If you cross-built the image on an x86 workstation, transfer it to the device (docker save / docker load or a local registry) before running.
Step 3 — Wire hardware I/O and MQTT nodes
The reason this is an embedded runtime and not a server framework is that hardware I/O is a first-class node type. GPIO, ADC/DAC/PWM, UART, and edge-trigger nodes map directly onto perception and action; an MQTT transport node handles device-to-device agent messaging. In your *.workflow.json, a GPIO read node feeds the reasoning nodes, and an MQTT publish node emits the result onto a topic that other agents or a supervisor subscribe to. This is the same layering described in the embedded agent architecture — the runtime just makes each layer a typed node you can draw.
Step 4 — (Optional) Generate a workflow from plain language
edge-agents ships a Claude Code skill that turns a natural-language description into a workflow graph. Add it with:
# Auto-generate a workflow from plain language (Claude Code skill)
npx skills add ForestHubAI/edge-agents --skill workflow-generate
Then validate the generated *.workflow.json with fh-workflow validate from Step 1 before deploying it.
Source and next steps
- Repository: github.com/ForestHubAI/edge-agents — Apache-2.0 (workflow model + contract) / AGPL-3.0 or commercial (engine).
- Reference: Open-Source Embedded Agent Runtime — what the runtime is and how it is structured.
- Hardware: Embedded Agent Hardware Support — verified targets and requirements.
Related pages
- Open-Source Embedded Agent Runtime — reference and architecture mapping.
- Embedded Agent Hardware Support — what hardware this runs on.
- MQTT for Embedded Agents — the transport used in Step 3.
- Embedded Agent Architecture — the layers each node maps to.
This tutorial is part of a ForestHub.ai knowledge hub. Deploying to your own controllers and want a second pair of eyes? Book a meeting →