When a laptop suddenly makes the fan spin faster, it is tempting to imagine a simple chain: Windows reads the CPU temperature, decides that 80 degrees is too much, and sends a command to the fan. On some computers, parts of that description are close to reality. On others, the operating system is not directly choosing the fan speed at all.

The real answer is more interesting. A modern PC can divide cooling control between the operating system, firmware, an embedded controller, a dedicated fan controller, and the hardware itself. Which component has the final word depends on how the particular motherboard was designed.

That is why two computers running the same version of Windows can behave completely differently. One may let the operating system request active cooling. Another may keep the fan curve inside firmware or an embedded controller. A third may use a manufacturer utility that communicates with a dedicated controller. In all three cases the user sees the same thing: the fan changes speed when the computer gets hot.

The visible result is simple. The control system underneath is not.

The fan does not normally receive a command from the Windows desktop itself

The first misconception is that Windows, as a graphical operating system, directly controls the electrical power sent to a fan. It normally does not work that way.

A motherboard can contain a fan controller, embedded controller, or another hardware device capable of generating a PWM signal. PWM, or pulse-width modulation, controls the electrical drive delivered to a compatible fan. A tachometer signal can travel in the opposite direction and tell the controller how fast the fan is actually rotating.

This creates a feedback loop. The controller can request a certain drive level, measure the resulting fan speed, and adjust the output if the hardware supports closed-loop control.

The operating system may participate in this process, but it does not have to generate every individual PWM pulse itself. In many designs, lower-level hardware performs that job.

That distinction matters because the computer must remain thermally safe even when Windows is not running. A machine has to protect itself during boot, firmware setup, operating-system crashes, and other situations in which normal Windows software cannot be relied upon.

The hardware and firmware therefore need a way to manage cooling independently of ordinary applications.

BIOS and UEFI can establish the basic cooling behavior before Windows starts

The firmware environment is one of the first places where fan behavior can be defined. Modern PCs generally use UEFI firmware, although people still commonly call the setup environment BIOS.

Firmware can configure the motherboard's thermal and fan-control hardware before the operating system has loaded. This is important because the processor can generate heat during boot, while the system is still displaying firmware menus and has not yet started Windows.

On some platforms, the firmware configures temperature thresholds and fan-control parameters in a hardware monitoring or embedded-controller device. That device can then react to temperatures without asking Windows what to do.

This is a fundamentally different arrangement from one in which Windows directly controls the fan curve.

A firmware-controlled system can continue following its programmed cooling policy regardless of which operating system is installed. Windows may report temperatures and fan status, but the actual decision about fan speed can remain below the operating-system layer.

That also explains why a fan can suddenly accelerate while a computer is sitting in the UEFI setup screen. Windows is not running, yet the cooling system is still capable of responding to heat.

The embedded controller is often the hidden computer making the cooling decision

Many laptops contain an embedded controller, usually called an EC. It is a small controller dedicated to platform functions such as power management, keyboard input, charging, thermal monitoring, and fan control.

The EC is especially useful for cooling because it can operate independently of the main CPU and Windows. It can receive temperature information, apply a predefined fan policy, and control the fan output without the Windows kernel calculating every change.

This arrangement is common enough that it is a mistake to think of the fan controller as simply an extension of the processor. The EC can be a separate control layer with its own firmware and its own rules.

A laptop manufacturer can program the EC with a fan curve such as a series of temperature thresholds and corresponding output levels. The exact curve can be more sophisticated than a simple table. It can include hysteresis, minimum speeds, delays, ramp rates, different profiles, and emergency behavior.

Hysteresis is particularly useful because it prevents the fan from constantly jumping between two speeds when the temperature is hovering around a threshold. If the fan turns on at one temperature and turns off at exactly the same temperature, tiny fluctuations could cause rapid switching. A control system can instead use different thresholds for increasing and decreasing fan activity.

The result feels smooth to the user even though the underlying controller may be making repeated discrete decisions.

Windows has its own thermal framework but its control is not identical on every PC

Windows does have mechanisms for thermal management. Microsoft documents passive cooling and active cooling as separate parts of the Windows thermal framework.

