Case Fan Control

Thoughts

I never thought the fans in my ATX desktop were noisy, but after building a new ITX mini PC, I realized just how loud the ATX machine actually is. Especially when I put it next to another mini PC, even the mini PC I used to think was noisy now seems quiet.

The motherboard’s built-in fan control only offers two options: based on motherboard temperature or CPU temperature. However, after setting the fan speed to very low when the CPU is cool, it didn’t seem to have any effect. Maybe the Maxsun BIOS is just bad, or maybe my case fans are the problem.

When do case fans need to run at high speed? Usually when the GPU is under heavy load. But the motherboard’s fan control relies on the motherboard’s temperature sensor, which isn’t the main heat source—it’s only indirectly heated, so there’s a margin of error. Adjusting case fan speed based on GPU temperature is the real solution, but this can’t be set in the BIOS.

I found a small program called FanControl on GitHub. It’s quite powerful, so I’m documenting it here.

Fan Speed Control

There are three main modules: Controls, Speeds, and Curves.

image-20240620182749451

At first, I just played around with the settings and immediately noticed a problem: my case fans couldn’t be controlled by this software, but the CPU fan could. Another issue was that my two case fans had always been running at maximum speed (1350 rpm)—no wonder it was so loud! I used to have four case fans, thank goodness I removed two. I checked the fan specs: Arctic F12 3Pin. The reviews are good, so I didn’t buy the wrong model. But some people pointed out that it’s quiet below 1000 rpm, but noisy above that.

Looking more closely at the specs, I realized the fans don’t support PWM control. No wonder adjusting them in the BIOS didn’t work. Checking the BIOS again, only one of the two case fans could be set to DC mode; the other couldn’t be adjusted, maybe due to an incompatible connector. After saving the BIOS settings, the external case fan could finally have its speed adjusted. Now I can set the speed as needed.

image-20240620184306186

Parameter Settings

  • Curves require you to manually set the fan speed rules. There are no Curves by default when you first open the program. Click the plus sign in the lower right to add a rule—either Linear or Graph is easy to configure.
    • Hysteresis and Response time control sensitivity and response speed; the defaults are fine. Set the Temperature source to GPU.
    • After a quick look, I found the Graph-style Curves more intuitive and easier to understand. I set up three stages to control the case fans:
      • Low temperature stage (CPU/GPU below 40°C): Fan speed 10-20%. Keeps noise low and provides enough cooling for light loads.
      • Medium temperature stage (CPU/GPU between 40°C and 60°C): Fan speed 20-40%. Suitable for moderate loads like web browsing, watching videos, or light gaming, while keeping noise moderate.
      • High temperature stage (CPU/GPU above 60°C): Fan speed 40-100%. For heavy loads (like gaming or rendering), provides maximum cooling. Fan speed increases non-linearly with temperature to effectively control heat.

image-20240620185657196

  • Each box in Speeds represents a fan in your system. By default, they’re named Fan #1, Fan #2, Fan #3, etc., but you can rename them.
  • Controls link Speeds and Curves together.
    • Click the settings icon in the upper right of Control and select the matching fan to bind it.
    • The Control parameters are straightforward: Enable (on/off), Fan curve (select the rule you set up earlier), and offset (to balance the speeds of multiple fans and keep them as equal as possible).

Finally, here’s the result after adjusting the fan control parameters:

image-20240620190508654

This page was automatically translated by generative AI and may contain inaccuracies or incomplete information. Feedback is welcome to help us improve.




    Enjoy Reading This Article?

    Here are some more articles you might like to read next:

  • macOS System Configuration Notes
  • Practical Configuration Notes for Low-Performance Cloud Servers
  • Essay: Memories of the Old Home
  • Essay: The First Day of 2025, Some Thoughts
  • 2024 Work Summary