ADR-006: Z-Probe Selection (SuperPINDA vs BLTouch)
Status
Archived - Superseded by ADR-014: Z-Probe Selection
This ADR has been replaced by ADR-014, which provides more comprehensive coverage including BOM implications and implementation details. See
014-z-probe-selection.md.
Context
The Z-probe is the “eyes” of the Tractor’s Triple-Z system. While Klipper’s software intelligence handles the math, the probe provides the physical ground truth required for kinematic leveling and first-layer perfection.
Decision
We adopt a Bimodal Reference Strategy:
- Reference Spec (The Tractor Standard): SuperPINDA (Inductive). Chosen for its solid-state reliability and “set-and-forget” robustness.
- Sovereign Fallback (The Scavenger Standard): BLTouch v3.1 (Physical). Chosen for its ability to probe any surface, including salvaged glass or non-metallic beds.
🦾 The Case for SuperPINDA (Reference Spec)
- Solid-State Reliability: With zero moving parts, it cannot snag on a print or fail to “deploy.” It is nearly indestructible.
- Thermal Stability: Unlike the older PINDA v2, the SuperPINDA is temperature-compensated, ensuring the same trigger height at room temperature or 100°C.
- Simplicity: Uses only 3 wires (VCC, GND, Signal) compared to the 5 wires required for a BLTouch.
- Constraint: Requires a conductive metal bed (e.g., Spring Steel, Aluminum).
🛠️ The Case for BLTouch (Sovereign Fallback)
- Universal Compatibility: The “Swiss Army Knife” of probes. It works on glass, ceramic, wood, or aluminum.
- Scavenger Hero: Essential for Tier 1 builders using salvaged Ender 3 or i3 Mega glass beds.
- Trade-off: Higher mechanical complexity. The moving pin can bend or break if it strikes a print or bed clip.
📊 Revised Decision Tree
graph TD
A[Start: Choose Z-Probe] --> B{Do you have a Steel/Magnetic Bed?}
B -- YES --> C[Reference Spec: SuperPINDA]
B -- NO --> D{Using Glass or Non-Metal?}
D -- YES --> E[Sovereign Fallback: BLTouch]
D -- NO --> F[Manual Paper Method - Tier 1 Only]
C --> G[Industrial Robustness: No Moving Parts]
E --> H[Universal Compatibility: Probes Any Surface]
🏗️ Implementation Tweaks
1. Wizard Configuration (configure.py)
The build script should now ask the user: “What is your bed surface?”
- Glass/Ceramic/Other: Forces the BLTouch configuration in
printer.cfg. - Steel/Aluminum: Recommends the SuperPINDA but allows the BLTouch as an alternative.
2. Klipper Configuration Permutations
# The script will now output distinct blocks based on the choice:
# [PATH A: INDUCTIVE PROBE]
[probe]
pin: ^board:probe_pin
z_offset: 0.0 # Adjust for SuperPINDA
# [PATH B: BLTOUCH]
[bltouch]
sensor_pin: ^board:sensor_pin
control_pin: board:control_pin
z_offset: 1.5 # Adjust for BLTouch3. Z-Max “Bed-Drop” Brake
Regardless of the probe chosen, the Z-Max physical microswitch at the bottom of the frame remains mandatory. The probe handles the surgery at the nozzle; the switch handles the safety at the floor.
Consequences
- Benefits: Builders aren’t forced to buy a new steel sheet if they have glass beds, but are encouraged toward the PINDA for long-term reliability.
- Documentation Effort: The assembly guide must now provide wiring diagrams for both 3-wire (PINDA) and 5-wire (BLTouch) sensors across all supported MCUs (SKIPR, Spider, etc.).
“A PINDA is a sensor for the machine; a BLTouch is a tool for the material. We provide the iron for the path you choose.”