<p><strong>TL; DR</strong> - The pins are clearly named in reverse, and the <code>IN</code> pin is obviously an <em>output</em> and the <code>OUT</code> pin is obviously an <em>input</em>.</p>
<p>However, as to the <em>why</em>, it would be hard to guess, apart from the lazy deduction of either:</p>
<ul>
<li>Sloppy design work, or;</li>
<li>Translation/language difficulties/barriers.</li>
</ul>
<p>Without one of the board's designers posting an answer here, I guess we will never know for sure. A more generic labelling of both of the pins, such as <code>IO1</code> and <code>IO2</code>, would have been better, and less confusing.</p>
<p>In addition, the guide, where the image that you posted comes from, seems to be rather poorly written and I would caution you <em>against</em> following it - see below for more details.</p>
<hr />
<h2>Notes</h2>
<p>I may be wrong but the image that you show is presumably from this guide, <a href="https://printermods.co.uk/blogs/guides/creality-v4-2-2-v4-2-7-motherboard-bl-touch-wiring-options" rel="nofollow noreferrer">Creality V4.2.2 &amp; V4.2.7 Motherboard BL Touch Wiring Options</a>, which shows two differing wiring suggestions (<em>5 wire</em> and <em>3+2 wire</em>).</p>
<h3>The 5 wire</h3>
<p>A BLTouch with a 5 pin connector attaches to the 5 pin socket on the controller board:</p>
<p><a href="https://cdn.shopify.com/s/files/1/0298/8661/1595/files/creality-5pin-bltouch-header_480x480.png" rel="nofollow noreferrer">original image</a></p>
<p><a href="https://i.sstatic.net/873lh.jpg" rel="nofollow noreferrer" title="5 wire configuration"><img src="https://i.sstatic.net/873lh.jpg" alt="5 wire configuration" title="5 wire configuration" /></a></p>
<h3>The 3+2 wire</h3>
<p>A BLTouch with both a 3 pin and a 2 pin connector attaches to part of the 5 pin socket (the three left most pins, <code>G</code>, <code>V</code> and <code>IN</code>) and the Z-axis minimum endstop (<code>Z-</code>), respectively:</p>
<p><a href="https://cdn.shopify.com/s/files/1/0298/8661/1595/files/3_2-wiring-pinout-diagram_207a5382-a3b7-46f6-a830-259f9b197317.jpg" rel="nofollow noreferrer">original image</a>
<a href="https://i.sstatic.net/zjmd8.jpg" rel="nofollow noreferrer" title="3+2 wire configuration"><img src="https://i.sstatic.net/zjmd8.jpg" alt="3+2 wire configuration" title="3+2 wire configuration" /></a></p>
<p>Note: If the image is expanded and examined carefully, it can be seen that &quot;IN&quot; has actually been written on the diagram, just over the yellow wire - obviously this is just a blind repetition of the mis-labelled pin.</p>
<h3>Deduction</h3>
<p>Either the z-axis endstop or the right most two pins of the 5 pin connector (<code>G</code> and <code>OUT</code>) can be used to connect the BLTouch probe sensor.</p>
<p>The right most connector (<code>OUT</code>) is therefore equivalent to the endstop pin, and is (most probably) an active low <em>input</em>, using a pull-up resistor either on the board or internal to the MCU - even though it is labelled as <code>OUT</code>.</p>
<p>This leaves the remaining connector (the three left most pins) for the BLTouch motor/servo. Therefore, obviously, the <code>IN</code> pin is actually an <em>output</em> used to actuate the motor/servo.</p>
<p>Note: As <em>dandavis</em> points out in <a href="https://3dprinting.stackexchange.com/questions/20153/why-is-the-pin-which-is-intended-to-control-the-bltouch-marked-in-on-crealit/20188#comment38463_20153">their comment</a>, the IO pins of the MCU IC are configurable in the firmware, and so could be reconfigured as either inputs or outputs.</p>
<h3>Alternative 3+2 wiring</h3>
<p>The much more useful and detailed tutorial, <a href="https://tutorial.cytron.io/2021/10/19/bltouch-installation-for-ender-3-with-32-bit-v4-2-2-board/" rel="nofollow noreferrer">BLTouch Installation for Ender 3 with 32-bit V4.2.2 Board</a> (linked to by <em>towe</em> in <a href="https://3dprinting.stackexchange.com/questions/20153/why-is-the-pin-which-is-intended-to-control-the-bltouch-marked-in-on-crealit#comment38413_20153">their comment</a>) shows a similar set of connections, except that the 5 pin plug is replaced by the dual 3+2 wire connector, with both plugs (the 3 pin and the 2 pin) connected to the 5 pin socket on the controller board (rather than having the 2 pin going to the Z-axis endstop connector, as shown in the previous guide):</p>
<p><a href="https://i.sstatic.net/wVK87.jpg" rel="nofollow noreferrer" title="Disconnecting the Z-stop"><img src="https://i.sstatic.net/wVK87.jpg" alt="Disconnecting the Z-stop" title="Disconnecting the Z-stop" /></a></p>
<p><a href="https://i.sstatic.net/UVk11.jpg" rel="nofollow noreferrer" title="Connecting the BLTouch probe input"><img src="https://i.sstatic.net/UVk11.jpg" alt="Connecting the BLTouch probe input" title="Connecting the BLTouch probe input" /></a></p>
<p><a href="https://i.sstatic.net/aoaeA.jpg" rel="nofollow noreferrer" title="Connecting the BLTouch servo control"><img src="https://i.sstatic.net/aoaeA.jpg" alt="Connecting the BLTouch servo control" title="Connecting the BLTouch servo control" /></a></p>
<h3>Enhanced 3+2 diagram and wire swapping warning - 32-bit board only</h3>
<p>A better diagram of the 3+2 wiring configuration is shown below:</p>
<p>(<a href="https://cdn.shopify.com/s/files/1/1834/5761/files/image_2020_12_01T15_50_53_434Z.png" rel="nofollow noreferrer">original image</a>)</p>
<p><a href="https://i.sstatic.net/MuXcm.jpg" rel="nofollow noreferrer" title="Enhanced 3+2 wiring configuration diagram"><img src="https://i.sstatic.net/MuXcm.jpg" alt="Enhanced 3+2 wiring configuration diagram" title="Enhanced 3+2 wiring configuration diagram" /></a></p>
<p>I found this diagram via the cautionary tale, <a href="https://www.reddit.com/r/Ender3Pro/comments/kcz8px/creality_v422_board_and_bltouch_problem_board/" rel="nofollow noreferrer">Creality v4.2.2 board and BLtouch problem - board fried!</a> on Reddit, which highlights the <em><strong>mismatch</strong></em> of the wiring of the various BLTouch probe/MoBo versions (the <code>V</code> and <code>G</code> pins may need to be swapped on the servo connector and <strong>must be verified</strong> before connecting and powering).</p>
<p>This mismatch, for the <em><strong>32-bit board</strong></em> is also highlighted in <a href="https://tutorial.cytron.io/2021/10/19/bltouch-installation-for-ender-3-with-32-bit-v4-2-2-board/" rel="nofollow noreferrer">BLTouch Installation for Ender 3 with 32-bit V4.2.2 Board</a>, under the <strong>Swap the Wiring</strong> section:</p>
<blockquote>
<p>This BLTouch Kit is meant for 8-bit and 32-bit board, however, the default wiring is for 8-bit (green) board with adapter (hack the buzzer pin for LCD). No swapping of wires is neccessary for 8-bit board.</p>
<p>For 32-bit board, we will need to do a minor adjustment to the wiring. This is a <strong>MUST</strong> step, as the swapped wires are VCC (+ve 5VDC) and GND (0V). If you do not swap the wires, you will damage the BLTouch and it is not under warranty.</p>
</blockquote>
<p>(<a href="https://i2.wp.com/tutorial.cytron.io/wp-content/uploads/2021/10/BLTouchWiringSwap.jpg" rel="nofollow noreferrer">original image</a>)</p>
<p><a href="https://i.sstatic.net/THXUZ.jpg" rel="nofollow noreferrer" title="Wire swap for 32-bit board only - versions 4.2.2 and 4.2.7"><img src="https://i.sstatic.net/THXUZ.jpg" alt="Wire swap for 32-bit board only - versions 4.2.2 and 4.2.7" title="Wire swap for 32-bit board only - versions 4.2.2 and 4.2.7" /></a></p>
<h3>Firmware</h3>
<p>For the sake of completion, and because the guide where your image came from <em><strong>does not seem to be particularly well-written</strong></em> - the firmware will differ, depending upon where the probe sensor is connected to, i.e. the z-axis endstop connector <em>or</em> the right hand pins of the 5 pin socket.</p>
<p>Either a different pre-compiled firmware binary is required or (if compiling the firmware yourself) some lines need to be uncommented in the Marlin source code, in <code>configuration.h</code> - which, according to the <a href="https://printermods.co.uk/blogs/guides/creality-v4-2-2-v4-2-7-motherboard-bl-touch-wiring-options" rel="nofollow noreferrer">first guide</a>, are the following lines:</p>
<pre><code>#define BLTOUCH
...
#define AUTO_BED_LEVELING_BILINEAR
...
#define RESTORE_LEVELING_AFTER_G28
</code></pre>
<p>However, I'm not convinced by that rather overly simplistic first guide, unless the right most two pins of the 5 pin socket and the Z-axis endstop pins are hard-wired together on the board, which may be possible, but seems unlikely. I would have assumed that some pin changes are required in the firmware (but I may be wrong).</p>
<p>Indeed, the far superior guide, <a href="https://all3dp.com/2/how-to-set-up-marlin-for-auto-bed-leveling/" rel="nofollow noreferrer" title="Enhanced 3+2 wiring configuration diagram">How to Set Up Marlin &amp; BLTouch for Auto-Bed Leveling</a>, shows that those three lines are only for the bed-levelling settings and a <em>multitude</em> of other changes are required.</p>
<p>Of particular note, if the Z-axis endstop is not used and the <code>G</code> and <code>OUT</code> pins are used instead, then make sure that the following line is commented out:</p>
<pre><code>#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
</code></pre>
<p>and uncomment</p>
<pre><code>#define Z_MIN_PROBE_ENDSTOP
</code></pre>
<p>There are a number of other lines that need modifying, which are beyond the scope of this answer. Please refer to <a href="https://all3dp.com/2/how-to-set-up-marlin-for-auto-bed-leveling/" rel="nofollow noreferrer" title="Enhanced 3+2 wiring configuration diagram">this guide</a> or some other <em>well written</em> guide.</p>
<h3>References</h3>
<ul>
<li><a href="https://printermods.co.uk/blogs/guides/creality-v4-2-2-v4-2-7-motherboard-bl-touch-wiring-options" rel="nofollow noreferrer">Creality V4.2.2 &amp; V4.2.7 Motherboard BL Touch Wiring Options</a> - poor quality</li>
<li><a href="https://www.reddit.com/r/Ender3Pro/comments/kcz8px/creality_v422_board_and_bltouch_problem_board/" rel="nofollow noreferrer">Creality v4.2.2 board and BLtouch problem - board fried!</a> - cautionary tale</li>
<li><a href="https://tutorial.cytron.io/2021/10/19/bltouch-installation-for-ender-3-with-32-bit-v4-2-2-board/" rel="nofollow noreferrer">BLTouch Installation for Ender 3 with 32-bit V4.2.2 Board</a> - very good</li>
<li><a href="https://all3dp.com/2/how-to-set-up-marlin-for-auto-bed-leveling/" rel="nofollow noreferrer" title="Enhanced 3+2 wiring configuration diagram">How to Set Up Marlin &amp; BLTouch for Auto-Bed Leveling</a> - very good</li>
</ul>

