A motor for use with a power supply comprising a stator, a rotor in magnetic coupling relation to the stator, a plurality of insulated gate bipolar transistors (IGBTs), a user interface, a microcontroller and an application specific integrated circuit (ASIC). Each IGBT has a control input port and is connected between the stator and the power supply for selectively applying power to the stator in response to a control signal applied to the control input port. The user interface provides user signals indicative of one or more desired operating parameters of the motor. The microcontroller has control inputs receiving the user signals and has low voltage output ports for providing low voltage output signals for commutating the stator as a function of the user signals. The ASIC has low voltage input ports connected to the low voltage output ports of the microcontroller and has high voltage output ports connected to the control input ports of the IGBTs. The ASIC provides high voltage control signals via its high voltage output ports which high voltage control signals correspond to the low voltage output signals provided by the microcontroller. The ASIC provides commutation based on zero crossing intervals, pulse by pulse current regulation and dynamic braking. The ASIC includes a bidirectional state machine and a power on reset in the event that the control voltage for the switches is below a minimum.