Control

  • Speed sensor pairing
  • Calibration

GPU

  • NVIDIA
  • AMD

Fan Curves

  • RPM mode
  • Linear
  • Graph
  • Mix Fan Curve
  • Trigger
  • Flat
  • Sync
  • Auto

Custom Sensors

  • Time Average
  • Mix Sensor
  • File
  • Offset

Command Line Arguments

  • -c --config
  • -w --window
  • -m --minimized
  • -r --refresh
  • -e --exit

Documentation

Control

Speed sensor pairing

Speed sensor pairing is the first step to configure a control. It will give the control context as to how it is operating at any given time. Pairing is required for calibration. You can either pair manually by selecting the speed sensor yourself, or automatically through the pairing utility.

Calibration

Fan calibration is used to tell the software how a specific fan behaves. It will find its starting point, stopping point, maximum and minimum speed. It will also create a full RPM/% graph to know what % power is required to run the fan at a specific RPM. This graph is required if you want to assign a fan curve in RPM mode.

Control parameters

  • Step up %: Maximum rate at which the control can change its value going up.
  • Step down %: Maximum rate at which the control can change its value going down.
  • Start %: Control value which will be used to kickstart the control from a stop.
  • Stop %: Control value below which the control will snap to 0%.
  • Offset %: Offset applied to the assigned fan curve.
  • Minimum %: Hard limit set where the control won't ever go below.

GPU

NVIDIA

Modern Nvidia GPUs (RTX) have a few limitation when it comes to controlling their fans from a third party application. Most notably:

  • Minimum %: Their is a 30% minimum value and 0 RPM can't be applied manually.
  • 0 RPM minimum temperature: usually around the 45 degree range.
  • 0 RPM maximum power draw: Having multiple monitors active may exceed that maximum power draw.

To play arround these limitations, the software will release its control over the GPU when the command hits 0%. If the card supports natively 0 RPM, it will be able to enter 0 RPM mode. However, most cards will have built-in conditions for 0 RPM to trigger.


With these caveats in mind, a simple graph for a GPU needs to have its 0% point at or below the zero RPM temperature point, then staircase up to 30%. Rest of the graph is up to the user.

AMD

Modern AMD GPUs have access to the Adrenaline software to monitor and control various aspects like monitoring and overclocking. The software uses the same interface (ALDX) to get the temperature data, fan RPM and to control the fan. This comes with a few caveat for the fan to be controlled. Only using the temperatures without controlling the fan do not come with these caveats:

  • Overclocking reset: any fan setting applied from the software will reset the overcloking tuning settings in Adrenaline to their default values.
  • Zero RPM: AMD gpus have a set minimum temperature for Zero RPM to come into effect. The temperature is identified with a dotted line in the Adrenaline Graph. This inherent temperature point must be taken into consideration when creating a fan curve for the GPU.
  • Minimum %: There is a minimum % (0% excluded, see Zero RPM) a card can take as an input command, usually arround to 30%. Below that, the card will refuse the command and will keep the minimum %.

With these caveats in mind, a simple graph for a GPU needs to have its 0% point at or below the zero RPM temperature point, then staircase up to the minimum %. Rest of the graph is up to the user.

Fan Curves

RPM mode

All fan curves can used in RPM mode from their menu. Instead of outputing a specific %, it will output a target RPM value. Only controls with a valid calibration can use fan curves in RPM mode.

Linear

Linear demo
Min. temp.
°C
Max. temp.
°C
Min. speed
%
Max. speed
%
47.5 %

The linear fan curve applies a linear function based on a temperature source.


Below the minimum temperature, minimum speed is applied.

Above the maximum temperature, maximum speed is applied.


Parameters

  • Min. and max. temperature : Temperature bounds to be interpolated between.
  • Min. and max. speed : Fan speeds as % to be interpolated between the min. and max. temperature.
  • Temperature source: Source to use as input.
  • Hysteresis: Minimum temperature difference for a change to occur.
  • Response time: Minimum time for a change to occur.
  • Hysteresis only applies on the way down: Hysteresis and response time parameters will only apply if the temperature is dropping, not increasing.
  • Ignore hysteresis at minimum and maximum temps: Hysteresis and response time parameters will be ignored as soon at the minimum or maximum temperature point set by the fan curve is hit. Hysteresis will apply when re-entering the set temperature range.

