https://mindmodemedia.com/brushless-dc-bldc-motor-control-explained-part-2/