Author(s) Information

Aidan James McCoy, Cal PolyFollow


College of Engineering


Computer Science Department

Degree Name

BS in Computer Science




Dr. Franz J. Kurfess


Brushless direct current motors have become a very common part of many modern electronics. Although they are more expensive and less robust than conventional brushed direct current motors, they provide large advantages in control, power output, longevity as well as efficiency. To make these motors run, they need more than just power. Each motor needs a separate motor controller that is responsible for taking in a signal for what speed/torque to run the motor at, and then managing the current flow to the motor to keep it spinning while fitting within these boundaries. Brushless direct current motors have a set of pairs of poles that act as electromagnets that need to be turned on and off at very certain times to start and then spin the motor. There are a variety of control strategies, each with their benefits and shortcomings, to facilitate startup and operation. This paper will examine fixed as well as dynamic startup strategies, as well as six step and field oriented motor control strategies with code samples to show implementations. Fixed startup is easier to implement as it just runs a startup script over and over again until there is readable feedback from the motor, but dynamic can allow for a more controlled and faster startup that rarely has to reset entirely. Once spinning, field oriented control provides the most control but requires extra hardware and/or more processing power than six step alternatives but can be challenging to set up on a new motor. For drone applications, a combination of fixed startup scripts with field oriented control makes for the best control strategy by balancing complexity with improved control when you really need it.