Designing the firmware fault path: error vs fault, recovery worst-case timing, I2C bus recovery, supervised watchdogs and evidence that survives a reset.
Month: September 2026
State Machine Architecture in Embedded Systems: Designing Deterministic Event-Driven Firmware
Designing embedded state machines that hold up in production: run-to-completion, timeout transitions, four implementations costed, and exhaustive FSM testing.
RTOS Architecture: How to Design Tasks, Queues, Events, Timers and Synchronisation
Deriving an RTOS task table with rate-monotonic analysis, plus the three places the analysis breaks on real hardware — cache variance, sporadic load, blocking.
HAL vs BSP vs Driver vs Middleware: Where Should Firmware Code Actually Belong?
Where firmware code actually belongs: the reason-to-change test, peripheral vs device drivers, and eight boundary cases that get argued in every code review.
15 Firmware Architecture Anti-Patterns That Make Embedded Systems Unmaintainable
Fifteen firmware architecture anti-patterns, each with a measurable tell you can run today: a grep, a runtime stat or a scope trace, before the fix gets costly.