3/30/2026 at 9:30:04 PM
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).
by bobsterlobster
4/2/2026 at 10:17:26 AM
Could you use an audio out port for creating the signal and ditch the Arduino?by haktan
4/2/2026 at 10:54:10 AM
That 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.
by magicalhippo
4/2/2026 at 8:34:05 AM
What if Windows crashes? It's better to attach a thermal sensor to the heatsink, I think.by gzread
4/2/2026 at 9:08:45 AM
Just 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.by johndough