<p><strong>Yes you can</strong> use another fan port, this requires some editing of the configuration files of the firmware and reflash the firmware.</p>

<p>If you look at the <a href="https://www.thingiverse.com/download:4012609" rel="nofollow noreferrer">documentation</a> of the board and an overview of the board layout, you will see that there are 3 PWM controlled FAN ports. The answer is therefore yes, you can use another port (e.g. FAN1 or FAN2) to be used for your broken FAN0 port. The most easy solution is to swap the port numbers in the pins configuration of your firmware, so swap pins 'D9' and 'D7'.</p>

<p><a href="https://i.sstatic.net/N4s1M.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/N4s1M.png" alt="Trigorilla printer board pin layout"></a></p>

<p>How you edit the configuration is depending on the version of the TriGorilla board you have, there is a version 1.3 and a version 1.4.</p>

<p>Basically you need to define the software FAN (0) to be reached at the hardware location Fan1 using pin 7:</p>

<pre><code>#define FAN_PIN        7
</code></pre>

<p>Subsequently, FAN1 in software needs to points to Fan0 in hardware</p>

<pre><code>#define FAN1_PIN        9
</code></pre>

<p>If you changed this, the software will think that the Fan1 port on the board is the software FAN. </p>

<p><strong><em>If you are using the v1.4 TriGorilla printer board</em></strong>, the v1,4 specific pin definition is found in <a href="https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/pins_TRIGORILLA_14.h" rel="nofollow noreferrer">pins_TRIGORILLA_14.h</a>. If you look into this file you will see that this is basically a RAMPS board:</p>

<pre><code>#define IS_RAMPS_EFB
...
#include "pins_RAMPS.h"
</code></pre>

