Documentation
Start with the quickstart, then the tutorial that matches what you want to do. The specification defines the protocol itself.
Get started
- Quickstart
- Run the print babysitter demo, then a hub you control.
- Install
- Install from a clone or as a tool, run the hub as a service, or set up a Raspberry Pi.
- Concepts
- The hub, device files, the safety kernel, drivers, grants and errors, in one page.
- FAQ
- Short answers on safety, agents, limits, firmware and privacy.
Tutorials
- Connect Claude
- Give Claude an agent token, and Claude reaches the hub through openhal mcp.
- Add a device
- Create a device file, validate the file, confirm the limits and share the file.
- Build a driver
- Build a driver for a simulated bench lamp and pass the conformance suite.
- Create a routine
- Automate a device with triggers and steps that the kernel checks.
Reference
- Device library
- How the hub matches a device to a library file and how a person confirms the file.
- Conformance suite
- The checks every driver passes before the driver ships.
- Safety model
- What the hub guarantees, how the kernel enforces each guarantee, and what OpenHAL does not cover.
- Architecture
- One hub process, one deterministic kernel, and the thin clients around the hub.
- Command line
- Every openhal command, its options and its exit codes.
- MCP server
- The tools and prompts the MCP server gives an agent.
- Driver contract
- The package, class, tests and catalog entry a new driver needs.
- MHS mapping
- How each OpenHAL concept maps to what is public about MHS.
SDKs and Inspector
Firmware
- Firmware protocol
- The wire protocol a board running the OpenHAL Arduino library speaks.
- OpenHAL for Arduino
- Make a sketch describe itself so the hub builds its device file.