When creating more complex Arduino-based projects, there may come a time when you really need system to do two things at once - and the hardware interrupts may not be useful enough. Apart from changing to a different platform, there hasn't really been that many options - until now. Thanks to the OS47 kernel library by Yves Demirdijan you can create a system that can multitask functions with either pre-emptive or co-operative multitasking.
Installtation is easy as this acts in the same way as an Arduino library, and as the code is written in C you can modify further for your own needs. Apart from the actual OS47 download, Yves has provided a tutorial on the software and also some theoretical explanations to help get you up to speed with the concepts. Due to the low-level requirements of the code, OS47 is currently only compatible with the ATmega328P found in Arduino Uno and compatible boards.