KM43
Protocol
How a controller talks to its clients, across UART, USB, BLE and the network.
A no_std Rust crate, TypeScript bindings and test vectors alongside the draft specification.
A working battery bank or generator can outlast the software around it. We publish our board designs, protocol code and equipment data so you can inspect them, adapt them and keep building on what you own.
Explore the repositoriesProtocol
How a controller talks to its clients, across UART, USB, BLE and the network.
A no_std Rust crate, TypeScript bindings and test vectors alongside the draft specification.
Dataset
Equipment specifications and register maps, with sources you can check.
Models, ratings and protocol dialects for batteries, inverters, charge controllers and more.
Electronics and CAD
Editable files for the controller board, the separate generator board and the enclosure.
EasyEDA projects, Gerbers, bills of materials and FreeCAD enclosure source. The boards are prototypes still in validation.
Follow a circuit in the editable board project, find a part in the bill of materials or change the enclosure in FreeCAD.
Use the KM43 code and test vectors to build a client. Check an equipment register against its cited source before writing a driver.
Download the equipment tables for your own research or software. Each release includes file hashes and a published index.
Explore data.origin89.comKM43 code is MIT OR Apache-2.0; the draft specification has separate terms still to be confirmed. Hardware designs are CERN-OHL-W-2.0. Data records and tools are MIT; manufacturer documents and imported feeds retain their own terms. The repositories hold the full licence details.
The boards are prototypes and KM43 is a draft. Product validation and the Offgrid app are still in development.