Embedded Software
Embedded software sits at the intersection of hardware and high‑level logic, from microcontroller firmware to real‑time systems. It demands tight control over timing, memory, and peripherals, often under strict constraints. This category explores the craft of writing reliable, efficient, and maintainable embedded C/C++ code, focusing on patterns, concurrency, and hardware abstraction for resource‑constrained environments.
2026
Table of Contents
MetricMQ is a 328 KB C++20 message broker built from scratch and still under development. It features a custom binary wire protocol, Ed25519 message signing enforced at the wire level, exactly-once delivery using sequence IDs with LMDB persistence, Prometheus metrics on every message path, and a native ESP32 Arduino client. This page shows the broker running four demos, each highlighting a different capability with live Prometheus metrics you can watch in real time.
Continue reading Table of Contents
Why Most Embedded Software Is Overcoupled - And How Dependency Injection Fixes It
Most embedded bugs aren’t hardware problems. They’re design problems , born from code that grew organically across board revisions, tightly knotted around pin numbers, register addresses, and brittle HAL calls scattered everywhere and with scalability things can get messy, adding to the technical debt. Its important we talk about how not to make your embedded software tightly coupled and leave room for extension & scalibility
Continue reading Why Most Embedded Software Is Overcoupled - And How Dependency Injection Fixes It
Local First, Building Portable Embedded C++ pipeline with self-hosted CI
A experimental setup on how to build stack using “Woodpecker CI, Cosmopolitan, and Google Pigweed” for small firmware teams to automate build-test-flash pipelines for their embedded systems
Continue reading Local First, Building Portable Embedded C++ pipeline with self-hosted CI2025
Build Systems in Embedded Development: From Make to Pigweed
Why does your code compile on your machine but fail on your teammate’s? Explore Make, CMake, and Pigweed—the tools that turn scattered C++ files into working firmware. Learn which one you actually need and why that answer might surprise you.
Continue reading Build Systems in Embedded Development: From Make to Pigweed