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

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

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

2025