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).
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).