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?
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:
- 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),
- 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.
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
#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.