<p>The MKS GEN L v1.0 is a board that according to the information found on the <a href="https://www.aliexpress.com/item/controller-PCB-board-MKS-Gen-L-V1-0-integrated-mainboard-compatible-Ramps1-4-Mega2560-R3-support/32802151924.html" rel="nofollow noreferrer">web</a> operates to run on a voltage between 12 - 24 V, this means that all peripherals on the board should match this voltage. A 5 V fan should therefore not be connected.</p>
<p><strong>First</strong>, you need to establish that you are using the correct fan port on the board.</p>
<h2>Which port to use?</h2>
<p>If you take a closer look at the board layout you will find that the top fan connector cannot be controlled, it is a fixed voltage power supply of 12 - 24 V (so basically depending on the power that is supplied to the board).</p>
<p>This can be seen from the board layout:
<a href="https://i.sstatic.net/oYqYr.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/oYqYr.jpg" alt="MKS GEN L V1.0 board schematics" /></a></p>
<p>Or zoomed in on the top left corner:
<a href="https://i.sstatic.net/Jak41.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/Jak41.jpg" alt="MKS GEN L V1.0 board schematics top left corner zoomed in" /></a></p>
<p>Note that no pin number is given, this means that it is a constant power supply fan header. A 5 V fan attaching to this port does not seem to be a good solution, it can easily burn out the fan electronics. This fan should match the voltage of the power supply you use, so when powered by a 12 V power supply, attach a 12 V fan or a 24 V fan when the board is powered by 24 V.</p>
<p>As said, this fan port is not controlled by PWM and can therefore not be scheduled from within your slicer, however, it makes an excellent fan for cooling the cold end of the nozzle assembly.</p>
<p>To schedule a fan for print part cooling through the slicer you need to attach the fan to the other fan header below the X stepper driver on the left, if you look closely to the schematics, you see that that is a fan that can be scheduled using the digital pin <code>D9</code>.</p>
<p><a href="https://i.sstatic.net/vYEH8.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/vYEH8.jpg" alt="Print cooling fan header of MKS GEN L V1.0 board" /></a></p>
<p>Note that this fan also operates at the voltage specified by your power supply; a 5 V fan <em><strong>should not</strong></em> be connected to this port either!</p>
<p>The <em>solution to your problem</em> is to <em>buy a fan of the correct voltage and connect it to the correct fan header</em>.</p>
<p>As you have tried connecting a fan to the lower fan port, and conclude that the fan has never rotated but still rotates when supplied with a correct voltage, you need to ask yourself if this port is:</p>
<ul>
<li>configured correctly in the firmware, or</li>
<li>not broken.</li>
</ul>
<p>Now that you know where to connect the fan for print part cooling, connect a fan that matches the power supply voltage.</p>
<h2>Why is the fan not working?</h2>
<p>The microprocessor of the board schedules and reads various ports or pins based on the firmware it runs. This implies that the setup of the firmware is very important in the use of certain ports. It is therefore important to research if this port:</p>
<ul>
<li>was meant to be used by the printer manufacturer (so enabled in the firmware)</li>
<li>or board is controlled by which firmware</li>
</ul>
<p>Once you establish that it is enabled (e.g. the manufacturer describes that the printer has a print part cooling fan), you should try printing a part where you enable the print fan in the slicer software. If not, you need to change the firmware configuration to enable the fan. If this does not work, you should address your attention to why it is not working. A multimeter can be used to read the voltage of the fan MOSFET output or the D9 output. If either one of those doesn't record a voltage, your board or MOSFET are probably broken. To fix this, you could solder an unused pin to the fan MOSFET or a new MOSFET and change the firmware. Another option is to buy a new board and flash a new configuration of a printer firmware onto it.</p>

