FanControl operates as a standalone Windows application without requiring installation of vendor bloatware. It communicates directly with hardware through low-level monitoring interfaces. All fan curves, calibration data, and control parameters remain stored locally in user-editable JSON files. The program runs in the system tray and applies fan settings continuously in the background.
The software covers CPU coolers, case fans, GPU fans, and AIO pump controls from a single interface. Temperature readings from multiple components feed into unified cooling strategies. Manual overrides allow immediate adjustments during testing or troubleshooting. Automatic curve switching handles normal operation without user intervention.
FanControl supports fine-grained timing controls including hysteresis, response time, step up, and step down. These parameters prevent oscillation and smooth out rapid temperature changes. Fan calibration creates accurate RPM-to-percentage maps for each connected fan. RPM-based curves provide consistent acoustic output across different fan models and manufacturers.
| Reads CPU, GPU, motherboard, storage temperatures simultaneously | Combines multiple sources using min, max, average |
| Graph editor with unlimited adjustable control points | Hysteresis prevents rapid fluctuations from brief spikes |
| Mix curves combine several existing fan curves | Apply maximum, minimum, average, sum functions |
| Switch any fan to fixed percentage manually | Test noise, verify RPM, set constant speed |
| Calibration maps PWM percentage to actual RPM | Builds RPM graph required for RPM mode |
| Curves can target RPM instead of percentage | Consistent acoustic performance across fan models |
| Adjustable step up, step down, start, stop, offset | Minimum limit sets hard floor for output |
| Pair control with specific RPM speed sensor | Manual or automatic pairing for real feedback |
| Custom sensors include time average, file, offset | File sensor reads temperature from text file |
| Trigger curve holds low speed until load threshold | Switches to high speed, reduces frequent changes |
| Flat curve applies constant percentage to fans | Sync curve mirrors another control output |
| Auto curve finds lowest speed for target temperature | Feedback loop adjusts gradually based on trend |
| Third party .NET plugins add new sensors | HWiNFO and device integrations extend support |
| Manages NVIDIA and AMD graphics card fans | Releases control for native 0 RPM mode |
| Settings saved as JSON configuration profiles | Load profiles via command line for automation |