The Digital Motion Engine is a group of high level commands that decrease dramatically the workload on the microcontroller. With the motion engine, the microcontroller sends the commands through an SPI bus. In order to work correctly, some registers must be programmed, such as the minimum speed, the maximum speed, as well as the acceleration and deceleration when the motor spins.