Designing with Hall-effect sensors: BLDC motor commutation