Today, we are going to perform an assembly with the HD engine, which I consider to be an engineering masterpiece. We’re going to pick up an HD, that is, a hard drive, disassemble this device and take out the engine. In this specific case, I dismounted an old HD, which was broken. It had about 40 gb and was used for about fifteen years, but the engine is still perfect.
I consider this HD engine to be very special. It fits into the BLDC (Brush-Less Direct Current) type, meaning it has no brushes.
In this project, we will use an Arduino Uno to control the HD Engine, using an extremely simple program that we will make in this project.
Therefore, our goal today is to create a program to control the speed of rotation of the motor that we removed from a hard drive. We use: 1 Arduino UNO, 1 brushless HD motor, 3 Tip122 Transistors, 3 1200 resistors, 3 1N4007 diodes, and a 12v / 5v power supply.
Here, we have our assembly: a protoboard with the 3 transistors. The 3 diodes are plugged into the three ports of the Arduino as Digital Out. The 5 volts that come from my computers USB provide the power. Im also feeding the transistors, which in turn are feeding the three coils of the motor. I then use voltage on the coils, and this current will be shown. You will see that this engine will spend about 1A.”

Link