With three driver inputs it is possible to create only two levels at the ends of the windings: LOW and HIGH. Please note that this is a simplified circuit that only makes use of three MCU outputs. The circuit diagram below is a concept that should work with any microprocessor (or a specialized driver IC) that is able to produce the correct commutation sequence: It is not much different from a bipolar stepper driver in that we need the be able to both source and sink current at all ends of the windings, except of course in this case there are only three ends whereas the bipolar stepper has four. Once you understand the commutation sequence for the particular design of the BLDC motor, the circuit design for the BLDC driver becomes pretty clear. Please see the first part for a bit of info on the theory behind the commutation sequence. This is a second installment in the series of posts related to Arduino and brushless DC motors.
In this post I will describe the hardware and the software part of a project involving the use of BLDC (Brushless DC) motor salvaged from a broken XBox 360.