When your GPU fan goes rogue with an unholy screech, you either shell out for a new one or you go full hacker mode. Well, [ashafq] did the latter. The result is a delightfully nerdy fan controller powered by an ATTiny85 and governed by a DS18B20 temperature sensor. We all know a silent workstation is golden, and there’s no fun in throwing money at an off-the-shelf solution. [ashafq]’s custom build transforms a whiny Radeon RX 550 into a cool, quiet operator. Best of all: it’s built from bits likely already in your junk drawer.
To challenge himself a bit, [ashafq] rolled his own temperature-triggered PWM logic using 1-wire protocol on an ATtiny85, all without libraries or bloated firmware. The fan’s speed only ramps up when the GPU gets toasty, just like it should. It’s efficient and clever, and that makes it a fine hack. The entire system runs off a scavenged 12V fan. He could have used a 3D printer, but decided to stick onto the card with double-sided tape. McGyver would approve.
The results don’t lie: idle temps at 40 °C, load peaking at 60 °C. Quieter than stock, smarter than stock, and way cheaper too. The double-sided tape may not last, but that leaves room for improvement. In case you want to start on it yourself, read the full write-up and feel inspired to build your own. Hackaday.io is ready for the documentation of your take on it.
Modifying fans is a tradition around here. Does it always take a processor? Nope.
When external temp. probe indicates 60°C, silicon is probably already running at about 90°C, greatly accelerating damage due to electromigration. I run my PC fans at 100% all the time because it’s cheaper to replace a $5 fan than $500 CPU or $2500 GPU. Noise is also not a problem because I can just play music louder than fans.
He doesn’t actually state where the temperature measurements are being taken from, but reading it does imply that the 40-60ºC is coming from internal sensors. The graphics card was running 80ºC before starting the project, and 35-40ºC with just a fan on full blast.
From the PCB, it is clearly that the DS18B20 (U2) is mounted on the PCB instead of mount on heatsink or GPU, so what is measured is the ambient temperature instead of the actual temperature on the surface of the GPU. Personally I would cut a strip of a coke can and use it to make a holder and screw it together with the DS18B20 on the surface of the heatsink or something to get a more accurate temperature.