Passive cooling reduces the amount of heat being generated. For a processor, that can mean reducing performance or otherwise limiting power consumption. Active cooling removes heat using a physical cooling device such as a fan or pump.

This distinction is important. Windows can decide that a device needs less performance to remain within a thermal limit without directly deciding the exact RPM of a fan.

Microsoft's Windows thermal-management interface includes an ActiveCooling mechanism through which a driver can engage or disengage active cooling. In the generic ACPI fan implementation supported directly by Windows, the operating system's control is basic and can amount to an on or off request rather than a detailed continuously variable RPM command.

Microsoft also documents another class of implementation in which fan behavior is proprietary and controlled through hardware, an embedded controller, or vendor-specific drivers. In such systems, Windows can receive fan notifications and thermal information without owning the entire fan-control algorithm.

who controls the fan" cannot have one universal answer. On one machine, the EC may own the fan curve. On another, a hardware monitoring chip may contain automatic thermal logic. On another, a Windows driver may have meaningful control over the cooling device.

The operating system is one participant in a larger thermal-control system, not necessarily its sole owner.

A hardware controller can change PWM without Windows knowing every individual step

A common PC cooling design uses a dedicated monitoring and fan-control chip. It can receive temperature readings, generate PWM output, measure fan tachometer pulses, and apply an automatic control curve.

In automatic mode, the controller can compare a measured temperature with programmed thresholds and change the PWM duty cycle itself. Linux hardware-monitoring documentation for several widely used controller families demonstrates this kind of design: some chips have thermal cruise or smart-fan modes in which the controller adjusts the PWM output according to temperature. The same principle is not tied to Linux. The important part is the physical controller on the motherboard.

A simplified example might define several points: at 40 degrees the fan is stopped, at 55 degrees it runs slowly, at 70 degrees it runs faster, and at 85 degrees it reaches maximum speed. A hardware controller can perform the interpolation or step changes locally.

Windows does not have to wake up and issue a new command for every temperature change. That is useful for both responsiveness and reliability. A small hardware controller can react quickly and continue operating even if the main processor is temporarily busy.

The exact design varies. Some systems use only several fixed fan states. Others implement more detailed curves. Some controllers can target a particular RPM using feedback from the tachometer. Others simply set a PWM duty cycle and allow the fan's actual speed to vary with voltage, temperature, dust, bearing condition, and airflow resistance.

The physical fan therefore may not even be the device deciding its own speed. The fan usually follows the electrical control signal, while a controller elsewhere decides what signal to produce.

The fan itself reports its speed but usually does not decide the target speed

A typical PC fan with a tachometer output can report how fast it is rotating. The controller counts electrical pulses and converts them into an RPM value.

That creates the second half of a feedback loop. Suppose the desired speed is 2,000 RPM. The controller can request a PWM level, measure the tachometer response, and determine whether the fan is actually close to the target. If the fan slows because the bearing becomes less efficient or the airflow resistance changes, a closed-loop controller can compensate by increasing the drive.

Not every computer uses this sophisticated arrangement. Some systems are open-loop and simply associate a PWM value with an expected speed. But when feedback is available, the controller has considerably more information than Windows needs to have.

This is another reason the phrase "Windows controls the fan at 2,000 RPM" can be misleading. Windows may request a cooling state, a driver may set a target, or a hardware controller may be configured for a target. The physical device that actually regulates the electrical output can sit several layers below the operating system.

ACPI provides a standard language between firmware and Windows

Windows needs a way to understand platform-specific thermal hardware without containing a separate set of rules for every motherboard. ACPI provides one of the important interfaces used for this purpose.

Firmware can describe thermal zones, cooling devices, trip points, and other platform behavior to the operating system. Windows can then interact with that description through its ACPI and thermal-management infrastructure.

The abstraction is valuable because the hardware inside two computers can be completely different. One may use an embedded controller from one manufacturer, another may use a monitoring chip from a different manufacturer, and a third may use a system-on-chip with integrated thermal management. The operating system can still receive standardized information.

But standardized exposure does not mean identical control. Microsoft explicitly distinguishes a basic ACPI fan implementation from proprietary fan solutions that use drivers or embedded controllers. The generic Windows ACPI fan support is limited compared with the full fan curves manufacturers often implement in their own hardware.

