Hardware Unification Protocol
Bring your own device.
HUP is the public wire contract between a FERAL brain and any piece of hardware. If your device can terminate TLS and speak JSON over WebSocket, it can plug in — no proprietary glue.
Version
HUP v1.0.0
License
Apache-2.0
SDKs
Python + TypeScript
How a device daemon joins
- 1. Daemon opens a WebSocket to
wss://<brain>:<port>/v1/node. - 2. Sends
node_registerwith itsnode_id, capabilities, sensors, actuators, firmware version. - 3. Brain returns
node_ackwith the session token + granted capabilities. - 4. Daemon emits
device_eventframes (sensor data) and responds tohup_action_requestframes (actuator triggers).
Ship a daemon in under an hour
The cookiecutter template gives you a runnable skeleton with mocks so you can focus on the hardware integration, not the wire protocol.
pip install cookiecutter feral-node-sdk
cookiecutter https://github.com/FERAL-AI/FERAL-AI.git \
--directory feral-nodes/templates/hardware-daemon
cd my-new-daemon
feral publish --daemon . # ships to registry.feral.shTemplate lives in the public monorepo. For release drops follow @FeralAi67724.
Python SDK
pip install feral-node-sdk
Open on GitHub
TypeScript SDK
npm install @feral-ai/node-sdk
Open on GitHub
Full HUP Spec
All frame schemas, error codes, pairing flow
Open on GitHub
Daemon Template
Cookiecutter skeleton
Open on GitHub
First-party daemons
Reference implementations from the FERAL team that ship in the registry as verified, featured items:
- Wristband daemon — BLE biometrics (heart rate, HRV, SpO2, skin temp) streamed as
device_eventframes. - W300 daemon — Smart glasses: camera frames, mic, GPS, IMU.
- HomeKit / Matter bridge — Any HomeKit- or Matter-compatible accessory exposed as actuators (lights, thermostats, plugs).