<p>So editing for you need to redirect the pins 7 and 9, but you only have a single active fan (as per <code>#define IS_RAMPS_EFB</code>)! Luckily we can forget about the second fan as you want to replace the first by the second.</p>

<p>In <a href="https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/pins_RAMPS.h" rel="nofollow noreferrer">pins_RAMPS.h</a> you will find:</p>

<pre><code>#ifndef RAMPS_D9_PIN
  #define RAMPS_D9_PIN      9
#endif
</code></pre>

<p>Note that it is wise not to edit this latter file, instead edit your copy of <a href="https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/pins_TRIGORILLA_14.h" rel="nofollow noreferrer">pins_TRIGORILLA_14.h</a> to include assigning of the pin 7 to the Fan1  header as FAN in the firmware.</p>

<p>If you look closely at the assigning of the <code>RAMPS_D9_PIN</code> pin, it says: <code>#ifndef</code>; so if it has been assigned previously, do not override the value.</p>

<p>Now edit the <a href="https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/pins_TRIGORILLA_14.h" rel="nofollow noreferrer">pins_TRIGORILLA_14.h</a> file to include:</p>

<pre><code>// Comment out this line:
//#define FAN_PIN 9
// And enter this beneath that line
#define RAMPS_D9_PIN 7
</code></pre>

<p>or</p>

<pre><code>#define FAN_PIN 7
// this bypasses setting of the RAMPS_D9_PIN constant
</code></pre>

<p>From this point on, if the software addresses scheduling of the FAN port, the pin 7 schedules the MOSFET attached to the Fan1 header.</p>

<hr>

<p>Basically, the above procedure describes how one directs hardware ports by changing the addressing in the firmware configuration.</p>

<p><strong><em>If this does not work, there might be more things broken on your board.</em></strong></p>

CC BY-SA 4.0
2018-12-19T23:01:01.320Z
I'm 90% sure that I have 1.4 version. I edit script like you show me. Unfortunately nothings changed.
In script there is "#include "pins_RAMPS.h" 
Should I change there pins as well?
JAKE
CC BY-SA 4.0
2018-12-20T08:16:04.207Z
@JAKE you need to take care where you put it else it is overridden, several pins.h files are read subsequently. It should work, I have done this several times. I've updated the answer for you, this works for me.
0scar
CC BY-SA 4.0
2018-12-20T09:54:07.290Z
Is it possible that even if i modify Fan0 to Fan1 and other way around, it will still use MOSFET from Fan0 which I have problem with?
I did exactly how you said above. 
#define FAN_PIN 7
#define FAN1_PIN 9
JAKE
CC BY-SA 4.0
2018-12-20T10:00:30.023Z
Pin 9 is physically attached to the gain of the MOSFET of Fan0, pin 7 physically attached to the gain of the MOSFET of Fan1 (if the documentation is right!). So if it is swapped in the firmware you should not be using the Fan0 header anymore. Strange that it does not work for you, maybe there are more things broken on your board.
0scar
CC BY-SA 4.0
2018-12-20T10:19:38.703Z
You might be right :(
JAKE
CC BY-SA 4.0
2018-12-21T08:10:24.210Z
It's now shut down after finish print, so it's half success, thank you for your help @0scar
JAKE
CC BY-SA 4.0
2021-08-06T06:59:52.203Z
I just swapped the two pins on my printer and got an error when using RAMPS_D9_PIN and an error when setting FAN_PIN. I managed to get it to work by setting FAN_PIN to 7 and changing CONTROLLER_FAN_PIN to 9 otherwise
J.Clarke
CC BY-SA 4.0
2018-12-17T10:28:30.540Z
2018-12-20T11:26:15.853Z
2018-12-20T11:26:15.853Z
0scar
<p>I plugged a new fan into the (TriGorilla v1.4) printer board Fan0 which I found out to be broken. </p>

<p>I'm trying to upgrade the part cooling fan for a bigger one. Unfortunately after plugging in the old one, I realize that the fan is constantly "ON". On other forum someone told me that MOSFET might be shorted from plugging in the broken fan. </p>

<p>This triggered my question: "Is there any possible way to change the firmware FAN0 to use FAN1 socket?" and: "Would that work for part cooling model fan?"</p>

<p><a href="https://i.sstatic.net/bMQf2.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/bMQf2.jpg" alt="Motherboard"></a></p>

CC BY-SA 4.0
2018-12-17T10:19:21.753Z
Hi JAKE and welcome to 3D Printing.SE! This question has similarities to [Controlling more fans with RAMPS board](/q/6535/5740) and has an [answer](/a/6536/5740) for a RAMPS setup. Does that answer help you out?
0scar
<marlin><hotend><delta><cooling>
Changing FAN0 to FAN1 in TriGorilla printer board
JAKE
# Changing FAN0 to FAN1 in TriGorilla printer board

(Asked by: username_0 on 2018-12-17)

I plugged a new fan into the (TriGorilla v1.4) printer board Fan0 which I found out to be broken.

I'm trying to upgrade the part cooling fan for a bigger one. Unfortunately after plugging in the old one, I realize that the fan is constantly "ON". On other forum someone told me that MOSFET might be shorted from plugging in the broken fan.

This triggered my question: "Is there any possible way to change the firmware FAN0 to use FAN1 socket?" and: "Would that work for part cooling model fan?"

[![Motherboard](https://i.sstatic.net/bMQf2.jpg)](https://i.sstatic.net/bMQf2.jpg)

**Tags:** marlin, hotend, delta, cooling

> **Comments:**
> **username_1**: Hi username_0 and welcome to 3D Printing.SE! This question has similarities to [Controlling more fans with RAMPS board](/q/6535/5740) and has an [answer](/a/6536/5740) for a RAMPS setup. Does that answer help you out?  

---

## 1 answers

### Answer by username_1 on 2018-12-17. Score: 3 | Accepted answer

**Yes you can** use another fan port, this requires some editing of the configuration files of the firmware and reflash the firmware.

If you look at the [documentation](https://www.thingiverse.com/download:4012609) of the board and an overview of the board layout, you will see that there are 3 PWM controlled FAN ports. The answer is therefore yes, you can use another port (e.g. FAN1 or FAN2) to be used for your broken FAN0 port. The most easy solution is to swap the port numbers in the pins configuration of your firmware, so swap pins 'D9' and 'D7'.

[![Trigorilla printer board pin layout](https://i.sstatic.net/N4s1M.png)](https://i.sstatic.net/N4s1M.png)

How you edit the configuration is depending on the version of the TriGorilla board you have, there is a version 1.3 and a version 1.4.

Basically you need to define the software FAN (0) to be reached at the hardware location Fan1 using pin 7:

```
#define FAN_PIN        7

```

Subsequently, FAN1 in software needs to points to Fan0 in hardware

```
#define FAN1_PIN        9

```

If you changed this, the software will think that the Fan1 port on the board is the software FAN.

***If you are using the v1.4 TriGorilla printer board***, the v1,4 specific pin definition is found in [pins\_TRIGORILLA\_14.h](https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/pins_TRIGORILLA_14.h). If you look into this file you will see that this is basically a RAMPS board:

```
#define IS_RAMPS_EFB
...
#include "pins_RAMPS.h"

```

So editing for you need to redirect the pins 7 and 9, but you only have a single active fan (as per `#define IS_RAMPS_EFB`)! Luckily we can forget about the second fan as you want to replace the first by the second.

In [pins\_RAMPS.h](https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/pins_RAMPS.h) you will find:

```
#ifndef RAMPS_D9_PIN
  #define RAMPS_D9_PIN      9
#endif

```

Note that it is wise not to edit this latter file, instead edit your copy of [pins\_TRIGORILLA\_14.h](https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/pins_TRIGORILLA_14.h) to include assigning of the pin 7 to the Fan1 header as FAN in the firmware.

If you look closely at the assigning of the `RAMPS_D9_PIN` pin, it says: `#ifndef`; so if it has been assigned previously, do not override the value.

Now edit the [pins\_TRIGORILLA\_14.h](https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/pins_TRIGORILLA_14.h) file to include:

```
// Comment out this line:
//#define FAN_PIN 9
// And enter this beneath that line
#define RAMPS_D9_PIN 7

```

or

```
#define FAN_PIN 7
// this bypasses setting of the RAMPS_D9_PIN constant

```

From this point on, if the software addresses scheduling of the FAN port, the pin 7 schedules the MOSFET attached to the Fan1 header.

---

Basically, the above procedure describes how one directs hardware ports by changing the addressing in the firmware configuration.

***If this does not work, there might be more things broken on your board.***

> **Comments:**
> **username_0**: I'm 90% sure that I have 1.4 version. I edit script like you show me. Unfortunately nothings changed. In script there is "#include "pins_RAMPS.h"  Should I change there pins as well?  
> **username_1**: @username_0 you need to take care where you put it else it is overridden, several pins.h files are read subsequently. It should work, I have done this several times. I've updated the answer for you, this works for me.  
> **username_0**: Is it possible that even if i modify Fan0 to Fan1 and other way around, it will still use MOSFET from Fan0 which I have problem with? I did exactly how you said above.  #define FAN_PIN 7 #define FAN1_PIN 9  
> **username_1**: Pin 9 is physically attached to the gain of the MOSFET of Fan0, pin 7 physically attached to the gain of the MOSFET of Fan1 (if the documentation is right!). So if it is swapped in the firmware you should not be using the Fan0 header anymore. Strange that it does not work for you, maybe there are more things broken on your board.  
> **username_0**: You might be right :(  
> **username_0**: It's now shut down after finish print, so it's half success, thank you for your help @username_1  
> **username_2**: I just swapped the two pins on my printer and got an error when using RAMPS_D9_PIN and an error when setting FAN_PIN. I managed to get it to work by setting FAN_PIN to 7 and changing CONTROLLER_FAN_PIN to 9 otherwise  

---

