Voron Tap — Complete Guide to Mechanical Z Probing
Probe Calibration Upgrade
Tap is a Voron community-designed mechanical Z probe that replaces the lower body of the Stealthburner toolhead with a vertically-sliding carriage. When probing, the nozzle contacts the bed directly, pushing the entire carriage upward until a mechanical endstop triggers. Tap measures the true nozzle-to-bed distance with zero offsets, zero temperature drift, and industry-leading repeatability of ±2 µm. This is the definitive guide to installing, configuring, and tuning Tap on your Voron. Last updated: May 2025.
Since its introduction in 2023, Tap has become the gold standard for Voron Z probing. It eliminates the Z offset drift that plagues inductive probes, avoids the mechanical complexity of Klicky's docking mechanism, and provides accuracy that rivals industrial CNC probes. This guide covers Tap versions, installation, wiring, Klipper configuration, calibration, troubleshooting, and compatibility with different hotends and Voron models.
What Is Tap — And How It Works
Tap replaces the Stealthburner's fixed lower body with a carriage that slides vertically on two 2mm linear rails (MGN7H or MGN9C depending on the version). The hotend, heat sink, and extruder are mounted to this sliding carriage. Under the carriage, a mechanical endstop (Omron D2F-5L microswitch or a Hall effect sensor) detects when the carriage is pushed upward.
The probing sequence works like this: the Z axis moves the toolhead downward until the nozzle touches the bed. As the Z motor continues, the nozzle pushes the entire carriage upward against the probe endstop. When the endstop triggers, the Z motor stops, and the carriage retracts back down to its home position via springs or gravity. The Z position at trigger is recorded as Z=0.
Because the nozzle itself is the probe tip, there is no X/Y offset between the probe and the nozzle. This means no offset compensation in your bed mesh, no calibration drift as the hotend heats up, and no variations from probe mounting tolerances. The probe accuracy is limited only by the microswitch repeatability and the Z stepper's microstep resolution.
Tap vs Klicky vs Euclid vs Inductive — Accuracy Comparison
| Parameter | Tap | Klicky | Euclid | Inductive (PL-08N) |
|---|---|---|---|---|
| Repeatability | ±2 µm | ±5 µm | ±10 µm | ±25 µm |
| Thermal Drift | None (nozzle direct) | Low (mechanical switch) | Low (mechanical switch) | High (30-100 µm) |
| Mechanical Complexity | Medium (sliding carriage) | High (docking mechanism) | Medium-High (magnetic dock) | None (no moving parts) |
| Toolhead Mass Added | ~45g | ~5g | ~8g | ~15g |
| Z Offset Drift Over Time | None | Minimal (switch wear) | Minimal (switch wear) | Significant (thermal + aging) |
| X/Y Offset from Nozzle | 0 (zero offset) | 0 (with correct mount) | 0 (with correct mount) | 20-30mm required |
| Cost | $18-30 | $5-10 | $12-20 | $3-10 |
Tap's ±2 µm repeatability is the best of any Voron probing method. In practical terms, this means your first layer is identical on every print, regardless of chamber temperature, hotend temperature, or bed surface condition. Klicky and Euclid are close behind at ±5-10 µm — still excellent for most users. Inductive probes drift by 30-100 µm with temperature, which is enough to cause first layer issues across a print session.
Tap Versions — V1.0, V1.1, V2.0 Differences
| Feature | Tap v1.0 | Tap v1.1 | Tap v2.0 |
|---|---|---|---|
| Release Date | Jan 2023 | Jun 2023 | Feb 2024 |
| Linear Rails | 2x MGN7H 100mm | 2x MGN7H 100mm | 2x MGN9C 100mm |
| Endstop Type | Omron D2F-5L microswitch | Omron D2F-5L or Hall effect | Hall effect (standard) |
| Return Mechanism | Springs | Springs + magnet assist | Gravity + magnets |
| Carriage Material | ABS printed | ABS or CNC aluminum | CNC aluminum (standard) |
| Z Hop Required | 6-8mm | 5-7mm | 4-6mm |
| Backward Compatible | — | Yes (drop-in) | No (new printed parts) |
Recommendation: If you're buying new, get the Tap v2.0. The MGN9C rails are more robust than MGN7H, the Hall effect endstop eliminates microswitch wear concerns, and the CNC aluminum carriage provides better rigidity than printed parts. If you already have v1.0 or v1.1 installed and working, there is no compelling reason to upgrade — the performance difference is marginal. Spend your money on filament instead.
Installation — Stealthburner Mount
Printed Parts Required
Tap replaces several Stealthburner parts. You will need to print:
- Tap Shuttle (upper carriage): The part that slides on the linear rails. Connects to the Stealthburner body via M3 screws. V2.0 uses a metal version, but printed backups are useful.
- Tap Housing (lower body): Replaces the stock Stealthburner lower body. Contains the endstop mount and linear rail mounting points.
- Carriage (hotend mount): The part that holds the hotend heatsink. Different versions exist for Dragon, Revo, and Rapido hotends.
- Endstop mount: The bracket that holds the microswitch (v1.x) or Hall effect sensor (v2.0).
- Back plate / cover: Optional cosmetic cover for the back of the carriage.
Print all parts in ABS or ASA with 0.2mm layer height, 4 perimeters, 40% infill. The housing and carriage parts experience mechanical loads during probing — do not use PLA. Pay special attention to the linear rail mounting surfaces: print them face-down on the build plate for optimal flatness. Sand the rail mounting surfaces flat if needed (use a flat stone or 400-grit sandpaper on a surface plate).
Hardware Required
- 2x MGN7H (v1.x) or MGN9C (v2.0) linear rails, 100mm length
- 1x Omron D2F-5L microswitch (v1.x) or Hall effect sensor (v2.0)
- Springs: 2x 4mm diameter x 10mm length compression springs (v1.x) or 2x 4x8mm magnets (v2.0)
- M3x8mm, M3x12mm, M3x16mm screws (BHCS and SHCS as specified in the BOM)
- M3 heat-set inserts (8-10 pieces depending on version)
- 2x M3x6mm set screws (for rail carriage preload adjustment)
Assembly Steps
- Install heat-set inserts in all printed parts. Use a soldering iron with an M3 insert tip at 260°C. If your printed parts are in ABS, set the iron to 240°C — ABS melts at a lower temperature than the PETG/PLA inserts are typically designed for.
- Mount the linear rails to the housing. The MGN rail carriages should face inward (toward each other). Use M3x8mm screws with thread locker (Loctite 242) on the rail screws. The rails must be parallel — any binding here will cause the carriage to stick.
- Attach the endstop (microswitch or Hall effect) to the endstop mount. For the microswitch version, position the switch so the actuator arm contacts the carriage tab with approximately 1mm of pre-travel before the switch clicks.
- Mount the carriage (hotend carrier) to the rail carriages. The carriage should slide freely under its own weight with no binding. Adjust the MGN rail carriage preload using the eccentric set screws if your rails have them.
- Install the return springs or magnets. For springs: one on each side, positioned in the spring pockets. For magnets: install in the carriage and housing with opposite poles facing.
- Attach the hotend to the carriage. The heatsink fits into the carriage's clamp. Tighten the M3 screws evenly. Install the heat sink and fan duct.
- Mount the assembled Tap unit to the Stealthburner upper body. Use M3x12mm screws through the Shuttle into the Stealthburner's threaded inserts.
- Test the vertical movement: press the nozzle upward. The carriage should slide up smoothly and return to its home position when released. Listen for the microswitch click (v1.x) or verify the Hall effect sensor triggers at consistent carriage height.
Wiring — Endstop Pin Connection
Tap uses the Z endstop pin on your mainboard (not a separate probe pin). The wiring depends on the endstop type:
- Microswitch (v1.x): Wire the NC (normally closed) terminal to the signal pin and the COM terminal to ground. NC is preferred because if the wire breaks, the printer sees an endstop trigger and stops (fail-safe). If you wire NO (normally open), a broken wire means the endstop never triggers, allowing the nozzle to crash into the bed. The third terminal (NO) is unconnected. Use a 2-pin JST-XH or Dupont connector on the mainboard end.
- Hall effect sensor (v2.0): Wire VCC (5V or 24V depending on the sensor specification — check your sensor datasheet) to the board's 5V or 24V pin, GND to ground, and OUT to the signal pin. The Hall effect sensor is typically active-low (pulls to ground when triggered). Add a pull-up resistor if the sensor does not include one internally (most Voron mainboards include internal pull-ups on endstop pins).
Cable routing: Route the Tap wiring along the existing toolhead cable chain. Use a 3-4 core silicone-jacketed cable (24 AWG) for durability at high chamber temperatures. Secure the cable with zip ties at the back of the Stealthburner to prevent snagging on the gantry during Y-axis movement. Leave enough slack for the full Z height minus the Z hop distance — the wiring should not pull taut when the carriage is at maximum height.
Klipper Configuration
[probe]
pin: ^!PA7 ; ^ = pull-up, ! = invert signal
x_offset: 0.0 ; Tap has zero X/Y offset from nozzle
y_offset: 0.0
z_offset: 0.0 ; Calibrated via PROBE_CALIBRATE
speed: 5.0 ; Probing speed in mm/s (5mm/s recommended)
lift_speed: 10.0 ; Lift speed after probe
samples: 3
samples_result: median
sample_retract_dist: 3.0
samples_tolerance: 0.005 ; 5µm tolerance between samples
samples_tolerance_retries: 3
[stepper_z]
endstop_pin: probe:z_virtual_endstop
position_endstop: 0.0
Key parameters explained:
pin: ^!PA7— The caret (^) enables the internal pull-up resistor. The exclamation mark (!) inverts the signal, which is needed for NC microswitch wiring (triggered = low, untriggered = high). For Hall effect sensors, you may need to remove the exclamation mark depending on your sensor's output polarity.x_offset: 0.0, y_offset: 0.0— Because Tap uses the nozzle as the probe, there is zero offset. This is one of Tap's biggest advantages: the bed mesh is already perfectly aligned with the nozzle position.z_offset: 0.0— Set to 0 here. The actual Z offset is calibrated using PROBE_CALIBRATE, which measures the distance between the probe trigger point and the bed surface.speed: 5.0— Probing speed. 5mm/s is a good starting point. Slower (2-3mm/s) gives slightly better repeatability; faster (8-10mm/s) reduces probing time but can introduce overshoot variance. Test with PROBE_ACCURACY to find your optimal speed.samples: 3— Three samples per probe point is standard. The median of three eliminates single anomalous readings. Increase to 5 if you see inconsistent results.samples_tolerance: 0.005— 5 microns. If any sample deviates more than 5µm from the median, it retries. This is tight enough for Tap's ±2µm capability.
Calibration — Z Offset Procedure
- Preheat everything: Heat the bed to your printing temperature (100-110°C for ABS) and the hotend to printing temperature (245-255°C). Let everything soak for 10 minutes. Tap's calibration is temperature-stable, but the nozzle and bed expand with heat — calibrating hot ensures the offset reflects actual printing conditions.
- Home all axes:
G28(or your PRINT_START macro). - Run probe accuracy test:
PROBE_ACCURACY SAMPLES=10 SPEED=5.0. This measures 10 rapid probes and reports the min, max, range, standard deviation, and raw values. A well-tuned Tap should report a range below 4µm. If the range exceeds 10µm, check for mechanical binding (carriage not sliding freely), loose screws, or electrical noise on the endstop signal. - Calibrate Z offset:
PROBE_CALIBRATE. Follow the Klipper procedure: the printer probes the bed, then you lower the nozzle manually using the TESTZ commands until a piece of paper under the nozzle has slight drag. UseACCEPTto save the offset. The actual Z offset value will appear on the console — it represents the Z distance between the probe trigger point and the nozzle touching the bed. - Save to config:
SAVE_CONFIG. This writes the Z offset into the[probe]section of your printer.cfg. - Verify first layer: Print a 100x100mm single-layer square in the center of the bed. The layer should be uniformly 0.2mm thick with no gaps between lines and no elephant foot. Adjust the Z offset in 0.01mm increments if needed.
Probing speed tuning: Run PROBE_ACCURACY SAMPLES=10 SPEED=1.0, then again at SPEED=2.0, 5.0, 8.0, and 10.0. Plot the standard deviation vs speed. Most Tap builds show minimum variance at 3-5mm/s. Above 8mm/s, the Z axis inertia can cause the carriage to overshoot the trigger point slightly. Below 2mm/s, the slow speed introduces Z motor microstep vibrations that can cause premature triggering. Your optimal speed is the one that gives the lowest standard deviation.
Benefits of Tap — Why It's Worth It
- Zero Z offset drift with temperature: Inductive probes drift as the toolhead temperature changes (the sensor expands, the mounting bracket expands, the electronics temperature coefficient shifts). Tap measures the nozzle directly — the nozzle doesn't change length meaningfully between 25°C and 260°C (thermal expansion of brass/copper is ~0.02mm over that range, and it's consistent across all prints). Your first layer is the same at print 1 and print 1000.
- No hotend fan cooling effect: Inductive probes can be affected by the part cooling fan — the fan's airflow cools the probe's electronics, changing its trigger distance. Tap has no electronics near the nozzle that the fan could affect.
- Consistent first layers: With ±2µm repeatability and zero offset drift, every print starts with a perfect first layer. No more bed-leveling adjustments mid-print. No more waking up to a first layer that's 0.05mm too high because the chamber temperature changed.
- Simpler print start macros: No docking, no probe pick-up routines, no dock detection checks. Your PRINT_START macro is just G28, bed mesh, and print. Tap is always there, ready to probe.
Troubleshooting — Common Tap Problems
Tap Not Retracting (Carriage Stays Up)
The most common Tap failure. The carriage slides up on probe, but does not return to its home position. Causes and fixes:
- Carriage binding on linear rails: The most likely cause. The MGN rails may not be perfectly parallel, or the carriage preload is too tight. Loosen the rail mounting screws, slide the carriage through its full range, then re-tighten the screws while holding the carriage at mid-travel. Check that both rails move freely — a rail with a tight spot can cause the carriage to stick.
- Excessive grease: Too much lithium grease on the rails can create hydraulic resistance at the top of travel. Wipe the rails clean with isopropyl alcohol and re-apply a thin film of light machine oil (Super Lube 51004 or sewing machine oil).
- Springs too weak (v1.x): The return springs can lose tension over time. Replace with fresh springs or add a small magnet to assist the return.
- Magnets stuck (v2.0): If the return magnets are too strong, the carriage may not return fully. Check that the magnets are oriented with opposite poles facing (they should attract, not repel). If they're too strong, replace with thinner magnets or add a spacer to increase the gap.
Bent Probe Pin (Microswitch Version)
The Omron D2F-5L switch has a thin metal actuator arm. If the nozzle crashes into the bed with excessive force (from a failed endstop, incorrect config, or crashed homing), the arm can bend. Fix: replace the microswitch. Do not attempt to bend the arm back — the force required to bend it has already work-hardened the metal, and the switch's trigger point will be inconsistent. Keep spare D2F-5L switches on hand (they cost $0.50-1.00 each).
Switch Malfunction (Intermittent or No Trigger)
- Dust or debris in the switch: ABS fumes can deposit a thin film on switch contacts. Clean with contact cleaner (DeOxit D5) or replace the switch.
- Loose wiring: The 3-pin JST connector on the microswitch can work loose from vibration. Apply a small dab of hot glue or silicone to secure the connector.
- Endstop pin configuration wrong: Verify the pin number and pull-up/inversion settings in Klipper. Use the
QUERY_ENDSTOPcommand to test the switch state (triggered vs untriggered).
Tap Not Compatible with My Hotend
Tap provides different carriage adapters for different hotend types:
- Dragon/Dragonfly: Standard Tap carriage works. The Dragon's cylindrical heatsink fits the clamp-style carriage. No modifications needed.
- Revo (Voron edition): Requires a specific Revo carriage adapter. The Revo heatsink has a different diameter and keyway position than the Dragon. Available in the Tap GitHub repository.
- Rapido UHF: Requires a Rapido-specific carriage adapter. The Rapido heatsink is wider than the Dragon. Also needs a modified fan duct to clear the larger heatsink.
- Mosquito/Mosquito Magnum+: Requires a Mosquito adapter carriage. The Mosquito mounts via two M3 screws on the sides rather than a clamp. Available in community remixes.
- Goliath: Custom carriage required. The Goliath's massive heat block and unique mounting pattern necessitate a dedicated carriage design. Available from the Goliath manufacturer's GitHub.
Verify that your hotend's carriage adapter exists before ordering Tap hardware. The Dragon adapter is the most widely available. Revo, Rapido, and Mosquito adapters exist but may require printing from community remix repositories.
Tap Compatibility with Voron Models
- Voron V2.4: Excellent fit. Tap adds 45g to the toolhead, but the V2.4's heavy gantry (dual Z steppers, 4 linear rails) easily handles the extra mass. Re-tune input shaper after installing Tap — the resonant frequency will shift by 5-10 Hz.
- Voron Trident: Good fit. The Trident's moving bed means toolhead mass is less critical than on a bed-slinger, but the added 45g on the toolhead is still measurable in input shaper graphs. Trident users report excellent results with Tap at accelerations up to 8,000 mm/s².
- Voron V0.2: Not compatible. The V0.2 uses a Mini Stealthburner toolhead, which does not have a Tap-compatible lower body. Use Klicky or Euclid for the V0.2.
- Voron Switchwire: Not recommended. The Switchwire's cantilevered X gantry is sensitive to toolhead mass. Tap's 45g additional weight on the toolhead reduces maximum acceleration and introduces ringing at lower speeds. Klicky is a better choice for the Switchwire.