This is one of the most important clues when trying to understand a real laptop. If a manufacturer's control application offers Silent, Balanced, and Performance modes, the application may not be directly driving the fan motor itself. It can be changing a profile or sending commands to a controller that owns the actual thermal behavior.

The application is then the user interface. The EC or fan controller is the mechanism. The firmware contains part of the policy. Windows provides the platform around them.

A manufacturer utility can appear to control the fan while the embedded controller does the real work

Gaming laptops make the division especially visible. A vendor application may offer several performance modes and a custom fan curve. The user selects a mode, the software sends a platform-specific command, and the fans change behavior.

It is tempting to conclude that the Windows application is continuously reading temperature and generating PWM values. Often that would be an unnecessarily complicated architecture. The application can instead tell the EC to switch profiles. The EC already knows how to read sensors and control the fan.

This arrangement has a major advantage: the cooling policy can remain active even when the graphical utility is closed. The application does not have to stay on screen for the controller to continue regulating temperature.

The same design can explain why reinstalling Windows does not necessarily change the basic fan behavior. If the fan curve is stored in firmware or EC firmware, the operating system can disappear completely and the machine can still have the same cooling response during startup.

A Windows utility may therefore be better understood as a remote control for the platform's thermal controller rather than as the motor controller itself.

CPU temperature is only one of the values that can influence fan speed

Another common assumption is that the fan responds only to the CPU temperature. Real computers can use multiple thermal sources.

A laptop may have sensors associated with the processor, graphics processor, motherboard, storage device, voltage-regulation circuitry, battery area, or chassis. The exact sensor set depends on the platform.

A fan may also cool several components at once. A single physical fan can therefore respond to the hottest relevant thermal zone rather than to one CPU temperature number.

This explains a familiar situation: the CPU temperature falls, but the fan continues spinning quickly. The CPU may no longer be the limiting heat source. Another component can still require airflow, or the control system may deliberately keep the fan running for a period before reducing speed.

Hysteresis and delay are especially useful here. If the fan immediately slowed every time the CPU temperature dropped by one degree, workloads that fluctuate around a threshold could produce an annoying cycle of acceleration and deceleration. A thermal controller can wait for a sustained temperature change before switching to a lower cooling level.

The fan curve is therefore not necessarily a direct graph of CPU temperature versus RPM. It can be a policy involving several sensors, thresholds, timers, performance states, and safety limits.

Windows can reduce heat without touching the fan speed directly

Cooling does not always mean spinning a fan faster. Windows can also reduce the amount of heat being produced by reducing device performance.

Microsoft calls this passive cooling. A thermal-management implementation can throttle performance to keep a device within an acceptable thermal range. For a processor, that can involve reducing performance or power consumption rather than increasing active cooling.

Active cooling is different. It uses a physical cooling device such as a fan or pump. Windows has interfaces for engaging active cooling, but the amount of direct control depends on the hardware and driver implementation.

This produces a useful feedback loop at the system level. If temperature rises, the platform can first increase active cooling, reduce processor power, or combine both responses. If temperature remains too high, stronger mitigation can follow.

The goal is not to maximize fan speed. The goal is to keep the system inside its thermal limits while balancing performance, noise, energy use, and hardware constraints.

That is why a well-designed laptop can sometimes allow a processor to become fairly warm before the fan becomes loud. The manufacturer may have decided that a higher temperature at moderate power is preferable to unnecessary fan noise. Another model may choose the opposite balance.

Why the fan can suddenly jump to maximum speed even when Windows is doing nothing

A sudden maximum-speed fan event is one of the clearest signs that cooling control exists below the ordinary Windows application layer.

If a hardware controller detects an abnormal temperature, a missing sensor value, a fan failure, or another fault condition, it can be designed to choose a safe state. Running the fan at maximum is a simple protective response.

The exact emergency behavior depends on the platform. Some systems may increase fan speed, some may reduce processor performance, and some may eventually shut down if temperatures reach a critical level.

The important engineering principle is independence. Thermal protection cannot depend entirely on a desktop application behaving correctly. A crashed application cannot be allowed to remove the only protection against overheating.

