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?

  • 2
    $\begingroup$ 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. $\endgroup$ – 0scar Nov 3 '19 at 7:46
  • 1
    $\begingroup$ 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. $\endgroup$ – cmm Nov 4 '19 at 14:18


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

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.


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 of Marlin firmware.

E.g. the compensation is calculated in Marlin_main.cpp by function temp_compensation_pinda_thermistor_offset. This function is called to return the offset based on the read temperature (actual calculation is done in temp_comp_interpolation(temperature_pinda)):

            offset_z = temp_compensation_pinda_thermistor_offset(current_temperature_pinda);

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.


Not the answer you're looking for? Browse other questions tagged or ask your own question.