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
1npm install2npm 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:
| Method | gmInput encoding |
|---|---|
SetGamingFanBehavior | byte0=mode (0=auto, 1=manual), byte1=fanIndex |
SetGamingFanSpeed | byte0=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):
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
AcerGamingFunctioninroot\wmi
Services (Acer background services)
AcerSysMonitorService
| WS :46760 | Sensor monitoring |
AcerService
HTTPS :15152 | Node.js device backend |
ADESv2Svc
| :51779 | Device enabling |