Robustness: Introduction

Welcome to the real world, where machines do not entirely operate as correctly as we would want them to. Now and then, technology will fail in some way or some form, whether it’s outright unresponsive or behaving strangely. If the technology is well-designed, then there will be some indicator to show the user that something is not right. If the technology is designed even better, then it will be able to handle these situations on its own by activating a protocol to deal with the issue. Technology that is capable of handling unexpected events or conditions that could lead to malfunction can be described as robust.


Comically enough, most technology-savvy people know the easiest remedy to resolve a technological issue: turning it off, then turning it back on. And more often than not, resetting the system will remedy the issue. It’s a simple solution that can solve various problems, and it’s an especially cheap solution for microcontrollers. Indeed, when unfavorable conditions occur that would cause the microcontroller to malfunction, it usually deals with them by resetting itself. We’ll be looking at two particular sources that would cause a reset: brownout and the watchdog timer.