Would like to share my current project, a fan controller for my GWinstek GPD-4303S. It's a nice power supply, 4 outputs on a small footprint. It has a 80mm fan with temparature dependend speed, but the idle speed is still noisy. I'm using this PSU mostly for low currents so it rarely get's hot. I have the service manual and the factory solution is a 80mm fan with build in speed regulator, connected to two 10K thermistors in parallel next to the heatsinks. The power for the fan is tapped from an auxiliary powerstage. I measured 7.5V DC on this power line. The original fan is a 12V model so it's never going to run on full speed.
The new fan is a Noctua NF A8 5V PWM. I have choosen the 5V model so I can use the full range for this fan, that's from 450 RPM to 2200 RPM. I made a controller using an Atmel ATtiny85 microcontroller, it has a piezo buzzer that gives an alarm when the fan is not rotating and when the connection to the thermistors is lost. It also goes into full speed when the thermistors are disconnected. It keeps the fan idle at ~500 RPM and ramps it up when the heatsinks get warm, using the original thermistors.
The prototype is running now and the PSU is very quit now, you can not hear it when it's cold. I designed a PCB for it and that is being produced at the moment, hoping to receive them in two weeks. The PCB will be mounted on two M3 holes on the heatsink with nylon spacers.
Will post an update when the PCB is ready and mounted in the PSU. Made some pictures :
https://photos.app.goo.gl/PwR7xQRYDCEqW4uR6If you have any questions or want more details please ask.