Embedded Firmware Architecture Series

A twelve-part series on designing, building and maintaining production firmware architectures, written for firmware engineers, technical leads and engineering managers responsible for long-life embedded products. It is not a beginner tutorial: it assumes you know C, Cortex-M and an RTOS, and it focuses on the decisions that are expensive to reverse.

Every article from part 02 onward works through the same example product, the KIC-400 industrial controller on an STM32H743, so the task table, memory map, recovery matrix and test plan can be checked against each other.


Phase 1: Decide

#ArticleLevelReading timeWhat you can do after it
01Embedded Firmware Architecture FundamentalsIntermediate20 minChoose an architecture per subsystem from measurable thresholds
02Production-Grade Firmware ArchitectureAdvanced29 minProduce a task table, memory map, RAM budget and ownership matrix
03Firmware Architecture Anti-PatternsIntermediate23 minDetect architectural decay with greps, runtime stats and scope traces

Phase 2: Build

#ArticleLevelReading timeWhat you can do after it
04HAL vs BSP vs Drivers vs MiddlewareIntermediate17 minDecide which layer a piece of code belongs in
05RTOS ArchitectureAdvanced18 minDerive priorities, size queues and stacks, and check schedulability
06State Machine ArchitectureIntermediate17 minTurn blocking code into run-to-completion state machines and test them exhaustively

Phase 3: Fail safely

#ArticleLevelReading timeWhat you can do after it
07Error Handling and RecoveryAdvanced14 minClassify faults, budget recovery time and preserve crash evidence
08Firmware Security ArchitectureAdvanced21 minDesign secure boot, key hierarchy, anti-rollback and debug lock

Phase 4: Verify

#ArticleLevelReading timeWhat you can do after it
09Designing Firmware for TestabilityIntermediate17 minSet up dual-target builds, fault injection and a minimal HIL rig

Phase 5: Operate

#ArticleLevelReading timeWhat you can do after it
10Designing Firmware for 10-Year ProductsIntermediate18 minMake builds reproducible, archive releases and plan for obsolescence
11Field Diagnostics and Firmware ObservabilityIntermediate14 minBudget flash wear and bandwidth for diagnostics, and symbolicate field crashes
12OTA and Safe Firmware UpdatesAdvanced19 minOrder update commits so that no power cut can brick a unit

Two reading paths


Related articles on this site


Stay updated

New installments are announced through the site newsletter; subscribe from any article page. For an independent review of your own firmware architecture against the practices in this series, use the contact page.