Arduino running 2 x 120mm fans


I want to install 2 x 120mm fans in the fresh air vent in my room to take air out of the room so to reduce stale damp air building up and causing mould.

I have seen a company who sell commercial versions and wanted to build a DIY version.

At the simplest level I would just want the fans running all the time but would love to add functionality to be able to run them on a timer, from a hyrometer or web interface.

But to start is there a way to run a 120mm PC case fan directly from an Arduino board?

Thanks Dave


I have 2 of these fans already,

From your reply, how would I power the fans?


I found this that describes the four-pin connection to your fan:

First, you need 12V to power it.

The PWM signal that modulates its speed is TTL, so a TTL output from the Arduino is okay. But the required frequency range is in the 25KHz range, which is much higher frequency than the default Arduino config and is a little tricky to obtain. Google "arduino PWM frequency" for pointers. You can easily get 31KHz which will likely work.

very interesting topic. I thought about something very similar. I wanted to read the PWM output from my mainboard's fan output. Because I wanted to control a CPU fan. Because for a CPU fan you need some kind CPU-Temp input for arduino. But I think is a little dangerous to rely on software input from a daemon for temp Input. The PWM output of the mainboard should be much better. Anyway didn't want to get off-topic