This is a [web-based article](https://alt.pbeirne.com/cmt/CooperativeMultitasking.html) 
describing *cooperative multitasking*, also known as
*event driven programming*. The method described here is small enough to fit on
many sub-$1 microcontrollers, those without memory management units. Examples are 
the STM32, STM8, PY32, AtMega, AtTiny, 8051 and Pic microcontrollers.

With this code structure in place, these tiny microcontrollers can be made to 
perform multiple separate tasks, apparantly independent from each other.

The reader is walked through the elements of the build, 
and is then given a fully-implemented
block of code. The 2nd half of the article builds on the basis, with lots of 
examples of state-machines and modifications to allow for cleaner code.

The audience for this article is anyone interested in 
writing code for small micro-controllers.
A background in any programming language would help (*C, Rust, Python*).