Jump to content
Corsair Community

Feature Request: Virtual Sensors


Recommended Posts

Some usage scenarios:

  1. I want to control fan speeds on the difference between ambient temperature and component temperature. I need to designate one temperature sensor as ambient and have its reading subtracted from the other sensors before those are used to control the fan speed curve. This would stop the fans racing pointlessly on a hot day when the component is already only a little above ambient.
  2. I want to control a fan or a pump on the highest of a number of temperature sensors. For example, with a single water loop running through GPU and CPU blocks, the pump should be controlled by whichever is hotter.
  3. For display simplification purposes, I want to be able to combine several temperature sensors to drive a single graph. For example I have four RAM modules which I would like to combine into 'RAM Temperature'. In some cases the mean value would be appropriate, in some the highest value.
  4. To reduce audible ramping up and down of fans, there should be a variable damping time that applies to slowing the fan down (i.e. it would ramp up immediately as the temperature increases, but would only ramp down slowly as the temperature decreases).

The above and more could be abstracted into the concept of 'virtual sensors'. These would be user-defined sensors which would be a specified mathematical function of one or more physical sensors. Once defined by the user these could be used wherever a physical sensor would be used at present (fan or pump control, graph on the Dashboard etc.

Link to comment
Share on other sites

iCue fan control is pretty lame, Aquasuite can do all of this and more. You can perform a bunch of different mathematical functions on multiple sensor data including  sum, difference, average, min, and max. I have it set up to compare 2 rad temp sensors and pass the higher value. I have another temp sensor measuring ambient temp. My fans are controlled by the difference between the highest rad temp and ambient. I also added a fan aimed at my GPU. This fan is controlled by the delta between GPU temp and ambient temp. If my pump speed goes below a trigger value, Aquasuite will shut down my PC. All of this works great.

Aquasuite also has very powerful RGB control, and unlike Corsair, they provide adapters to allow control of 3rd party RGB devices, or control of their RGB devices by other RGB controllers. AFAIK, iCue cannot do any of the things you have described. Aquasuite can do at least the first 3. Not sure about #4. Their hardware controllers are on a whole other level compared to Corsair's. Maybe its time to step up. You won't regret it.

Link to comment
Share on other sites

for your point 2, it wouldn't make any difference accelerating fans when a component starts getting hot. the fans cool the water, not the component itself. you'll mostly be governed by the temp difference between water and ambient. if your GPU starts a heavy load and starts heating up, but your water is still only 2° above ambient, you can spin your fans to max speed, it won't dissipate anything.

In this case, a virtual sensor doing water temp - ambient temp will work way better. the higher the delta between your radiator temp and the ambient temperature, the more efficient the transfer will be, and that's when your fans make a lot of difference.

high delta T : high speed.

low delta T : low speed.

Besides that, as Speedy said, if you want to really dive into thermal control and do all sorts of mathematical functions, combine sensors to drive fans and pumps, there's only Aquasuite.

There's a ton of mathematical functions you can use with sensor values, basic operations, low pass and averages to smooth down values (for fan response time for example), logic gates, triggers, delays, even various signal generators you can control based on sensor or virtual sensor values if you want to use that to make fancy RGB control based on sensor values.

It's a mad scientist playground.


For #4 i can't find any function that will work as a one way dampener (fast up, slow down). but you can make something close with a bit of fiddling around.

AS sensor.png

Fan curve controlled by the virtual sensor output.

It takes the temperature and the (pink) low pass filter averages it over X seconds to smooth the fan response.

the yellow comparator outputs 1 if the real time sensor value is greater than the averaged one.

That output is sent to a switch that will feed the hottest value to the virtual sensor. (fans ramp up immediately under load).

By tweaking the low pass filter delay you can achieve something close to what you wanted.


On the other hand, iCUE allows for fan curves based on one temperature..


So yea, virtual sensors would be a great addition to iCue. And since it's just mathematical operations, it should be relatively easy to code too.

People staying on hardware fan curves (quiet, balanced, extreme) won't even bother, but those who want to fine tune would have it at hand.

Edited by LeDoyen
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...