Introduction
zenbedded is a statement that firmware can be engineered with the same discipline we expect from critical backend systems: the code is safe by construction, its performance characteristics are intentional, and the developer experience invites collaboration rather than fear. Zig gives us the tools—compile-time composition, explicit control flow, and zero-cost abstractions—while Renode keeps us honest with deterministic simulation before hardware enters the loop. This book is the canonical reference for maintainers, contributors, and curious engineers who want to internalize the mindset and mechanics behind the project.
Goals
- Safety — Control flow stays explicit, memory is bounded, assertions defend invariants, and errors are never ignored. Firmware must behave the same way on every machine.
- Performance — We plan with napkin math, batch expensive operations, and design for predictability so that hot paths stay cache-friendly and branch-predictable without relying on compiler luck.
- Developer experience — Names model the domain, documentation records intent, and tooling is consistent across platforms so that the codebase is a place you want to work in.
- Zero debt — Every change is expected to be permanent. We would rather slow down now than apologize later.
Audience
This guide assumes familiarity with Zig or similar systems languages and a desire to apply rigorous software practices to embedded projects. It also acts as the source of truth for our CI workflows, conventions, and roadmap so that intent remains obvious long after the original author moves on.