A hero image for Acer Fan Control (Vibe coded)

Acer Fan Control (Vibe coded)

GitHub

Desktop app for controlling fan speeds on Acer Swift SFG14-73 (and compatible models).
Replaces AcerSense — registers Ctrl+Shift+A as the global hotkey to open the app.

Quick Start

bash
1npm install
2npm start

Double-click start.bat to launch without a terminal.

The app kills AcerSense on startup and takes its hotkey (Ctrl+Shift+A).
Fan control uses WMI — a UAC prompt will appear if not running as Administrator.

Features

  • Quick presets: Auto / Quiet (30%) / Balanced (60%) / Performance (80%) / Turbo (100%)
  • Per-fan sliders: individual CPU, GPU, System fan speed control
  • Live monitoring: CPU temp, load, frequency, RAM usage via AcerSysMonitorService
  • System tray: right-click for quick presets, double-click to open
  • Global hotkey: Ctrl+Shift+A — replaces AcerSense shortcut

How it works

Fan control — WMI AcerGamingFunction

Fan speeds are set via WMI in root\wmi:

MethodgmInput encoding
SetGamingFanBehaviorbyte0=mode (0=auto, 1=manual), byte1=fanIndex
SetGamingFanSpeedbyte0=fanIndex, byte1=speed%

Fan indices: CPU=0, GPU=1, SYS=2. Requires Administrator for write methods.
If not admin, the app launches an elevated PowerShell subprocess (UAC prompt).

Live monitoring — AcerSysMonitorService WebSocket

The AcerSysMonitorService runs on ws://127.0.0.1:46760. Protocol (reverse-engineered
from AcerSense 5.0 .asar):

text
1wire format: 'ACER' + cmdId.padStart(4,'0') + JSON.stringify(payload) + '\n'
2cmdIds: INITIALIZATION=0, GET_MONITOR_DATA=10, SET_DEVICE_DATA=100

Returns CPU temperature, usage, frequency, RAM usage, SYS temperature.
Fan RPM is not available on this model (CPU_FAN_Device=false).

Why not use the monitor service for fan control?

SET_DEVICE_DATA / FAN_CONTROL returns result:'3' (capability not supported)
on the SFG14-73. WMI is the only working path.

Compatibility

Uses ACPI\1025165F (Acer Application Base Software Component) — present on:

  • Acer Swift, Nitro, Predator, Aspire, TravelMate
  • Any model with AcerGamingFunction in root\wmi

Services (Acer background services)

AcerSysMonitorService

| WS :46760 | Sensor monitoring |

AcerService

HTTPS :15152 | Node.js device backend |

ADESv2Svc

| :51779 | Device enabling |