We will have a small MCU on the controller. It will be used for setting the safety parameters specific to each motor. This unit will be controlling the switching the phases for the bldc motor.
It will also be monitoring current drawn by the motors and keeping them under control.
The MCU can also be used for defining custom torque profiles for the controller.
It can be fine tuned for various use cases - like a certain torque profile while running on mud etc.