So I searched around the internet to find a project or an application that could read the CPU temp on my PC and with the help of an Arduino change the speed of my PWM fans inside of the case. I couldn't find anything complete so I combined all of the short code snippets to a working program. I'm new to programming in both C# and Arduino so the code is a bit messy and I do not have the motivation right now to clean it up.
The system works by an application running on the PC checking the CPU temperature and checking whether to speed up or slow down the fans. The PC communicates with the arduino via the serial port.
Firstly, make sure that you fan/s are PWM controller, you can check this by making sure that your fan connector has 4 wires. If they are PWM, take a small flat-headed screwdriver and pull the PWM pin out of the fan connector by pushing the metal part on top and pulling it back.
Then solder/crimp/twist another wire to that and connect it to the arduinos PWM 3 header. Then you're done, I've connected 3 fans to the same header and it works fine so far.
Once this is done you're ready to connect your arduino to the PC and fire up the programs.