Hubris is a microcontroller operating environment designed for deeply embedded systems with reliability requirements.
Hubris addresses the challenge of building dependable firmware for embedded devices by providing a lightweight kernel built on memory protection and message passing. The system isolates tasks from one another through memory boundaries, preventing a fault in one component from cascading to others. Communication between tasks occurs through a message-passing interface, enforcing explicit data exchange rather than shared memory access. This architecture is implemented in Rust, leveraging the language's type system to catch entire classes of errors at compile time.
The project suits teams building safety-critical or high-reliability embedded systems where isolation and fault containment matter more than raw performance. Hubris works well for microcontroller-based applications where you can structure the system as independent, communicating tasks. The codebase is organized to support multiple hardware platforms through a modular structure: peripheral definitions live in the chips directory, drivers are separated into their own modules, and applications are built from reusable tasks and drivers. The repository includes comprehensive developer documentation and supports Linux and Windows as primary build platforms, with informal support for macOS and Illumos.
Development activity shows consistent engagement with the codebase. The project maintains an organized structure across multiple directories with clear separation of concerns between kernel components, drivers, applications, and supporting infrastructure. Pull requests are the standard mechanism for contributing changes, directed toward the master branch. The team has established specific build prerequisites and toolchain requirements, indicating active maintenance of the development environment. Documentation is kept current in the repository and rendered through GitHub Pages, suggesting ongoing attention to developer experience.