Arduino Fan Controller?
Back in 2012 Corsair started making PC parts that featured LINK, that connected to your internal USB header and let you monitor and configure everything. I went all in; PSU, water cooler, fan controller, all corsair and all viewable from their link software.
It did okay, but had a few limitations and a bit of jank. Setting a fan to percentage of duty would mean fans would fluctuate speed widely, and the minimum allowable speed was still quite high at 800 RPM for some fan outputs. Making the radiator fans react to the difference in water temperature to ambient was just too complicated for it.
Now however, Corsair link is dead, replaced with their iCUE software. I’ve heard it is rubbish, and indeed it doesn’t support my link fan controller, in turn not showing my PSU either.
So as I browsed $100+ replacement fan controllers that didn’t even use PWM control, I wondered if one of my arduino unos laying around could perform the function. That way I could program whatever complex behaviour I wanted, and add any bells and whistles I desired.
The answer turns out to be yes, with some limitations as you would guess. So the features I planned for the project;
- Control 5 fans in two groups; 3 case and 2 radiator
- Use the existing corsair temperature sensors I had to manage fan speeds
- Connect to the PSU to find out power status of the whole system
- A display to show temperatures and power stats
I’m going to tackle each part in separate blog posts.