Fan Curves

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

Custom Sensors

  • Time Average
  • Mix Sensor
  • File
  • Offset

Command Line Arguments

  • -c --config
  • -w
  • -m

Documentation

Fan Curves

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

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

-m

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