That is why low-level thermal control is valuable even on computers where Windows has sophisticated thermal-management features. The operating system can optimize normal behavior, but hardware and firmware can provide a safety layer underneath it.

Why two identical-looking fans can behave differently on different computers

A fan is only one component in the control chain. Its behavior depends on the signal it receives and on the controller generating that signal.

Two physically similar fans can rotate at different speeds when given the same PWM duty cycle. Their electrical characteristics, blade design, bearing condition, and control electronics can differ. A controller may therefore need calibration or a platform-specific fan curve.

The motherboard also matters. One design may expose direct PWM control to the operating system. Another may route the fan through an embedded controller. A third may use a dedicated hardware monitor with automatic temperature control.

This is why generic fan-control software cannot safely assume that every computer has the same registers, sensors, or control method. A program that writes the wrong value to the wrong hardware interface can produce anything from no visible effect to an undesirable thermal state.

Modern operating systems therefore try to expose standardized interfaces while hardware vendors retain control over platform-specific details.

What happens when Windows is completely turned off

The simplest experiment is also one of the most revealing. Turn the computer on and enter the firmware setup before Windows loads. The fan can still spin. Start the machine from another operating system and the fan may behave similarly. Shut Windows down and leave the computer connected to power, and the platform can continue to manage charging and thermal conditions through hardware and firmware.

This does not prove that Windows has no role. It proves that Windows is not the only layer capable of influencing the fan.

A controller that lives below the operating system can continue running its own firmware. That controller can read sensors and control a fan while the main CPU is executing no Windows code at all.

Once Windows starts, the operating system may begin participating in the thermal policy. It can receive temperature information, expose thermal devices to drivers, request cooling, change performance states, or interact with vendor-specific interfaces.

The control system can therefore change modes during the boot process. Firmware and embedded hardware keep the platform safe first. Windows then adds its own layer of thermal management once the operating system is ready.

So who really decides the fan speed

There is no universal answer, because modern PCs use several different architectures. The most accurate answer is that the final decision can belong to different layers depending on the machine.

On one computer, firmware and an embedded controller may own the fan curve almost completely. On another, a dedicated monitoring chip may automatically convert temperature into PWM output. On another, Windows and a device driver may have more direct control. A manufacturer application can sit above any of these layers and change the selected thermal profile without directly generating the electrical fan signal.

The important distinction is between requesting cooling and physically controlling the fan. Windows can request active cooling or influence the thermal policy without being the component that generates every PWM signal. A hardware controller can receive a target or profile and then regulate the fan locally.

In practical terms, the chain often looks something like this:

  1. Temperature sensors measure conditions in the processor, graphics hardware, board, or other components;
  2. Firmware, Windows, a driver, or a hardware controller evaluates those conditions against a thermal policy;
  3. A cooling request or fan target is passed to the controller responsible for the fan;
  4. The controller produces a PWM or DC control signal for the fan;
  5. The fan rotates and can return tachometer information so the system can verify its actual speed.

The exact ownership of steps 2 through 4 is what changes from one computer to another.

The safest architecture is the one that does not depend on a single layer

A good thermal design does not assume that Windows will always be available, that a driver will never crash, or that a user application will always behave correctly. Hardware and firmware can provide a baseline cooling policy and emergency protection, while the operating system can optimize the machine for performance, noise, and energy efficiency.

That division of responsibility explains why the answer is neither simply "Windows" nor simply "BIOS." Both can be involved, but they can have very different jobs.

The firmware and embedded controller provide the platform with a low-level safety and control mechanism. Hardware fan controllers can perform automatic regulation. Windows can participate through its thermal framework and drivers. Manufacturer software can expose performance profiles and user controls.

The fan itself is at the end of the chain, receiving an electrical command and reporting its speed back when the hardware supports that feedback.

So when a laptop fan suddenly accelerates, Windows may indeed be involved. But there is a good chance that another small computer hidden on the motherboard is making at least part of the decision. That is the embedded controller or fan-control hardware, quietly running its own logic underneath the operating system.

The most accurate mental model is therefore not "Windows controls the fan" and not "BIOS controls the fan." It is a layered thermal-management system in which firmware, hardware controllers, drivers, and the operating system can share responsibility, with the exact balance determined by the design of the particular computer.