Reading fan speed?

I want to read the RPMs of a standard computer case fan. Checking the one I have it's pretty simple.

It's three pins: 12v, ground, and some sort of signaling interface on the third wire. Where can I find information about how to calculate the RPM from this? I have no idea where to even begin to look.

Here is a photo of one: Computer Parts, PC Components, Laptops, Gaming Systems, and more - Newegg.com

I'm guessing black is ground, yellow is 12v, and red is signalling?

I have no idea where to even begin to look.

search box :slight_smile:

searching the forums for pc fan its the second result, the 3rd wire boils down 1 pulse per revolution

as far as the pinouts, you should at least get a cheap multimeter

Actually, it's 2 pulses per rotation, and only if powered.

So when using PWM, you can only read the pulses when the signal is high.

Also be aware, the voltage of the tach signal is 12V, so you will have to drop it.

Otherwise, the only other requirement is to enable the internal pullup for the input pin on the Arduino.

Not sure about other safety requirements.

So when using PWM, you can only read the pulses when the signal is high.

You need to smooth the PWM to a DC value. Fans work more reliably with DC rather than PWM.
http://www.thebox.myzen.co.uk/Tutorial/PWM.html