Tristate RAMPS pins in klipper

Basic Information:

Printer Model: Custom Delta
MCU / Printerboard: Pi 4 & RAMPS

Fill out above information and in all cases attach your klippy.log file (use zip to compress it, if too big). Pasting your printer.cfg is not needed
Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there

Describe your issue: In Klipper, is it possible to toggle a pin on a RAMPS mcu between 0V output and high impedance? - i.e., tristate the pin.

Significance: I am trying to get a dual Z probing method working on a Delta printer. One Z probe is a dockable probe used only for bed mapping. The second probe is under the bed and detects nozzle contact to set the Z reference. Using cloakedcode’s dockable probe module I can get the bed mapping working well, but I can’t get the sense to swap over to use the underbed sensor. This should work if I can disconnect the sense switches for “probe docked” and “probe attached” from ground and attached instead to a pin which can be set to ground or to open circuit (high impedance) and use the pull-ups to do the rest. Setting the normally ground to high impedance should spoof a “sled attached” state.

Video of the dual probing working with clunky macros on

Thanks for any help you can give.

klippy.log (948.1 KB)


Alas, I don’t know of a way to do this in Klipper today. It’s possible to do it by writing code, but this functionality is not (to my knowledge) exported via macros or configuration.


Thank you, Kevin. I did manage to find a solution without needing to tristate a pin - setting the pin marked “Invert Sled Sense” to +ve gave the required signal and allowed the sled to work with cloakedcode’s dockable probe module both for probing with the sled or the nozzle. The diagram below may clarify.


This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.