Fan and Pump Controller for Water Cooled PCs

An Arduino Nano based fan and pump controller for Water Cooled PCs.
This controller controls the fan and pump speeds based on the difference in temperature between the intake ambient air temperature and the water temperature.

This is necessary because when the ambient temperature varies throughout the day or season traditional controllers will only use one temperature measurement leading to excessive fan and pump RPM on hot days as their target temperature is unattainable.
Power is supplies via an internal USB header on the motherboard, this has the benefit of allowing the user to view a log via a serial monitor and making changes to the parameters convenient.

This project uses:
-1x Arduino Nano
-1x G1/4 plug 2 pin 10k temperature sensor (available at enthusiast PC stores)
-1x 2 pin 10k temperature sensor
-1x 10x15cm Vero board
-2x 10k resistors
-2x 2 pin connector set
-2x 3 pin connector set
-2x 4 pin connector set
-mini USB to internal USB header connector

Arduino code files are attached.

Fan_Controller.ino (2.75 KB)

getRPM.ino (503 Bytes)

getTemp.ino (561 Bytes)

getTempDiff.ino (419 Bytes)

setPwmFrequency.ino (1.04 KB)