Controlling and reading from BLDC motor

So I want to hook up HDD motor with 3 wires to Arduino. Idea is: I press a pushbutton, motor starts spinning at some slow but constant speed and at the same time I read the input signal from it. Is is possible? What I'm trying to build is a MIDI controller, so if a track is playing, disk spins and if I move disk faster the code would detect speed change and send some MIDI codes.

So, it's not possible or I started the topic in the wrong section?

I think its a tricky problem, noone's got an instant answer. A rotary encoder would be an easier starting point perhaps?

I have rotary encoder setup and it's working. I wanted to take it step further, I'll investigate it and report if I succeed.

You could use an ESC (Electronic Speed Controller) meant for RC hobby, but if you try to stop the rotation, the ESC just shuts down, so that won't work.

You need to build a discrete 3-phase H-bridge to control that motor.

If it were me, i would look into the circuit in a brushless fan, it's three phase too, has RPM information on the yellow wire etc.

The most modern PC fan today has 4 wires, two for power, one for RPM readout and the last a PWM signal to control the fan speed. Look into this!

// Per.

A disk drive motor won't be compatible with an RC controller necessarily, RC motors are rated at far higher currents (50A isn't unusual). Worth trying if you have one to hand and report back?

MarkT:
A disk drive motor won't be compatible with an RC controller necessarily, RC motors are rated at far higher currents (50A isn't unusual). Worth trying if you have one to hand and report back?

I tried, and it works just fine. You just don't have all that torque like with an RC motor...

// Per.