2 ms·
MSI shipped a genuinely good motherboard and forgot to wire one chip, so PWM doesn't work. Instead of tossing the board or living with the noise, I decided to m
by bobsterlobster 6mo ago
MSI shipped a genuinely good motherboard and forgot to wire one chip, so PWM doesn't work. Instead of tossing the board or living with the noise, I decided to make lemonade.
An Arduino Nano generates the 25kHz PWM signal, and a companion Windows application reads CPU temp and sends the duty cycle over serial. The Arduino firmware is open source (MIT).
- gzread 6mo agoWhat if Windows crashes? It's better to attach a thermal sensor to the heatsink, I think.
- johndough 6mo agoJust send a heartbeat every few milliseconds and set fan speed to 100% if it died. Bonus: You get an audible indicator that the system crashed.
- crote 6mo agoWell, what if? We don't live in the AMD Athlon era[0] anymore. Modern CPUs are designed to boost until they hit a thermal limit, improper cooling is just going to result in a lower clock speed. [0]: https://youtu.be/UoXRHexGIok?t=55 https://youtu.be/UoXRHexGIok?t=55
- joe_mamba 6mo agoDamn, that video took me waaay back.
- bobsterlobster 6mo agoWhat a blast from the past. I still remember seeing it for the first time on my Socket A Athlon 1900+ pc.
- bobsterlobster 6mo agoIf windows crashes, then the audio generation crashes, so the fan will start to operate without PWM. Should default to 100%. At least that's how the PWM fans I have behave when the PWM signal suddenly disappears.
- haktan 6mo agoCould you use an audio out port for creating the signal and ditch the Arduino?
- magicalhippo 6mo agoThat might work for the PWM signal, however you'd still need some electronics as the fan has internal pull-up to 5V and expects it to be pulled low by the PWM signal. But a small circuit with a Schmitt-trigger inverter IC and some resistors and capacitors might do the trick, for example.
- bobsterlobster 6mo agoInteresting idea, I'll look into it.