Note: if you want true fully automatic variable fan speed control on your Creator Pro (or similar), you should probably look at this instead. (The description below was of course written earlier.)
Being able to regulate the speed of the cooling fan, allows to fine-tune print quality. Some filaments like flexible PLA need all the cooling they can get, while filaments like ABS will warp and delaminate if they are cooled too aggressively. If you plan to use my highly optimized single-extruder cooling duct, having a way to control the fan speed is simply essential.
Unfortunately the FlashForge Creator pro lacks a fan speed controller, because the fan is hooked up to the EXTRA output of the mainboard, which can only be toggled, it has no PWM capabilities. It is possible to create and install a custom build of Sailfish that emulates PWM, but this can only be configured manually before starting a print, and it does not react to commands in the G-code or X3G file.
There is a simple way to obtain fan speed control after all: insert a manual PWM controller in between the EXTRA output and the fan. This requires only minimal changes to the printer and allows to instantly change the speed at any moment. You need a PWM controller that works at 24V DC, anything will do if it switches not significantly faster than 1 kHz.
I bought a cheapo PWM controller on AliExpress that accepts between 12 and 36 V, and designed a bracket to mount one inside the printer, as well as a box to mount the potentiometer. This particular board is 55x35 mm, which is easy to mount inside the enclosure. You may need to redesign the mounting bracket depending on your particular controller board, but the potentiometer housing should be usable for most models.
I used ø2.2 mm 6.5 mm self-tapping screws to mount the PCB to the bracket (which is simply glued into the printer), and ø2.9 mm 9 mm screws to mount the potentiometer.
I did have to change the timing capacitor on my particular PWM board, because it switched at 30kHz, which is way too fast for the fan. I tuned the frequency down to only 200 Hz, which works perfectly. Any frequency below 2kHz is probably OK.
Beware! If you try a hack like this, make sure not to short-circuit any of the outputs while the printer is powered on. Double-check your wiring before turning on the printer again.
If you create a short-circuit at the EXTRA output, you will blow up the MOSFET that drives it. This happened in my case due to sloppy wiring while testing the PWM, causing the transistor to become shorted into a permanent ‘on’ state. Luckily I have experience in soldering SMD components, and I managed to replace the MOSFET. This however is not something you want to attempt if you have only soldered a few old-fashioned through-hole components.
Also, avoid static discharges. Do not come near the electronics of your printer before having touched a metal object that is grounded. Damage caused by a static discharge is often impossible to repair without outright replacing the whole board.