CC BY-SA 4.0
2022-11-07T22:14:10.220Z
2022-11-08T10:42:17.457Z
2022-11-08T10:42:17.457Z
Greenonline
<p>I bought a new 32-bit board for my old Creality printer, and now I am going to connect my old old BLTouch sensor to it. I got some instructions from the internet and found that it needs to be connected to the central pin on MoBo.</p>
<p><a href="https://i.sstatic.net/Ex6nD.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/Ex6nD.png" alt="enter image description here" /></a></p>
<p>This pin is marked &quot;IN&quot; while its purpose is to control BLTouch effector, i.e. it should be &quot;OUT&quot;, not &quot;IN&quot;.</p>
<p>Why?</p>
<hr />
<ul>
<li>MB (new) version is 4.2.7</li>
<li>BLTouch version is 3.1</li>
</ul>

CC BY-SA 4.0
2022-11-01T11:50:04.087Z
Because Creality.
There's a reference here with that exact same board that confirms the "IN" is used to control to servo: https://tutorial.cytron.io/2021/10/19/bltouch-installation-for-ender-3-with-32-bit-v4-2-2-board/
towe
CC BY-SA 4.0
2022-11-01T12:06:10.707Z
This is not from Creality? I saw this tutorial
Dims
CC BY-SA 4.0
2022-11-01T12:07:04.660Z
Your board is not a Creality board?
towe
CC BY-SA 4.0
2022-11-03T16:57:02.870Z
I'm not convinced that this question "why..?" can be answered, unless one of the actual designers of the board posts an answer. Answers posted by anyone other than the design team will be (educated?) guesswork or supposition. It probably should be rephrased. That said, I am thinking of formulating an answer - basically the I/O pins were "randomly" named... `IO1` and `IO2` would have equally sufficed as names. The left IO pin (`IN`) is for the (servo?) motor, and the right IO pin (`OUT`) is for the switch (and is a surrogate for the Z-axis switch). I've found guides with differing connections.
Greenonline
CC BY-SA 4.0
2022-11-08T06:21:46.350Z
Controller IO can be configured as input or output in firmware. All this stuff is a bit of a hack, so inconsistency across versions is not surprising; just be glad it works.
dandavis
<creality-ender-3><bltouch><wiring>
Why is the pin, which is intended to control the BLTouch, marked "IN" on Creality board?
Dims
# Why is the pin, which is intended to control the BLTouch, marked "IN" on Creality board?

