EMI/EMC Academy ~30 min Interactive

Firmware & System Robustness

Hardware alone rarely gets you to zero upsets. Watchdogs, brown-out detection, and error recovery turn a failing result into an acceptable one.

Module progress0%

Hardware filtering reduces the stress, but the repetitive burst may still cause an occasional upset. A robust product detects and recovers from that upset fast enough that the user never notices — often the difference between a failing and a passing result under the performance criteria.

Learning objectives. Apply watchdogs, brown-out/reset supervision, and error detection/recovery; and map recovery behavior to performance criteria A/B/C.
Watchdog timer. An independent watchdog restarts a hung CPU automatically — turning a lockup (criterion C) into a brief self-recovery (criterion B).
Brown-out / supervisor. A supervisor with glitch filtering holds reset cleanly through a burst-induced dip instead of half-resetting into an undefined state.

Add communication error handling (CRC, retries, timeouts) so a corrupted frame is re-sent rather than acted upon, and design state machines to fail safe and re-initialize from any state. Refresh critical outputs (e.g. display, GPIO) periodically so a glitched register self-corrects.

Immunity results are graded: A = normal operation throughout; B = temporary degradation that self-recovers; C = requires operator intervention. Know your product's required criterion — firmware recovery is often what lifts a design from a failing C to an acceptable B.

Common mistake: relying on firmware to mask a hardware weakness that could be fixed cheaply with a filter. Use firmware robustness as the last layer, not the first.