I've had many people ask why bother writing a multitasking OS for a microcontroller as old and simple as the 8051. Well, here is one example of why one would bother with such a thing. Granted, this crash is during development and due to an error in the thread handling the UI, but it is demonstrative nonetheless.
Because people will eventually ask, this is programmed entirely in assembly, is running on a Silicon Labs C8051F580, and no the hardware/software are not open-source nor will they be.