Fan mod update
A simple drop-in replacement with just about any 40mm 12V fan (thickness 28mm or less) is possible as long as you short the fan failure detection wire to ground. I ordered a bundle of 4-pin PicoBlade extension cables from aliexpress (
https://www.aliexpress.com/item/32803458861.html ) and made a small breadboard adapter for any 3- or 4-pin 12V fan to run at full speed. I want to have it be adjusted based on the server's PWM output, however, which leads to my next project...
Stock PWM control translation circuit
So far on a breadboard, using one 555 timer IC I create a 25 kHz square wave with a duty cycle right around 50%. (This will dictate the minimum output PWM duty cycle.) The square wave 555 output is then used as the input trigger of a second 555 timer IC used for the fan PWM output. For this second 555 timer I use the server's PWM output via a kind of low-pass filter as input for the control voltage, which allows adjusting the final output duty cycle based on the fan speed the server is requesting.
By tuning the various resistors and capacitors, it's possible to achieve an output PWM in a different range, e.g. 50-100% duty cycle instead of the default 12-80% (the server's output is also inverted). My initial tests have given me roughly 60% minimum duty cycle, and a ramp up to 100% slightly earlier than when the server's PWM hits its max at 80%. With a fan like the Noctua NF-A4x20 PWM I want to be able to reach 100%; it's quiet enough at full speed, and the cooling it can provide at 80% is not quite good enough at full load for comfort.
Result is great with a Noctua NF-A4x20 PWM, as long as I add an airflow guide between the fan and the tiny CPU heatsink. I used some Kapton (polyimide) tape between the heatsink and the fan where possible to funnel as much air as possible directly through the fins.
I do not have any HDDs installed, only two Samsung SM863 SSDs. With HDDs a Noctua fan will perhaps not provide sufficient cooling.