
KEI
Rust OS kernel for industrial IoT gateways + no_std bridge library for embedded sensor nodes
What problem does KEI solve?
Industrial IoT gateways sit between field devices (sensors, PLCs, actuators) and the cloud. They need real-time discipline for protocol polling, a full network stack for cloud connectivity, safety guarantees that C-based RTOSes and full Linux cannot provide, and a small auditable footprint.
KEI is built in Rust on a safe-kernel architecture, giving you memory safety, real-time capability, and a complete protocol stack in one system.
flowchart TB
subgraph Gateway["KEI kernel (this repo)"]
KERN["RTOS-grade kernel\nARM64 / RISC-V"]
NET["Full network stack\nMQTT · WebSocket · HTTP"]
DRV["Industrial protocol drivers\nModbus · CAN · S7comm"]
end
subgraph Sensors["Sensor nodes"]
EMB["embassy MCU firmware\nusing kei no_std library"]
end
SENSORS -->|"kei wire protocol\n(UART / RS-485)"| Gateway
Gateway -->|"WebSocket / MQTT"| CLOUD["Cloud platform\n(Entelecheia)"]
What's in this repo?
| Component | Location | What it does |
|---|---|---|
| KEI kernel | workspace root | Rust OS kernel for ARM64/RISC-V edge devices. Runs the evernight protocol broker. |
| kei library | packages/kei/ | #![no_std] library for embassy sensor nodes: wire protocol, manifest schema, HAL traits. |
Quick start
Kernel:
just build # Build for default board (NanoPi R3S)
just test-all # Boot-test all architectures in QEMU
Library:
cd packages/kei
cargo test --all-features # 20 tests
cargo run --example host_demo # Wire protocol demo
See the library guide and benchmark results for details.
Ecosystem
License
SySL-1.0 for KEI's own code. Vendored code under MPL-2.0. See LICENSE and LICENSE-MPL.