PWM Control and Tachometer for 12V 4PIN DC Brushless Fan

I have a 12V DC Brushless Fan from Mechatronics ( that is equipped with 4 pins. These pins are for ground, Vin, Tachometer output, and PWM Speed control. Apparently, these fans can't be controlled through regular PWM using a transistor the way you would operate a simple motor. Of the PWM here is what the specifications say: "This option allows for speed adjustment of the fan in the customer application via a customer supplied PWM signal into the fan through a separate input wire. The PWM frequency should be 25kHz +/- 5kHz, and the voltage should be 0.5vdc ~ 5vdc."

I have two questions, how could I wire and program the PWM pin so that it is safe for my arduino and that it is at the correct (~25kHz) frequency.

Also, how would I wire and program for my tachometer reading so I can accurately measure the RPM's of the motor.

I used the search function at the top of the page and found plenty of sites. Try the same method and come back if you have further problems.


I have found pretty unclear information online in regards to this problem. I can seem to figure out what wiring to use for the fan. Do I need a transistor? How do I adjust to ordain frequency to 25kHz?