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

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

AreaWhat you getRead
SensorsTyped measurements, drivers (BMx280, SCD4x, SDS011, noise), runtime, MeasurementStoreSensor HAL, Sensors
ConfigurationCBOR, A/B-slot, power-fail-safe store of independent typed sectionsConfiguration store
NetworkingWi-Fi control plane, DNS/TCP data plane, ESP backendNetworking
ControlLocal BLE control protocol, rohi desktop clientControl plane, The rohi tool
IdentityProvisioned Ed25519 device identity and signerDevice identity
FirmwareAltruist Urban, a complete product built from the aboveBoards

Design principles

  • Portable core, thin platform crates. Everything except *-esp crates, 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

  1. Installation, Workspace, Build and test.
  2. First device: run a sensor example on hardware.
  3. Architecture and Crate map: where things live.
  4. The concepts, then the SDK component pages you need, then the guides.
  5. 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.