Control your CPU/case fans with Fan Control (Orion 3000 PO3-640 + other models with minimal coding)

Options
r2d2vader
r2d2vader Member Posts: 1 New User

Summary: I've made a Fan Control plugin that allows it to control the CPU and case fans for the PO3-640. You can download or modify it here:

Hey everyone,

As others have found in the past, the popular third-party program Fan Control can't control your CPU or case fans out of the box. I resorted to dragging around the sliders in the Custom tab of PredatorSense for two years, before deciding to dig deeper into this a couple weeks ago. It turns out you can write the fan speed you want to the Embedded Controller (EC) on the motherboard and read the actual speed measurement from it too, provided you know the correct registers. I think this is the way PredatorSense itself works. I identified the correct registers and wrote a quick plugin for Fan Control.

image.png

The GPU fan can already be controlled by Fan Control using Nvidia's API. For those unfamiliar with Fan Control, you can assign a custom fan curve to each fan based on many different temperature sensors, or maths done on the value of those sensors or multiple sensors.

⚠️ Use at your own risk

I'm making this post because I think this plugin may be useful for the other PO3-640 users out there. However, always be careful downloading random software from the internet. Both my plugin and Fan Control use a potentially vulnerable build of an exploitable driver called WinRing0x64, which may be flagged by Windows Defender. You may need to add an exclusion if that happens. It should be noted that PredatorSense comes with the exact same version of the same driver.

Will this work for your PC?

This version of the plugin is only confirmed to work on the Acer Predator Orion 3000 PO3-640. If you have a different model, check out the next section.

This version of the plugin will work best if you have the same fans as I do, or fans that operate in the same RPM range as mine:

  • CPU Fan: Noctua NF-A9, the one that comes with the popular Noctua NH-U9S cooler (rated 400-2000 rpm, tested 500-2000)
  • Front Case Fan: Stock (tested 600-3400 rpm)
  • Back Case Fan: Stock (tested 800-3400 rpm)

Otherwise it will likely run your fans inefficiently / at limited speeds. If you think your fans are significantly different to mine, check out the next section.

If your Predator meets both of the criteria above, you can download my version of the plugin from https://github.com/R2D2VaderBeef/FanControl.Acer-PO3-640/releases/tag/v1.

Adapting this plugin for your PC

I have put together a guide on how to adapt the plugin for your system at https://github.com/R2D2VaderBeef/FanControl.Acer-PO3-640/blob/main/OTHERSYSTEMS.md.

For other models, if the EC addresses are different this plugin could overwrite other random information in the EC (which is probably a bad thing) and fail to control your fans. You can test whether your model is compatible by following the first part of the guide linked above. If it isn't, you can adapt it to be compatible with minimal changes / improvements to my code. The plugin is mostly written in C#, with a little C++ to help connect it to a third party library.

If only your fans are different to mine, the code change required will be minimal and you can skip the first part of the guide, continuing using the results I provided.

If there is enough demand for it, I'll add config file loading so anyone can easily make and load a config for their system. Just let me know!

I'm new to this forum so if a post like this (or any part of this post) isn't allowed, please let me know :)