Guide: How to set up a fan curve in the BIOS

citay

Pro
SERGEANT
Joined
Oct 12, 2016
Messages
21,626
Setting up a fan curve involves a balance between airflow and noise. But it is not that difficult when you know a good way to do it, and you only have to do it once.

First, a word about the fans. I'll try not to make it too difficult, there is just some precise terminology i have to use, but in the end it's not that hard to understand, i promise.

If you want to skip this part and go right to the information about setting up fan curves, scroll down to FAN CURVES.


There are two different types of fans, which you can tell apart by their plug. Let's look at this picture:

noctua_pin_configuration_12v_fans.png


A three-pin plug means the fan is DC (= direct current) voltage-controlled. A 4-pin plug means it's PWM (pulse width modulation) controlled.
With a DC-controlled fan, the fan speed is regulated by the board powering it with lower or higher voltages (say, between 3V and 12V) instead of steady 12V.
With a PWM-controlled fan, the board powers it with a steady 12V, and the fan speed is controlled through the fourth pin via a PWM signal.

Note: The "RPM Speed Signal" pin (rotations per minute) in the picture is telling the motherboard at which speed the fan is spinning, it is not controlling the fan.

So for each fan, you have to select the right fan control method: DC for a 3-pin fan or PWM for a 4-pin fan.

Some motherboard models may only allow DC control for some of the fan headers, even though they can all be 4-pin headers. So pay extra attention to that.
But that's easy to notice in the BIOS - when you just can't control a certain 4-pin fan with a PWM signal and instead only have DC (voltage) control available.

Here is an example of such a board:

PWM DC.png


The CPUFAN headers can control the fan speed via PWM signal or DC voltage (depending on the fan and which control method you select in the BIOS).
The SYSFAN headers can only control the fan speed via DC voltage, despite having a 4-pin fan header.
"NC" means Not Connected, so the manufacturer didn't implement PWM control on those headers, presumably for cost-saving. On more expensive board models, all the fan headers should be able to control fans with both methods. But in this example, you'd want your 4-pin PWM fans on the two CPUFAN headers, if possible.

Note: Every PWM fan can also be DC-controlled, it's just a slightly worse method of controlling it. One advantage of PWM control is that the fan will always turn on, even at a very low setting (unless it's purposely configured to stay off below 5% or 20% PWM signal for example). But when you go too low with the voltage on DC control, the fan might not turn on reliably, as the voltage is not enough to overcome the fan motor's resistance, so you'd have to add a bit of extra margin on the voltage.

The general target for the fan curves is:
- Nice low RPM (fan speed) at low temperatures
- Let the RPM ramp up gently with rising temperatures
- Only ramping up the RPM faster when the temperature approaches a quite high level.


Now, before setting the fan curves: Since we're doing this in the BIOS, this is a good time to first update the BIOS to the newest version. Because if you decide to update the BIOS later, it will reset all settings (on a lot of boards, that includes the fan curves), and you have to enter everything again. But since we'll start from scratch now anyway, updating the BIOS beforehand is a good idea.

A quick how-to on BIOS updates:
1) Get the latest BIOS. It's always the topmost one when you click on "BIOS" on the MSI support page for the mainboard.
2) Extract the file and you will get a text file and the BIOS file. Put the BIOS file into the root folder of a USB stick/drive.
3) Enter the BIOS by pressing DEL during boot, go to "M-FLASH" in the BIOS.
4) Once M-Flash (the updater) is loaded, it will show a list of your drives. Select the USB stick and select the previously extracted BIOS file on there.
5) It will ask for confirmation and then update the BIOS. It's fully automatic from there, takes about two minutes.


Now, before we come to the topic of how to set good fan curves, let's first look at a proper way to create an airflow through the case. Normally there should be at least one intake fan (usually at the front) and at least one exhaust fan (usually at the rear, in line with the CPU cooler). This will ensure a defined airflow through the case which can extract the heat from the components.