Graph

The graph fan curve applies a custom function based on a temperature source.


Press "Edit" to open up the editor. Left click to add a point, right click to remove one. Hover your mouse over a point and use the "Selected Point" input boxes to precisely change its location.


Parameters

  • Temperature source: Source to use as input.
  • Hysteresis: Minimum temperature difference for a change to occur.
  • Response time: Minimum time for a change to occur.
  • Hysteresis only applies on the way down: Hysteresis and response time parameters will only apply if the temperature is dropping, not increasing.
  • Ignore hysteresis at minimum and maximum temps: Hysteresis and response time parameters will be ignored as soon at the minimum or maximum temperature point set by the fan curve is hit. Hysteresis will apply when re-entering the set temperature range.

Mix Fan Curve

Mix demo
A linear fan curve (50 %)
50.0 %

The mix fan curve will combine multiple existing fan curves using a mix function, like max or average.


Parameters

  • Function: Choose between Max, Min, Average, Sum, Subtract.
  • Fan curves: Add any existing fan curve to the mix.

Trigger

The trigger fan curve will hold its fan speed until one of the two changing point is triggered. Below the idle temperature, idle fan speed is applied until the temperature gets back up to the load temperature. Above the load temperature, load fan speed is applied until the temperature gets back down to the idle temperature.


Parameters

  • Response Time: Minimum time for a change to occur.

Flat

The flat fan curve simply applies a fixed %. Usefull if you want to set and change the % of multiple controls.


Parameters

  • Fan speed %: Percent.

Sync

The sync fan curve will output the same % as the selected control. Use it to sync multiple fans to a single control. Whatever fan curve you apply to that control, all the synced fans will also follow that new fan curve.


Parameters

  • Selected control: The control to sync with.
  • Offset: Offset in % to be applied to the selected control.
  • Proportional offset: If checked, the offset will be proportional instead of absolute.

Auto

The auto fan curve is designed to find the lowest possible speed to sustain a desired load temperature. It will work best in constant load scenarios, less so in regular usage. Internally, the function will define 2 distinct temperatures "zones": idle and load. During idle, up to load, it will act like a regular linear fan curve. In the load zone, defined by the Load Temperature and Deadband parameters, it will use a feedback loop to look at the temperature trend and increase or decrease the speed accordingly. If the temperature trend is slowly decreasing, it will decrease the speed little by little until an equilibrium state is found, finding the minimum fan speed required to hold a steady load temperature.


Parameters

  • Idle temp. : Temperature threshold for the minimum fan speed.
  • Load temp. : Desired load temperature to be sustained.
  • Min. fan speed
  • Max. fan speed
  • Step: Rate at which the % will change after the given response time. Step is half when temperature is decreasing.
  • Deadband: Range under the load temperature defining the "load" temperature zone.
  • Response time: Minimum time for a change to occur.. Parameters is doubled when temperature is decreasing.

Custom Sensors

Time Average

The time average custom sensor averages the selected sensor over a set amount of time.


Parameters

  • Temperature source: Source to use as input.
  • Time: Averaging period of the selected temperature source.

Mix Sensor

The mix custom sensor applies a function to the selected temperature sensors.


Parameters

  • Function: Choose between Max, Min, Average, Sum, Subtract.
  • Add sensor: Add any existing temperature sensor to the mix.

File

The file custom sensor reads data from a given file. The temperature must be written directly into the ".sensor" file as text in celcius on the first line. Use this sensor as a way to inject a sensor from any other source that the software doesn't support natively.


Parameters

  • Path: Path of the sensor file.

Offset

The offset custom sensor allows to offset an existing sensor.


Parameters

  • Offset: Offset in degrees or percent (proportional) to be applied.
  • Proportional offset: If checked, the offset will be proportional (%) instead of absolute (degree).

Command Line Arguments

-c --config

Usage: FanControl.exe -c yourConfig.json
Start using the specified config, or change the config if the software is already running.

-w --window

Force the UI window to open, override the minimize option.

-m --minimized

Force the program to be minimized, even if an error occured at launch.

-r --refresh

Force the program to refresh its sensors.

-e --exit

Force the currently running instance to exit.