(Asked by: username_0 on 2022-10-31)

I bought a new 32-bit board for my old Creality printer, and now I am going to connect my old old BLTouch sensor to it. I got some instructions from the internet and found that it needs to be connected to the central pin on MoBo.

[![enter image description here](https://i.sstatic.net/Ex6nD.png)](https://i.sstatic.net/Ex6nD.png)

This pin is marked "IN" while its purpose is to control BLTouch effector, i.e. it should be "OUT", not "IN".

Why?

---

* MB (new) version is 4.2.7
* BLTouch version is 3.1

**Tags:** creality-ender-3, bltouch, wiring
> **Comments:**
> **username_1**: Because Creality. There's a reference here with that exact same board that confirms the "IN" is used to control to servo: https://tutorial.cytron.io/2021/10/19/bltouch-installation-for-ender-3-with-32-bit-v4-2-2-board/  
> **username_0**: This is not from Creality? I saw this tutorial  
> **username_1**: Your board is not a Creality board?  
> **username_2**: I'm not convinced that this question "why..?" can be answered, unless one of the actual designers of the board posts an answer. Answers posted by anyone other than the design team will be (educated?) guesswork or supposition. It probably should be rephrased. That said, I am thinking of formulating an answer - basically the I/O pins were "randomly" named... `IO1` and `IO2` would have equally sufficed as names. The left IO pin (`IN`) is for the (servo?) motor, and the right IO pin (`OUT`) is for the switch (and is a surrogate for the Z-axis switch). I've found guides with differing connections.  
> **username_3**: Controller IO can be configured as input or output in firmware. All this stuff is a bit of a hack, so inconsistency across versions is not surprising; just be glad it works.  

---

## 1 answers

### Answer by username_2 on 2022-11-07. Score: 2 | Accepted answer

TL; DR - The pins are clearly named in reverse, and the IN pin is obviously an output and the OUT pin is obviously an input.
However, as to the why, it would be hard to guess, apart from the lazy deduction of either:

Sloppy design work, or;
Translation/language difficulties/barriers.

Without one of the board's designers posting an answer here, I guess we will never know for sure. A more generic labelling of both of the pins, such as IO1 and IO2, would have been better, and less confusing.
In addition, the guide, where the image that you posted comes from, seems to be rather poorly written and I would caution you against following it - see below for more details.

Notes
I may be wrong but the image that you show is presumably from this guide, Creality V4.2.2 & V4.2.7 Motherboard BL Touch Wiring Options, which shows two differing wiring suggestions (5 wire and 3+2 wire).
The 5 wire
A BLTouch with a 5 pin connector attaches to the 5 pin socket on the controller board:
original image

The 3+2 wire
A BLTouch with both a 3 pin and a 2 pin connector attaches to part of the 5 pin socket (the three left most pins, G, V and IN) and the Z-axis minimum endstop (Z-), respectively:
original image

Note: If the image is expanded and examined carefully, it can be seen that "IN" has actually been written on the diagram, just over the yellow wire - obviously this is just a blind repetition of the mis-labelled pin.
Deduction
Either the z-axis endstop or the right most two pins of the 5 pin connector (G and OUT) can be used to connect the BLTouch probe sensor.
The right most connector (OUT) is therefore equivalent to the endstop pin, and is (most probably) an active low input, using a pull-up resistor either on the board or internal to the MCU - even though it is labelled as OUT.
This leaves the remaining connector (the three left most pins) for the BLTouch motor/servo. Therefore, obviously, the IN pin is actually an output used to actuate the motor/servo.
Note: As dandavis points out in their comment, the IO pins of the MCU IC are configurable in the firmware, and so could be reconfigured as either inputs or outputs.
Alternative 3+2 wiring
The much more useful and detailed tutorial, BLTouch Installation for Ender 3 with 32-bit V4.2.2 Board (linked to by towe in their comment) shows a similar set of connections, except that the 5 pin plug is replaced by the dual 3+2 wire connector, with both plugs (the 3 pin and the 2 pin) connected to the 5 pin socket on the controller board (rather than having the 2 pin going to the Z-axis endstop connector, as shown in the previous guide):



Enhanced 3+2 diagram and wire swapping warning - 32-bit board only
A better diagram of the 3+2 wiring configuration is shown below:
(original image)

I found this diagram via the cautionary tale, Creality v4.2.2 board and BLtouch problem - board fried! on Reddit, which highlights the mismatch of the wiring of the various BLTouch probe/MoBo versions (the V and G pins may need to be swapped on the servo connector and must be verified before connecting and powering).
This mismatch, for the 32-bit board is also highlighted in BLTouch Installation for Ender 3 with 32-bit V4.2.2 Board, under the Swap the Wiring section:

This BLTouch Kit is meant for 8-bit and 32-bit board, however, the default wiring is for 8-bit (green) board with adapter (hack the buzzer pin for LCD). No swapping of wires is neccessary for 8-bit board.
For 32-bit board, we will need to do a minor adjustment to the wiring. This is a MUST step, as the swapped wires are VCC (+ve 5VDC) and GND (0V). If you do not swap the wires, you will damage the BLTouch and it is not under warranty.

(original image)

Firmware
For the sake of completion, and because the guide where your image came from does not seem to be particularly well-written - the firmware will differ, depending upon where the probe sensor is connected to, i.e. the z-axis endstop connector or the right hand pins of the 5 pin socket.
Either a different pre-compiled firmware binary is required or (if compiling the firmware yourself) some lines need to be uncommented in the Marlin source code, in configuration.h - which, according to the first guide, are the following lines:
#define BLTOUCH
...
#define AUTO_BED_LEVELING_BILINEAR
...
#define RESTORE_LEVELING_AFTER_G28

However, I'm not convinced by that rather overly simplistic first guide, unless the right most two pins of the 5 pin socket and the Z-axis endstop pins are hard-wired together on the board, which may be possible, but seems unlikely. I would have assumed that some pin changes are required in the firmware (but I may be wrong).
Indeed, the far superior guide, How to Set Up Marlin & BLTouch for Auto-Bed Leveling, shows that those three lines are only for the bed-levelling settings and a multitude of other changes are required.
Of particular note, if the Z-axis endstop is not used and the G and OUT pins are used instead, then make sure that the following line is commented out:
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

and uncomment
#define Z_MIN_PROBE_ENDSTOP

There are a number of other lines that need modifying, which are beyond the scope of this answer. Please refer to this guide or some other well written guide.
References

Creality V4.2.2 & V4.2.7 Motherboard BL Touch Wiring Options - poor quality
Creality v4.2.2 board and BLtouch problem - board fried! - cautionary tale
BLTouch Installation for Ender 3 with 32-bit V4.2.2 Board - very good
How to Set Up Marlin & BLTouch for Auto-Bed Leveling - very good


---