All the fans should work in unison within that airflow, to get one stream of cold air coming in from the front, picking up some heat (mostly from the CPU and GPU), and the warmed-up air being exhausted out of the rear. So in modern cases, the airflow usually looks something like this:

airflow.png
master.png



Perhaps minus the fans on top of the case. But there often will be at least one, if not two fans in the front, and one exhaust fan in the rear behind the CPU cooler. Each fan will have one or two arrow markings on one of the sides, showing the rotational direction as well as the airflow direction, and all the "airflow arrows" should be pointing towards the rear of the case. When the fans come pre-installed in the case, they will already be installed like that.

If the front intake fans outnumber the rear exhaust fan by 2:1 or 3:1, then the rear fan ideally runs on slightly higher RPM than the front fans, to create a more even airflow.



FAN CURVES

Now it's time to set the fan curves. Enter the BIOS (press DEL after power-on/reboot) and open the "Hardware Monitor" which offers the fan control.
For each fan, you can set four points of a curve, MSI calls this the "Smart Fan Mode".

This is how it might look:

MSI_SnapShot_21 Fan1.png


Note that each of the four points of a fan curve is restricted by the points next to it, it can't go lower than the previous point or higher than the following point.
So you may have to move a neighboring point if you hit a restriction on the point you want to adjust.


The goal for the first point of the curve is to find a setting with a bit of airflow, but where the fan is very quiet. This will be the setting when the CPU is doing nothing (idle).
You don't need a lot of airflow when the CPU temperature is low anyway. My fans spin only at around 400 RPM there, as you can see, just enough to keep some air moving through the case. Note that i have a high-end air cooler with two fans on there, as well as three 140mm case fans in a large case. So in a small case with fewer fans, you will need a bit higher RPM to keep it this cool inside. But there is no need to have the fans spin for example at 1000 RPM in idle.

For testing, it's good to open the case and put your hand behind the fan or behind the cooler (where the air gets blown through) to feel how much airflow the fan generates with different values. As long as you don't touch the motherboard or other components, there's no danger. And you can immediately feel the results of your adjustments.

For testing the airflow, turn off "Smart Fan Mode" for a while, so you can influence the fan speed directly. You can also turn off the other fans, so you can find the sweet spot for low temperatures with the particular fan you're checking. Remember, you only need a slight airflow for this starting point of the fan curve, the goal is not to have unnecessary noise when the temperature is low.

For this goal (a bit of airflow, but being very quiet), the resulting PWM % value (or DC voltage on 3-pin fans) is your starting point at 30°C or 40°C for this fan's curve. The temperature you select depends on where you want the fan to first start ramping up. It makes no sense to define a temperature below the ambient temperature, or below the minimum CPU temperature, you'd just be wasting the whole adjustment point. So anything below 30°C only makes sense with powerful cooling methods that can actually hold the CPU below 30°C.

Next, don't go to the second point, but the third one. Find a good level where the airflow is strong but the noise is still bearable, and use this as your "full CPU load" setting for higher temperature values like 65°C or 75°C. To fine-tune this point of the curve, you might have to go back and forth from the BIOS to Windows, where you monitor the fan speed with certain CPU load and fine-tune the setting afterwards. But it doesn't take that long to do, and you only have to do it once.

As for the second point of the curve, the inbetween point: Set it slightly below a straight line between the first and third point, to not make the fans ramp up too fast at medium temperatures.

For the final point, set it for 85°C or 90°C CPU temperature and 100% PWM value (or full 12V DC with a 3-pin fan). This is the "worst case" point for safety.
Now you should have all four points of the curve set to a sensible value, and most of the time, the fan should stay between the first and the third point. The highest last point is just a safety measure.

I would always create such an "ascending dominant" curve:

curve.png


A perfectly straight line makes no sense, you'd be wasting the two middle adjustment points.
A descending dominant curve makes no sense, as it will make more noise than necessary.

