Driving a brushless motor requires a particular sequence. For the best result, you need to close the loop so your circuit can apply the right sequence at the right time. You can figure out the timing using a somewhat complex circuit and monitoring the electrical behavior of the motor coils. Or you can use sensors to detect the motor’s position. Many motors have the sensors built in and [Electronoobs] shows how to drive one of these motors in a recent video that you can watch below. If you want to know about using the motor’s coils as sensors, he did a video on that topic, earlier.
The motor in question was pulled from an optical drive and has three hall effect sensors onboard. Having these sensors simplifies the drive electronics considerably.
Normal motors with sensors have conditioned sensor outputs, but since this was a dumpster raid part, the hall-effect sensors needed some circuitry to drive and read them. A simple LM324 comparator and a few resistors took care of that.
The drive circuitry is just a few MOSFETs that form three H-bridge circuits. The trick is how to sequence the coils so that you get the rotation you desire. The video has some very good animations that explain the sequence and the critical timing involved.
If you decide to duplicate the circuit, note that the video has some diodes backward. You can find an updated schematic on the associated web site.