Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

The ROHI logo

ROHI (Robonomics Open Hardware Interface) is an open ecosystem for IoT firmware built around a common control protocol. Firmware that implements the protocol can be operated by shared clients, whether it was written by the ROHI developers, the community or you.

One App. Any Firmware.

The SDK in this repository is the Rust toolkit behind it: libraries, a reference firmware for Altruist Urban and the rohi desktop client, for devices powered by the Robonomics network.

Where to start

I want to…Start here
understand what ROHI is and what works todayWhy ROHI?, Current capabilities
operate a ROHI deviceUse a Device: Desktop application
know whether my hardware is supportedSupported devices
write firmwareBuild Firmware: Core concepts, Create & customize
trust or share a firmwareVerify & Share
look something upthe crate rustdoc

How the documentation is organised

PlaceResponsibility
This bookvision, current capabilities, user journeys, tutorials, navigation
Crate rustdoc (cargo doc --no-deps)APIs, contracts, ownership, resource constraints, integration examples
Source and protocol definitionsauthoritative schemas, implementations, tests, platform behaviour
Support matrixhardware compatibility, firmware support, verification levels and evidence

The book explains how to use and extend ROHI; the crates explain how ROHI works internally. See Documentation style and policy.

The book assumes basic Rust knowledge for the firmware sections. If you are unsure about any language aspects, please refer to the Rust book.

Contributing

ROHI SDK is free and open source. You can find the source code on GitHub, where issues and feature requests can be posted on the issue tracker. The project relies on community contributions to fix bugs and add features - if you’d like to help, please consider opening a pull request.

License

The ROHI SDK source and documentation are released under the Apache v2.0.