Skip to content

OpenHAL

macOS and Linux

curl -LsSf https://sohanbhat.me/OpenHAL/install.sh | sh

Windows

irm https://sohanbhat.me/OpenHAL/install.ps1 | iex

Then run openhal init and openhal start.

Get started Read the specification

How it works

Agent sends a request, and the OpenHAL hub checks the device file.

  • Under the limit, shoulder to 20°, limit 30°. Arm moves.
  • Over the limit, shoulder to 45°, limit 30°. Blocked.
  • Needs approval, turn motors on. You approve, then Arm moves.

See a full example with a 3D printer

Safety model

  • Risk levels

    High risk channels and actions stay read-only until a person confirms the limits. The rest work within the device's own range.

  • One STOP

    One command puts every device in a safe state until a person lifts the stop.

  • Everything logged

    Every request, stop and confirmation goes into an append-only audit log.

What OpenHAL works with

OpenHAL has 36 drivers tested on simulator, in these device families.

  • Microcontrollers and maker boards

    openhal-firmwarefirmataesphomeserialrpi-gpiopi-i2c-spible

  • 3D printers and CNC

    marlinmoonrakeroctoprintbambugrbl

  • Lab instruments and automation

    scpipylabrobotmicromanagerseabreezesila2http

  • Home and building

    homeassistantmqttmatterzigbee-zwaveknx

  • Industrial buses

    modbusopcuacan

  • Robotics and astronomy

    ros2lerobotalpacaindi

  • Cameras, media and input

    uvcrpi-cameraonvifupnphidmidi

All 36 drivers

Run the demo

The demo runs on simulated devices, so nothing touches real hardware.

$ openhal demo

Send the requests in your browser

Read more