Несколько параллельных программ на AVR (или stm)?
Основной цикл крутиться, а доп. задачи по прерываниям (от таймеров, от изменения входного сигнала и т.д.), либо в простое проверять условия. Судя по описанию задачи жесткий реалтайм не нужен и разбег в микросекунды-миллисекунду не критичен.

Либо, если хочется чего-то интересного и познавательного, то на stm32 есть "из коробки" freeRTOS, будет у вас целая ОС со своими процессами. :) (на остальное, думаю, тоже можно найти свою RTOS) По крайней мере можете почитать принцип работы и возникнут идеи, как сделать свою многозадачность.
Через переменные - флаги. 
Флаг - мотор крутится или нет
Флаг (значение) датчика 1 
 и тд