Here are examples. You might of course have to use different values, but just to see how it should rougly look like. The curve needs to be done for your particular fans.

This is for a PWM fan (4-pin), which is controlled by a PWM % signal:

BIOS_Fan1.png


Always use "Temperature source: CPU" for the CPU fan (and most other fans), not System or MOS.
The CPU temperature is more important and will influence the other temperatures.
Step down time 1.0s makes the fans spin down less audibly.

Now follows an example for a DC (voltage-controlled) 3-pin fan.
Note: The following picture is not how it should be set when using the CPU temperature as the source (which is the usual temperature source),
it's an example of a fan curve when using the System temperature as the source (if there is a good reason to do so).
When using CPU temperature as the source, the fan curve should not be this steep, it should be more like the pictures above.

MSI_SnapShot_24 Fan4.png


Of the five fans in my PC, this front bottom intake fan is the only one for which i use the "System" sensor as the Temperature Source. I want it to react to the system temperature with a steeper curve, since the system temperature will obviously increase much more slowly than the CPU temperature. The graphics card can be a major contributor to heating up the whole system, and since i can't use a graphics card sensor as the temperature source, this is sort of a roundabout way to handle that. Of course, you can also have the CPU as the temperature source for all the fans, then you should use a shallower curve like in the pictures before this one.

It all depends on your setup, what kind of fans you have, and noise/temperature preference.

Each fan model has a different RPM range and therefore needs different values or voltages to reach a certain airflow. Also, each different PWM-controlled fan model can interpret the PWM signal differently. This is because some mainboards don't allow a PWM signal lower than 20% for example, to never have the fan turn off. So to circumvent that, a fan maker might decide to let the fan interpret a 20% PWM signal from the mainboard as "still turned off", and turn on at 21% PWM. Another fan might interpret 0% PWM as the turn off signal and 1% as the lowest possible RPM, or may never turn off and just map the entire PWM signal range to the lowest and highest RPM. And all variations in between.

Here's an example of an Arctic fan which has implemented a semi-passive mode, it stays off with any PWM signal below 5%:

P12-PWM-PST-Argb-0dB-Mode-EN.jpg


Another example of a fan with a semi-passive mode is this Noiseblocker one, which has the following PWM-signal-to-fan-speed mapping (depending on the variant):

Screenshot 2023-06-27 at 21-58-11 TData_eloopX120_de_en.cdr - TData_eloopX120_de_en.pdf.png


So for each fan model, you will need different PWM values (and for 3-pin ones, different voltages), but just go by airflow and noise.
And the concept of the fan curve is always the same.

Once you're done, it's a good idea to write down your settings or make a screenshot/picture of them (in the BIOS, F12 saves a screenshot to a FAT32-formatted USB drive).
Because whenever the BIOS settings are reset (due to BIOS update, CMOS Clear or empty battery), you'll need your notes or pictures to know what fan curves you had before.
Although in BIOS updates for newer boards, the fan curves are actually kept between updates nowadays, which is good.

My other guides:
RAM explained: Why two modules are better than four / single- vs. dual-rank / stability testing

Guide: How to set good power limits in the BIOS and reduce the CPU power draw
Guide: How to find a good PSU

Someone asked me if they can thank me for my work by sending me something via Paypal: Yes, that's possible, just write me a message and i'll tell you my Paypal 😉
 
Last edited:
For the EVGA AIO CLC i have it says to set the pump to full power and DC, its a 3 pin connector so DC anyways and i plugged it into the pump connector on the MSI z690, i did not enable smart fan
I could not find an option to set it to 100%, 90% etc;

Is it already at full power?
 
If you don't enable smart fan, there should be a "ball" on the left side of the graph that you can drag up or down to set a fixed voltage (for DC control), or it should be at 12V constantly.
You might have to select "DC" on the left first, so the board doesn't attempt to control it in PWM mode.
 
