What is the ROHI SDK?
ROHI (Robonomics Open Hardware Initiative) SDK is a set of Rust libraries, firmware and desktop tools for building IoT devices powered by the Robonomics network. It targets the ESP32-C3 and ESP32-C6 (RISC-V) and is built on:
Embassy async executor, time, sync primitives
↓
esp-rtos scheduler / time base required by the radio
↓
esp-hal / esp-radio peripherals, Wi-Fi, BLE
ROHI does not introduce another runtime or RTOS abstraction. It adds its own SDK contracts on top: typed sensor measurements, a transactional configuration store, a Wi-Fi control plane, a portable IP data plane, a BLE control protocol, and the rules that make them safe to combine.
What is in the box
| Area | What you get | Read |
|---|---|---|
| Sensors | Typed measurements, drivers (BMx280, SCD4x, SDS011, noise), runtime, MeasurementStore | Sensor HAL, Sensors |
| Configuration | CBOR, A/B-slot, power-fail-safe store of independent typed sections | Configuration store |
| Networking | Wi-Fi control plane, DNS/TCP data plane, ESP backend | Networking |
| Control | Local BLE control protocol, rohi desktop client | Control plane, The rohi tool |
| Identity | Provisioned Ed25519 device identity and signer | Device identity |
| Firmware | Altruist Urban, a complete product built from the above | Boards |
Design principles
- Portable core, thin platform crates. Everything except
*-espcrates, the firmware and examples builds and tests on the host. See Portability. - One owner per stateful service. Other tasks use bounded handles. See Runtime ownership.
- Bounded and static. Application code does not allocate; every queue and buffer has a documented limit chosen by the product. See Memory model.
- Cancellation is normal. Public async APIs document their cancellation semantics. See Async and cancellation.
- Persistent data is an ABI. See Persistent ABI.
Reading path
- Installation, Workspace, Build and test.
- First device: run a sensor example on hardware.
- Architecture and Crate map: where things live.
- The concepts, then the SDK component pages you need, then the guides.
- Reference and Validation when you need exact numbers or want to prove a change.
Exact Rust APIs are in the generated API documentation (cargo doc --no-deps, published on docs.rs for released
crates); this book explains architecture, contracts and workflows.