Messing around with asynchronous code while playing with microcontrollers is a surprisingly tangible way to explain/learn about it!