<h1>TL;DR</h1>
<p>To answer your question how <em>(by assuming you have a 4 pins PINDA v2 sensor)</em> to connect the sensor to your board, you have 2 options:</p>
<ol>
<li>Do not connect the white wire and treat the sensor as you would use a normal endstop switch (blue is ground, brown is +5 V, black is signal),</li>
<li>Connect the 4 wires (use a splitter cable to split out into a 3 and 1 pin connector, see image below), use the additional pin to read the thermistor value through a free analogue pin, this requires you to do a lot of code changes if you are using a different firmware than the original Prusa firmware.<br>
<a href="https://i.sstatic.net/e2cbM.png" rel="noreferrer" title="PINDA v2 splitter cable"><img src="https://i.sstatic.net/e2cbM.png" alt="PINDA v2 splitter cable" title="PINDA v2 splitter cable" /></a></li>
</ol>
<hr />
<p>The PINDA v2 auto bed leveling sensor has an additional wire, usually these bed leveling sensors only have 3 wires (power, ground and signal). The PINDA v2 probe has an additional wire that is connected to a thermistor. This thermistor reading is used by Prusa to compensate the trigger distance with temperature variation.</p>
<p><a href="https://i.sstatic.net/wetio.jpg" rel="noreferrer" title="PINDA v2"><img src="https://i.sstatic.net/wetio.jpg" alt="PINDA v2" title="PINDA v2" /></a></p>
<p>Wiring the fourth pin would require to reverse engineer the logic behind the temperature compensation if you aren't using the firmware of Prusa (e.g. when you are using Marlin firmware; this is not very simple!). Do note this is something engineered by Prusa printing engineers and implemented in <a href="https://github.com/prusa3d/Prusa-Firmware" rel="noreferrer">their custom fork</a> of <a href="https://github.com/MarlinFirmware/Marlin" rel="noreferrer">Marlin firmware</a>.</p>
<p>E.g. the compensation is calculated in <a href="https://github.com/prusa3d/Prusa-Firmware/blob/MK3/Firmware/Marlin_main.cpp" rel="noreferrer">Marlin_main.cpp</a> by function <a href="https://github.com/prusa3d/Prusa-Firmware/blob/MK3/Firmware/Marlin_main.cpp#L9485" rel="noreferrer"><code>temp_compensation_pinda_thermistor_offset</code></a>. This function is called to return the offset based on the read temperature (actual calculation is done in <code>temp_comp_interpolation(temperature_pinda)</code>):</p>
<pre>
#ifdef PINDA_THERMISTOR
            offset_z = temp_compensation_pinda_thermistor_offset(current_temperature_pinda);
#endif //PINDA_THERMISTOR
</pre>
<p>It is perfectly fine to not connect the white wire, this is the signal needed to read out the thermistor value used for the temperature compensation. This will disable the compensation feature and will revert the sensor to a normal inductive sensor.</p>

CC BY-SA 4.0
2022-02-03T00:54:41.740Z
oscar thank you so much for sharing this answer. just bought one of these 4 wire pinda probes, and this is exactly what i was looking for. 
ipatch
CC BY-SA 4.0
2019-11-04T07:39:15.927Z
2019-11-04T15:47:05.373Z
2020-06-18T08:29:41.667Z
0scar
<p>I bought a BigTreeTech SKR v1.3 main board and a P.I.N.D.A v2 for my P3Steel MGN. Does anyone know to wire them together and which part in Marlin 2 do I need to change? </p>

CC BY-SA 4.0
2019-11-03T07:46:00.490Z
That depends on which voltage you want to run the sensor. You are installing an inductive sensor, you can connect it no differently than a normal endstop using the 5 V from the end stop header, or include a voltage divider or optocoupler to use a higher voltage for the sensor and the low voltage for the logic circuit.
0scar
CC BY-SA 4.0
2019-11-04T14:18:42.287Z
Hi Jack.  Welcome to the 3D printing group on Stack Exchange.  Your question could use some more context so that the question stands alone, without the thoughts you have but aren't recorded.  Filling in the context helps current readers give you a better answer, and, just as importantly, future readers can find your question and learn from the question and the answers.  Some details that would help: links to information about the main board and the sensor, and an overview of what you want the sensor to do for you.
cmm
<firmware><wiring><skr-v1.3><inductive-sensor><bigtreetech>
How to wire P.I.N.D.A. v2 to an SKR V1.3 board?
Jack Iai
# How to wire P.I.N.D.A. v2 to an SKR V1.3 board?