CC BY-SA 4.0
2019-01-29T15:18:12.857Z
Sorry, my explanations were probably not very clear. I was indeed using the D9 pin. And before plugging in the fan, I checked whether or not I could get a voltage, which I didn't... I thought that maybe, there were a load verification on the startup phase.
The 5V fan still function properly, which means I most probably never got any voltage on the D9 pin...
Emile D.
CC BY-SA 4.0
2019-01-29T15:26:11.930Z
As the D9 is connected to the MOSFET, it schedules the voltage of the power supply unit (12 - 24 V), if the fan still works, it did not receive a voltage over 5 V (or it has some protection for overvolting, but I don't know if that is done on such fans, most probably not).
0scar
CC BY-SA 4.0
2019-01-29T20:55:09.443Z
I also guess that it didn't receive the voltage. And it would be consistent to my multi-meter prior measures. But how could that be?
Emile D.
CC BY-SA 4.0
2019-01-29T23:12:07.753Z
@EmileD. Have you correctly configured the firmware configuration? Maybe you could add your configuration.h (as a link).
0scar
CC BY-SA 4.0
2019-01-29T23:47:59.673Z
That was the thing then... I didn't update the firmware and I don't know how to do it. Is there some kind of tutorial I could follow for that? I guess it some kind of Arduino flashing I should use? And since I don't think I received any configuration.h with my printer, how to start without soft-braking anything?
Emile D.
CC BY-SA 4.0
2019-01-30T06:55:08.593Z
@EmileD. I'll update the answer to include this option so that you can accept. Note that questions in comments cannot be answered, but how to install a firmware is already covered by questions.
0scar
CC BY-SA 4.0
2019-01-29T07:32:21.173Z
2019-01-30T08:20:03.570Z
2020-06-18T08:29:41.667Z
0scar
<p>I wanted to add a cooling fan to my Prusa i3. The board used by this printer is an MKS GEN L v1.0, such as this one:</p>

<p><a href="https://i.sstatic.net/MK0Z8.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/MK0Z8.png" alt="MKS GEN L V1.0 board overview"></a></p>

<p>The cooling fan plug seems to be the white one on the top left corner, just below the step motor drivers. I plug a working 5&nbsp;V DC fan, but it is not rotating. What could be the cause? The cooling fan has been enabled permanently using Slic3r to generate the G-code I am printing.</p>

<p>The board is powered by a 12&nbsp;V power supply.</p>

<p>Are there some modifications to do on the embedded software side?</p>

CC BY-SA 4.0
2019-01-30T06:56:46.583Z
Please update the question by [edit] and add printer "make and model", which firmware you use, if you uploaded/configured the firmware yourself. Thanks!
0scar
<prusa-i3><print-fan>
Prusa i3 improvement - cooling fan
Emile D.
# Prusa i3 improvement - cooling fan

(Asked by: username_0 on 2019-01-29)

I wanted to add a cooling fan to my Prusa i3. The board used by this printer is an MKS GEN L v1.0, such as this one:

[![MKS GEN L V1.0 board overview](https://i.sstatic.net/MK0Z8.png)](https://i.sstatic.net/MK0Z8.png)

The cooling fan plug seems to be the white one on the top left corner, just below the step motor drivers. I plug a working 5 V DC fan, but it is not rotating. What could be the cause? The cooling fan has been enabled permanently using Slic3r to generate the G-code I am printing.

The board is powered by a 12 V power supply.

Are there some modifications to do on the embedded software side?

**Tags:** prusa-i3, print-fan
> **Comments:**
> **username_1**: Please update the question by [edit] and add printer "make and model", which firmware you use, if you uploaded/configured the firmware yourself. Thanks!  

---

## 1 answers

### Answer by username_1 on 2019-01-29. Score: 3

The MKS GEN L v1.0 is a board that according to the information found on the [web](https://www.aliexpress.com/item/controller-PCB-board-MKS-Gen-L-V1-0-integrated-mainboard-compatible-Ramps1-4-Mega2560-R3-support/32802151924.html) operates to run on a voltage between 12 - 24 V, this means that all peripherals on the board should match this voltage. A 5 V fan should therefore not be connected.

**First**, you need to establish that you are using the correct fan port on the board.

## Which port to use?

If you take a closer look at the board layout you will find that the top fan connector cannot be controlled, it is a fixed voltage power supply of 12 - 24 V (so basically depending on the power that is supplied to the board).

This can be seen from the board layout:
[![MKS GEN L V1.0 board schematics](https://i.sstatic.net/oYqYr.jpg)](https://i.sstatic.net/oYqYr.jpg)

Or zoomed in on the top left corner:
[![MKS GEN L V1.0 board schematics top left corner zoomed in](https://i.sstatic.net/Jak41.jpg)](https://i.sstatic.net/Jak41.jpg)

Note that no pin number is given, this means that it is a constant power supply fan header. A 5 V fan attaching to this port does not seem to be a good solution, it can easily burn out the fan electronics. This fan should match the voltage of the power supply you use, so when powered by a 12 V power supply, attach a 12 V fan or a 24 V fan when the board is powered by 24 V.

As said, this fan port is not controlled by PWM and can therefore not be scheduled from within your slicer, however, it makes an excellent fan for cooling the cold end of the nozzle assembly.

To schedule a fan for print part cooling through the slicer you need to attach the fan to the other fan header below the X stepper driver on the left, if you look closely to the schematics, you see that that is a fan that can be scheduled using the digital pin `D9`.

[![Print cooling fan header of MKS GEN L V1.0 board](https://i.sstatic.net/vYEH8.jpg)](https://i.sstatic.net/vYEH8.jpg)

Note that this fan also operates at the voltage specified by your power supply; a 5 V fan ***should not*** be connected to this port either!

The *solution to your problem* is to *buy a fan of the correct voltage and connect it to the correct fan header*.

As you have tried connecting a fan to the lower fan port, and conclude that the fan has never rotated but still rotates when supplied with a correct voltage, you need to ask yourself if this port is:

* configured correctly in the firmware, or
* not broken.

Now that you know where to connect the fan for print part cooling, connect a fan that matches the power supply voltage.

## Why is the fan not working?

The microprocessor of the board schedules and reads various ports or pins based on the firmware it runs. This implies that the setup of the firmware is very important in the use of certain ports. It is therefore important to research if this port:

* was meant to be used by the printer manufacturer (so enabled in the firmware)
* or board is controlled by which firmware

Once you establish that it is enabled (e.g. the manufacturer describes that the printer has a print part cooling fan), you should try printing a part where you enable the print fan in the slicer software. If not, you need to change the firmware configuration to enable the fan. If this does not work, you should address your attention to why it is not working. A multimeter can be used to read the voltage of the fan MOSFET output or the D9 output. If either one of those doesn't record a voltage, your board or MOSFET are probably broken. To fix this, you could solder an unused pin to the fan MOSFET or a new MOSFET and change the firmware. Another option is to buy a new board and flash a new configuration of a printer firmware onto it.

> **Comments:**
> **username_0**: Sorry, my explanations were probably not very clear. I was indeed using the D9 pin. And before plugging in the fan, I checked whether or not I could get a voltage, which I didn't... I thought that maybe, there were a load verification on the startup phase. The 5V fan still function properly, which means I most probably never got any voltage on the D9 pin...  
> **username_1**: As the D9 is connected to the MOSFET, it schedules the voltage of the power supply unit (12 - 24 V), if the fan still works, it did not receive a voltage over 5 V (or it has some protection for overvolting, but I don't know if that is done on such fans, most probably not).  
> **username_0**: I also guess that it didn't receive the voltage. And it would be consistent to my multi-meter prior measures. But how could that be?  
> **username_1**: @EmileD. Have you correctly configured the firmware configuration? Maybe you could add your configuration.h (as a link).  
> **username_0**: That was the thing then... I didn't update the firmware and I don't know how to do it. Is there some kind of tutorial I could follow for that? I guess it some kind of Arduino flashing I should use? And since I don't think I received any configuration.h with my printer, how to start without soft-braking anything?  
> **username_1**: @EmileD. I'll update the answer to include this option so that you can accept. Note that questions in comments cannot be answered, but how to install a firmware is already covered by questions.  

---

