Skip to main content

Writing a HUP Device Adapter

Looking to pair a phone from the dashboard? Use Pairing & Access. This page is for building custom HUP adapters.
The Hardware Use Protocol (HUP) is how physical devices — wristbands, smart glasses, robots, sensors — join the FERAL mesh. Each device runs a small adapter that connects to the Brain over WebSocket, registers its capabilities, streams telemetry, and responds to commands.

Concepts

Quick Start (Python SDK)

When the adapter calls run():
  1. It opens a WebSocket to the Brain’s /v1/daemon endpoint.
  2. It sends a node_register message with its manifest.
  3. It starts two concurrent loops:
    • Telemetry loop — calls read_telemetry() every telemetry_interval_s seconds and pushes results.
    • Command loop — listens for node.invoke messages and dispatches to execute_action().

Raw WebSocket (No SDK)

You can also connect with plain WebSocket messages:

Device Manifest

The manifest tells the Brain what the device can do:

HUP Action Types

Viewing Connected Devices

Supported Devices

FERAL ships with reference adapters for: Use these as templates for your own hardware adapters.

TypeScript / Node Adapter

See the Node SDK reference for the full FeralNode API.