In a DC motor, the stator is a permanent magnet and the rotor has the windings, which are excited with a current. The current in the rotor is reversed to create a rotating or moving electric field by means of a split commutator and brushes. On the other hand, in a BLDC motor, the windings are on the stator and the rotor is a permanent magnet, hence the term inside-out DC motor is coined.
To make the rotor turn, there must be a rotating electric field, typically a three-phase BLDC motor has three stator phases that are excited two at a time to create a rotating electric field. This method is fairly easy to implement, but to prevent the permanent magnet rotor from getting locked with the stator; the excitation on the stator must be sequenced in a specific manner while knowing the exact position of the rotor magnets. Position information can be gotten by hall effect sensors that detect the rotor magnet position.
The dsPIC30F2010 is a 28-pin 16-bit MCU specifically designed for embedded motor control applications. The six MCPWM pin outputs are connected to three MOSFET driver pairs (IR2101S), which in turn are connected to six MOSFETs (IRFR2407). These MOSFETs are connected in a three-phase bridge format to the three BLDC motor windings. MOSFET drivers also require a higher voltage (15V) to operate, the motor is a 24V BLDC motor so the DC+ to DC- bus voltage is 24V and a regulated 5V is provided to drive the dsPIC30F2010.
For more detail: Sensored BLDC Motor Control