Voron Trident Bed Alignment Guide — Tramming and Z Tilt Adjust
Trident Bed Leveling Calibration 15 min read
The Voron Trident uses a fixed-gantry-with-moving-bed design where three Z leadscrews arranged in a triangle raise and lower the bed platform. This is fundamentally different from the V2.4's flying gantry — the bed moves, not the gantry. Correct bed alignment on a Trident requires three things to be true: the bed platform must be mechanically trammed to the gantry, the Z_tilt_adjust system must be correctly calibrated, and the bed mesh must be generated and applied. If any of these is off, you will see inconsistent first layers, poor adhesion, and reduced print quality.
Last updated: May 2025. This guide walks through the complete Trident bed alignment process, from the initial mechanical setup to final Klipper calibration. All pricing reflects China-direct sourcing through our parts mini-program.
Trident Bed Assembly Overview
The Trident bed platform consists of an aluminum bed frame (three 2020 extrusions forming a triangle), three Z leadscrew blocks with brass nuts, three stepper motors (one per corner), and the heated bed assembly mounted on top. The Z motors sit at the bottom of the frame, driving leadscrews through flexible couplers that lift the bed platform. The three-point kinematic design is inherently stable — three points define a plane, so once the bed is trammed, it stays trammed unless mechanical components shift.
Important: The Trident's bed alignment is divided into two distinct domains: coarse mechanical alignment (done with wrenches and calipers) and fine electronic alignment (done with Z_tilt_adjust in Klipper). Skipping the mechanical step and relying solely on Z_tilt_adjust is the most common mistake Trident builders make. Z_tilt_adjust has a limited adjustment range — typically 5-8mm max — and cannot compensate for a bed platform that is mechanically skewed by more than that.
Tools and Parts Needed
| Item | Specification | China-Direct Price |
|---|---|---|
| Digital calipers | 150mm, 0.01mm resolution | $8-12 |
| Machinist's square | 100mm, hardened steel, class 2 or better | $10-15 |
| Spirit level | 600mm, machined edge | $6-10 |
| Z leadscrew couplers | 5mm to 8mm flexible beam (spare if damaged) | $2 each |
| Brass leadscrew nuts | T8, 2mm pitch, 4-start (backlash nut) | $3 each |
| Low-strength threadlocker | $4-6 |
Step 1: Mechanical Bed Platform Tramming
Before Z_tilt_adjust can work, the bed platform must be mechanically trammed to the gantry. This assumes the frame itself is square (checked in the initial build). Follow these steps in order:
1A. Check Leadscrew Straightness
Remove the three Z leadscrews from the machine and roll them on a flat surface (a granite countertop or glass plate). Any wobble indicates a bent leadscrew. Even a 0.1mm bend at the center of a 350mm leadscrew will cause visible Z-banding and bed tilt. A bent leadscrew must be replaced — there is no way to straighten a T8 leadscrew reliably. China-direct pricing for T8 leadscrews (350mm, 4-start, stainless steel) is approximately $4-6 each on AliExpress.
1B. Align the Bed Frame Extrusions
The three 2020 extrusions that form the bed frame triangle must be perfectly level with each other. Place the spirit level across each pair of extrusions and adjust the M5 bolts at the joints until all surfaces are level. Use the machinist's square to check that each extrusion is perpendicular to the gantry. Tighten all bolts to 1.5 Nm.
1C. Set the Z Motor Positions
The three Z motors must be at the same physical height relative to the frame. Measure from the motor mounting surface to the base of the motor shaft for each motor. Variation should be under 0.2mm. If a motor is higher or lower, use shim washers (M3 x 0.1mm or 0.2mm shims) under the motor mount. A set of 100 assorted M3 shims costs approximately $3 on AliExpress.
1D. Install Leadscrews and Couplers
Install the leadscrews through the brass nuts on the bed platform, then connect them to the motor shafts using flexible beam couplers. The coupler must be centered so there is equal gap between the two halves on each side. Off-center couplers induce radial runout. Tighten the M3 set screws to 0.8 Nm — just snug enough to prevent slip, not so tight that you deform the coupler. A set of three 5mm-to-8mm flexible couplers costs approximately $2-3 on AliExpress.
Step 2: Z Endstop and Probe Setup
The Trident typically uses a single Z endstop (either a mechanical switch on the gantry or the probe itself as a virtual endstop for the first Z motor). The recommended configuration is to use the probe as a virtual endstop:
[stepper_z]
endstop_pin: probe:z_virtual_endstop
position_min: -5
position_endstop: -4
position_max: 300
This allows the probe to define Z zero, with Z_tilt_adjust using the probe to measure bed height at the three Z motor locations. If you use an Omron TL-Q5MC2 inductive probe (the standard Voron probe), it has a switching distance of 5mm ± 10% and requires a metal target on the bed surface. The probe must be adjusted so its detection face is exactly 3.5-4.0mm above the nozzle. Use a feeler gauge or calipers to set this gap precisely.
Probe pricing (China-direct): An Omron TL-Q5MC2 clone costs $4-6 on AliExpress. The genuine Omron (made in Japan) costs $15-20 but has better temperature stability. For high-temp printing (ABS, PC, Nylon), spend the extra for genuine — clone probes drift by 0.02-0.05mm as chamber temperature rises, which adds up across a bed mesh.
Step 3: Z Tilt Adjust Configuration
The [z_tilt] section in Klipper controls the three-point bed leveling system. Here's the standard configuration for a Trident 300mm:
[z_tilt]
z_positions:
0, 0
0, 300
300, 0
points:
50, 50
50, 250
250, 50
speed: 200
horizontal_move_z: 10
retries: 5
retry_tolerance: 0.02
Parameter breakdown:
z_positions— The XY positions of the three Z leadscrews (not the probe points). These correspond to the physical location of each leadscrew in the bed frame. The order must match your motor wiring: typically front-left (stepper_z), rear-center (stepper_z1), and front-right (stepper_z2).points— The XY coordinates where the probe measures height for each Z position. These should be directly above each leadscrew location, offset by your probe's XY position relative to the nozzle.retry_tolerance— The maximum allowable deviation in mm. 0.02mm (20 microns) is standard for ABS printing. For PLA or PETG, 0.03mm is acceptable.
Step 4: Running Z Tilt Adjust
With everything configured, run the calibration:
- Heat the bed to your printing temperature (100°C for ABS, 60°C for PLA). Thermal expansion changes bed geometry — always calibrate at printing temperature.
- Run
Z_TILT_ADJUSTfrom the Klipper console or Fluidd/Mainsail interface. - The probe will measure height at each of the three points and calculate the corrections needed for each Z motor.
- Klipper will mechanically adjust each Z stepper to tram the bed. The report will show how much each motor was adjusted, in mm.
- Run
Z_TILT_ADJUSTagain to verify. The second run should show adjustments under 0.02mm. If not, the mechanical tramming (Step 1) needs to be re-checked. - Once satisfied, run
SAVE_CONFIGto persist the Z motor position offsets.
Step 5: Bed Mesh Generation
After Z_tilt_adjust has trammed the plane, you still need bed mesh compensation for local bed imperfections and the PCB heater's slight warpage. Configure your [bed_mesh] section:
[bed_mesh]
speed: 200
horizontal_move_z: 5
mesh_min: 30, 30
mesh_max: 270, 270
probe_count: 7, 7
algorithm: lagrange
fade_start: 0.6
fade_end: 10
fade_target: 0
A 7x7 grid (49 points) provides 10mm resolution on a 300mm bed. For Trident builds using cast aluminum tooling plate (highly recommended), a 5x5 grid is usually sufficient because the plate is inherently flat. Tooling plate (MIC6 or similar) costs approximately $25-40 for a 300x300x6mm piece from Chinese aluminum suppliers on Taobao — a worthwhile upgrade over the stock PCB heater surface.
Run BED_MESH_CALIBRATE to generate the mesh. The output should show deviation of less than 0.15mm total variance for a tooling-plate bed, or less than 0.3mm for a PCB heater bed. If variance exceeds these figures, check for debris under the bed or a warped heater.
Troubleshooting Common Alignment Issues
- Z_tilt_adjust reports large corrections every run: The leadscrew couplers are slipping or the brass nuts are loose. Check the coupler set screws and the M3 screws securing the brass nut to the bed platform. Apply Loctite 222 to prevent loosening from vibration.
- First layer is thick on one side and thin on the other after Z_tilt: The probe XY offset is wrong. Verify your [stepper_z] and probe offset configuration. Use the PAPER method at each corner to confirm Z height consistency.
- Z banding at regular intervals matching leadscrew pitch: The T8 leadscrew has a 2mm pitch with 4 starts (8mm lead per revolution). Banding at 8mm intervals indicates a leadscrew nut that is too tight or a bent leadscrew. Loosen the brass nut mounting screws slightly — the nut should have 0.1-0.2mm of float for self-alignment.
- Probe trigger height changes after heating: The inductive probe's switching distance varies with temperature. If you see more than 0.05mm Z offset drift from cold to 100°C chamber, replace the probe with a genuine Omron or switch to a Beacon/Eddy contactless probe ($35-45 from China-direct vendors).
Maintenance Schedule for Bed Alignment
- Before every print: Run
Z_TILT_ADJUSTandBED_MESH_CALIBRATE— add these to your START_PRINT macro for full automation. - Every 200 hours: Physically check leadscrew coupler tightness and brass nut alignment. Clean and re-lubricate the T8 leadscrews with PTFE grease.
- Every 500 hours: Re-tram the bed platform using the mechanical steps above. Thermal cycling over hundreds of hours can shift the aluminum frame.
- Every 1000 hours: Inspect leadscrews for wear — the T8 brass nuts are sacrificial and should be replaced if you see accumulated brass dust at the bottom of the Z towers.