Controller Fan Fix

Wiring the controller fan to run all the time.

For reasons that are slightly mystifying (because the fix is so simple in the first place when the board was being designed), the stock Ender 3/Melzi-2 controller board inexplicably connects the extruder fan and the controller box fan to the same MOSFET driver (through two separate connectors).

There is a single n-channel MOSFET driver that normally drives both the controller box fan and the extruder fan (in parallel). The positive side of both fans is connected to the +24 VDC supply; the MOSFET DRAIN pin then connects the negative side of the fans to GND when the firmware drives the GATE pin high. Since both fans are in parallel, the controller box fan runs only when the extruder fan runs. (IMO, this is an idea which is probably better on paper than in real-life.)

What should have been done is that the controller box fan negative side should have been connected to GND to ensure that it runs all the time. This is an arguably simpler and more robust design. (And, the amount of power saved by turning off the fan is so small, compared to the bed and extruder heaters, that if this was the reason for the design, then it was clearly overthought. Moreover, the capacity of the MOSFET chosen for this use is probably an order of magnitude too-large.)

The fix, however, is very simple:

  • Reverse the use of the two connectors: the connector which drives the controller box fan will be reused to drive the extruder, and vice-versa. [This is done to make isolating one connector easier. Since both connectors are in parallel anyway, it really doesn't matter which is used for either fan.]
  • Isolate the negative side of the (now) controller box fan connector and short it to GND.

This leaves the (now) extruder fan connector still connected to the DRAIN pin of the MOSFET so extruder cooling is unaffected.The controller box fan is connected directly across the +24 VDC power and GND rails, so it now runs all the time.

[I've made this fix on a pair of Ender 3 controller boards and they both work perfectly.]

The photos below detail the process.


Cut traceBegin by cutting the GND trace as shown; this isolates the GATE pin of the MOSFET driver from the negative connector pin. (This pin will be used to connect the controller box fan to GND.)

Then, solder a small wire to the connector pin (GND) as shown. (It's very low current, so ~22 gauge wire is more than enough.)

Note that the other pin is +24 VDC; ensure that you leave it unchanged.


connect to +24 VDCThe other end of the wire in the first photo is then connected to a portion of the GND plane by means of an unused, plated hole.

Of course, there are many other exposed GND plane locations which could have been used. I simply chose this one since it is close to the incoming power connector and had a plated-thru hole.

complete jumperYour completed jumper should look like this.


move extruder fanNote that the extruder fan connector (the YL and BL wires) now uses the connector (marked FAN) on the back row instead.


connect controller fanThe controller box fan (the RD and BK wires) now uses the separate connector (marked FAN1) as shown.

That's all there is to it!