Introducing multitasking to Arduino

With the increased capabilities of Arduino and other microcontroller boards, including faster clocks or even multiple cores, the need to handle multiple tasks simultaneously arises more often than in the past. For instance, you often want to control motors, update a display and detect user interactions at the same time,...