Out of the box, most motherboards default to overly aggressive fan curves — they ramp up at the slightest temperature increase. Other boards err on the silent side and let things run too hot. Either way, the default rarely matches what you actually want. Setting up a custom fan curve takes about ten minutes and makes your PC noticeably more pleasant to use.

What a fan curve is

A fan curve tells the motherboard or controller how fast each fan should spin based on a specific temperature reading. It’s typically a graph with temperature on one axis and fan speed (as a percentage of max) on the other.

For example: “At 30°C, run at 30% speed. At 50°C, run at 50%. At 70°C, run at 80%. At 80°C+, run at 100%.”

The fan controller smoothly interpolates between those points.

Where to control fan curves

You have two main options:

UEFI (recommended)

Configure once, applies always — even before Windows loads. No software running, no overhead, no third-party apps needed. This is where I recommend starting.

Windows software

Tools like Fan Control (free, open source), Argus Monitor, or motherboard-specific apps like ASUS Armoury Crate let you tune curves in Windows. These give you more flexibility — like having different curves for different scenarios, or basing fan speed on the GPU temperature instead of the CPU. The downside: it’s another app running in the background, and fans run at default speeds before Windows boots.

Set up curves in UEFI

  1. Restart and press Delete (or whatever key) to enter UEFI.
  2. Look for a section called “Fan Settings,” “Smart Fan,” “Q-Fan Control,” or similar. The location varies by manufacturer.
  3. You’ll see a list of fan headers: CPU_FAN, CPU_OPT, SYS_FAN1, etc.
  4. Click on a fan header to configure it.

For each fan, you can set:

  • Control mode: PWM (4-pin fans, smooth speed control) or DC voltage (3-pin fans). Auto-detect usually works.
  • Temperature source: CPU temperature, motherboard temperature, etc. Pick what makes sense for the fan’s role.
  • Curve points: drag points on the graph to set the curve.

Recommended curves

CPU cooler fan

Source: CPU temperature.

  • 40°C → 30% (quiet at idle)
  • 55°C → 40% (gentle ramp)
  • 70°C → 60% (work harder under load)
  • 80°C → 90% (almost full speed for hot loads)
  • 90°C → 100% (emergency cooling)

AIO pump

Plug into AIO_PUMP or CPU_OPT header. Set pump to 100% always. AIO pumps make minimal noise; varying their speed is more trouble than it’s worth.

Front intake fans

Source: motherboard temperature.

  • 30°C → 30%
  • 40°C → 40%
  • 55°C → 70%
  • 70°C → 100%

Rear / top exhaust fans

Source: CPU temperature (since they exhaust CPU heat).

  • 40°C → 30%
  • 55°C → 50%
  • 70°C → 70%
  • 80°C → 100%

The art of the curve: avoid yo-yoing

The most common mistake is making the curve too steep around your idle temperature. If your CPU jumps between 40°C and 45°C as you do everyday tasks, and your curve goes from 30% at 40°C to 60% at 45°C, the fans will be constantly speeding up and slowing down. That’s more annoying than a steady moderate speed.