I do have the ball but its not moveable, i tried using both the CPU & PUMP connectors and neither allow me to move the ball, so i assume its always 12v then?

The case/ system fans i can definitely move the ball when i disable PWM and switch to DC

I have been gaming at 4k and there havent been any issues temp wise
 
Hey @citay I was looking at this guide. As i'm a bit concern that I notice on my computer cpu gets up to 75C full blast 100% fan speed this while playing games. When not playing games my cpu is at 43C. Unless my room feels ike 65F to 70F then my cpu only goes up to 68C to 69C or 70C while playing games. When my room that cold cpu will be around 35C idle when doing nothing. Though it got me thinking. I have the rest of the other fans as system temperature. And I was thinking to myself I am not even sure which fan number goes to which fan as it wasn't me that built up the pc. Question I have is when it comes to the back fan and 2 fans up top what should I have them set as? Like System? CPU core? Socket core? You get the idea. And what about the front fans? I have 3 in front. The two top fans blow air out of the case just thought id let you know. I have a full tower case. The case I have a Syber L Series ATX Full tower from Cyberpowerpc. Also whats a good way to figure out what fan goes to which number? Is there a way to turn off the fans so I know within the bios? Thank you.
 
Fan headers are numbered, in most cases are numbers like a clock with one starting at top of board and so as you go clockwise around the board top will be one then two, three four and so on.
I set my Case fans to run off system temp with max ramp up and down times set
1659061428166.png

Annotation 2022-07-29 122902.jpg
 
Last edited:
@blecl Hey thanks I'll check it out. @Alan J T Interesting you say that. Cause on my case I notice first top fan is on pump1 and fan1 is for rear fan. So I am so confused on which the other fans are connected too. At least I feel fan 1 is connected to the rear fan when I turn it all the way up. I'll check it all out.
 
@blecl Looks like the program only detects both fans for gpu and cpu fan 1 and pump fan 1 and system fan 1 and 2. Though it didnt detect the other remaining fans which I found odd... The fans in the case are all the same fans. In Bios I can control all the fans. Yet on the program not all of them. 🤷‍♂️

Well I figured this out.

1659068363915.png
 
Last edited:
I have seven fans but only use the CPU and 3 case fan headers CPU has two and on a Y splitter same for case fans all on Y Splitters
 
I have seven fans but only use the CPU and 3 case fan headers CPU has two and on a Y splitter same for case fans all on Y Splitters

Well at least that makes it easier for you to know which fan is what when it comes to replacing them and programing the curve and so on. lol. I just found it so odd when I figured out what number went to what fan. 🤷‍♂️
 
I simply wrote down where my fans are in the case and what header they're on. I also wrote down my temperatures and values there, so when i do a BIOS update, i can set it up exactly as before again.
 
It makes no sense to define a temperature below the ambient temperature, or below the minimum CPU temperature, you'd just be wasting the whole adjustment point. So anything below 30°C only makes sense with powerful cooling methods that can actually hold the CPU below 30°C.
I wish you could explain that to MSI, it is frustrating that their Z590 BIOS updates set the CPU fan default to 0C=20% and 20C=20% (before their more reasonable third point of 65C=75%). I preferred when their first two points were around 40C and 55C (can't remember the percentages for those, maybe something like 13% and 38%).
 
Can someone explain the odd RPM values in the bios graph? 1500-15000?? Obviously it is too high and don't match the real RPM.
Thx.
 
Can someone explain the odd RPM values in the bios graph? 1500-15000?? Obviously it is too high and don't match the real RPM.
The right hand scale max of 15000 of course is higher than reasonable, but the data is otherwise okay. Green color line is the RPM, below 700 on the right hand scale. White color line is the temperature, 30C-ish on the left hand scale. FYI, the middle graph (of three similar graphs) has slightly more data and the right hand scale max has come down by around half.
 
Back
Top