Fan Control plugin for the Sixunited AXB35 motherboard. Provides temperature monitoring, fan RPM sensing, and fan speed control for mini PCs with an ITE IT5570 EC using the AXB35 firmware layout.
⚠️ Warning This plugin communicates directly with the embedded controller (EC) via reverse-engineered registers. Compatibility is not guaranteed across all firmware versions. Setting a fan to manual mode overrides the EC’s automatic thermal management for that fan. Level 0 stops the fan completely.Use at your own risk. The author accepts no responsibility for any damage to hardware, data loss, system instability, or other issues that may arise from using this software. This software is provided “as is”, without warranty of any kind.
- Features
- Installation
- Basic configuration
- Tested Hardware
- Troubleshooting
- Build (for developers)
- How It Works
- Credits
- License
- CPU Temp — temperature sensor (°C)
- 3x Fan RPM — CPU Fan 1, CPU Fan 2, System Fan
- 3x Fan Control — fan controls paired with the RPM sensors, 6 discrete levels (0/20/40/60/80/100%)
- If you don’t already have it, install Fan Control V271 or later.
- Download the latest
FanControl.AXB35.dllfrom the Releases page. - Either:
- Copy the DLL into Fan Control’s
Pluginsfolder
(usuallyC:\Program Files\FanControl\Pluginsor next toFanControl.exe), or - In the Fan Control app, go to Settings → Plugins → Install plugin and select the downloaded DLL.
- Copy the DLL into Fan Control’s
- Restart Fan Control.
- The new sensors and controls should appear under the Sixunited_AXB35 group.
After installation you should see something similar to this:
- Pair the speed sensors by clicking the Pair speed sensor buttons. The manual pairing method is recommended — it’s straightforward and faster.
- Calibrate the fans by clicking the Calibration buttons. Manual calibration is recommended because the EC only supports 6 discrete speed levels (0, 20, 40, 60, 80, 100 %). Enter these values in the manual calibration window and always wait 2–3 seconds for the fan to reach the requested speed.
After pairing and calibration the controls should look similar to this:
- Create fan curves that use the AXB35 temperature sensor (or a custom mix) to control the fans. You can also create custom sensors if needed. An example setup looks like this:
| Device | Status | EC Firmware | Notes |
|---|---|---|---|
| Bosgame M5 | ✅ Confirmed working | 1.08 | Sixunited AXB35 |
| GMKtec EVO-X2 (V21 & V22) | ⬜ Untested, may work | — | Same AXB35 board |
| FEVM FA-EX9 (V22 & V30) | ⬜ Untested, may work | — | Same AXB35 board |
| NIMO AI MiniPC | ⬜ Untested, may work | — | Same AXB35 board |
The EC firmware version is printed in Fan Control’s log (log.txt) when the plugin starts.
- Duplicate sensors appear
The plugin DLL is present twice in Fan Control’sPluginsfolder. Remove the extra copy and restart Fan Control.
git clone https://github.com/pajtony/FanControl.AXB35.git
cd FanControl.AXB35
# Create lib folder and copy reference DLLs from your Fan Control installation
mkdir lib
copy "C:\Program Files\FanControl\FanControl.Plugins.dll" lib\
copy "C:\Program Files\FanControl\LibreHardwareMonitorLib.dll" lib\
dotnet build -c ReleaseRequires .NET 8 SDK.
The plugin communicates with the IT5570 EC via the ACPI EC interface (ports 0x62/0x66) using the PawnIO driver built into LibreHardwareMonitorLib. The EC firmware on these systems exposes fan control as 6 discrete levels through registers 0x21-0x26. Fan Control's 0-100% is mapped to the nearest level.
| Register | Function |
|---|---|
0x35/0x36 |
Fan 1 RPM |
0x37/0x38 |
Fan 2 RPM |
0x28/0x29 |
Fan 3 RPM |
0x21/0x23/0x25 |
Fan mode (auto/manual) |
0x22/0x24/0x26 |
Fan level (0-5) |
0x70 |
CPU temperature |
- Register map from cmetz/ec-su_axb35-linux
- Port I/O via LibreHardwareMonitor's PawnIO driver
MIT