(Asked by: username_0 on 2019-11-03)

I bought a BigTreeTech SKR v1.3 main board and a P.I.N.D.A v2 for my P3Steel MGN. Does anyone know to wire them together and which part in Marlin 2 do I need to change?

**Tags:** firmware, wiring, skr-v1.3, inductive-sensor, bigtreetech

> **Comments:**
> **username_1**: That depends on which voltage you want to run the sensor. You are installing an inductive sensor, you can connect it no differently than a normal endstop using the 5 V from the end stop header, or include a voltage divider or optocoupler to use a higher voltage for the sensor and the low voltage for the logic circuit.  
> **username_2**: Hi username_0.  Welcome to the 3D printing group on Stack Exchange.  Your question could use some more context so that the question stands alone, without the thoughts you have but aren't recorded.  Filling in the context helps current readers give you a better answer, and, just as importantly, future readers can find your question and learn from the question and the answers.  Some details that would help: links to information about the main board and the sensor, and an overview of what you want the sensor to do for you.  

---

## 1 answers

### Answer by username_1 on 2019-11-04. Score: 7

# TL;DR

To answer your question how *(by assuming you have a 4 pins PINDA v2 sensor)* to connect the sensor to your board, you have 2 options:

1. Do not connect the white wire and treat the sensor as you would use a normal endstop switch (blue is ground, brown is +5 V, black is signal),
2. Connect the 4 wires (use a splitter cable to split out into a 3 and 1 pin connector, see image below), use the additional pin to read the thermistor value through a free analogue pin, this requires you to do a lot of code changes if you are using a different firmware than the original Prusa firmware.  
   [![PINDA v2 splitter cable](https://i.sstatic.net/e2cbM.png "PINDA v2 splitter cable")](https://i.sstatic.net/e2cbM.png "PINDA v2 splitter cable")

---

The PINDA v2 auto bed leveling sensor has an additional wire, usually these bed leveling sensors only have 3 wires (power, ground and signal). The PINDA v2 probe has an additional wire that is connected to a thermistor. This thermistor reading is used by Prusa to compensate the trigger distance with temperature variation.

[![PINDA v2](https://i.sstatic.net/wetio.jpg "PINDA v2")](https://i.sstatic.net/wetio.jpg "PINDA v2")

Wiring the fourth pin would require to reverse engineer the logic behind the temperature compensation if you aren't using the firmware of Prusa (e.g. when you are using Marlin firmware; this is not very simple!). Do note this is something engineered by Prusa printing engineers and implemented in [their custom fork](https://github.com/prusa3d/Prusa-Firmware) of [Marlin firmware](https://github.com/MarlinFirmware/Marlin).

E.g. the compensation is calculated in [Marlin\_main.cpp](https://github.com/prusa3d/Prusa-Firmware/blob/MK3/Firmware/Marlin_main.cpp) by function [`temp_compensation_pinda_thermistor_offset`](https://github.com/prusa3d/Prusa-Firmware/blob/MK3/Firmware/Marlin_main.cpp#L9485). This function is called to return the offset based on the read temperature (actual calculation is done in `temp_comp_interpolation(temperature_pinda)`):

```

#ifdef PINDA_THERMISTOR
            offset_z = temp_compensation_pinda_thermistor_offset(current_temperature_pinda);
#endif //PINDA_THERMISTOR

```

It is perfectly fine to not connect the white wire, this is the signal needed to read out the thermistor value used for the temperature compensation. This will disable the compensation feature and will revert the sensor to a normal inductive sensor.

> **Comments:**
> **username_3**: oscar thank you so much for sharing this answer. just bought one of these 4 wire pinda probes, and this is exactly what i was looking for.   

---

