Designing a differentiated motor drive is a complex task. Often these drives are single processor that combine constraints of real-time embedded designs such as limited memory size and processing time, with the complications that motors bring—electrical noise and faults.