Voron Trident Z Motor Replacement — Step-by-Step Guide
Trident Repair Z-Axis Stepper Motor
The Voron Trident uses three independent Z stepper motors — one at each corner of the bed carriage — to provide automatic Z tilt adjustment. When one of these motors fails, the printer loses its ability to tram the bed correctly, resulting in inconsistent first layers, binding during Z movement, or complete Z-axis failure. This guide covers diagnosing which Z motor has failed, selecting the correct replacement, physical removal and installation, wiring verification, Klipper reconfiguration, and re-establishing Z tilt calibration. Last updated: May 2025.
This guide applies to all Trident build sizes (250mm, 300mm, 350mm) — the Z motor mounting and wiring are identical across sizes. Only the leadscrew length and the Z belt length differ.
Identifying a Failed Z Motor
- Z-axis binding or grinding noise: If the Trident makes a grinding, clicking, or buzzing sound when moving in Z, one motor may have a damaged bearing, a broken internal winding, or a seized rotor. Move each Z axis independently using the Klipper console (
SET_KINEMATICSor individualSTEPPER_BUZZ STEPPER=stepper_zcommands) to isolate which motor is faulty. - Printer tilts to one corner during Z movement: Visually observe the three corners of the bed as you move Z up and down. If one corner lags behind the other two by more than 1-2mm over 50mm of travel, that Z motor is not producing full torque or is skipping steps.
- Z_TILT_ADJUST fails or gives wildly inconsistent results: If Z tilt adjust reports corrections of more than 0.5mm between adjacent corners, or if the corrections change drastically between consecutive runs (e.g., +0.3mm then -0.2mm), a motor is likely binding or missing steps.
- Motor runs hot (>80°C) or has a burned smell: A shorted winding in a stepper motor causes it to draw excessive current and overheat. If one Z motor is significantly hotter than the other two after printing (measure with an IR thermometer), check its resistance immediately.
Diagnosing the Fault — Motor vs Driver vs Wiring
Before ordering a replacement motor, rule out two other common failure points: the stepper driver (TMC2209, TMC2240, or similar) and the wiring harness.
| Symptom | Likely Cause | Test |
|---|---|---|
| Motor does not move at all, no vibration | Driver failure or no power to driver | Swap the motor wire to another known-good Z driver. If the motor works, the original driver is dead. |
| Motor buzzes but does not rotate | Missing phase — one coil is open | Measure resistance between coil pairs (see below). Open coil = motor replacement. |
| Motor moves jerkily or skips steps at low speed | Wiring issue — loose connector, broken wire, or cold solder joint | Inspect the cable from the motor to the mainboard. Flex the cable while the motor is running — if it stutters, the wire is broken internally. |
| Motor runs hot on one axis but not others | Shorted winding in the motor, or driver current set too high | Measure coil resistance and compare to the other motors. Check run_current in printer.cfg. |
Measuring stepper motor coil resistance: Disconnect the motor from the driver. Use a multimeter in resistance mode. A standard NEMA 17 with 1.5A rated current has approximately 1.5-2.5 ohms per coil. Measure between each phase pair (A+ to A- and B+ to B-). Both coils should read within 5% of each other. If one coil is open (OL) or shorted (0 ohms), the motor is defective. If both coils read approximately the same but the motor still does not work, the issue is likely the driver or wiring.
Selecting a Replacement Z Motor
The Trident uses a specific NEMA 17 stepper motor for Z. Here are the critical specifications:
- Physical size: NEMA 17 (42mm square frame). Standard length is 40mm (sometimes called 42-40 or NEMA 17-40). The stock Trident kit from Formbot, LDO, or Fysetc all use 40mm-length motors. A 48mm-length motor (NEMA 17-48) has higher torque but may not fit in the Z motor mount. Measure your existing motor length before purchasing.
- Holding torque: 0.45-0.55 Nm (45-55 Ncm). This is sufficient for the Trident's Z-axis with a single leadscrew per corner. If you have a heavy print head or additional mods, consider a motor with 0.55-0.65 Nm (e.g., LDO-42STH40-1684AC).
- Rated current: 1.2-1.8 A per phase. Most Trident kits use 1.5A motors. The run_current in your printer.cfg should be set to approximately 80% of the rated current (0.8-1.0 A RMS for a 1.3A motor).
- Winding resistance: 1.3-2.5 ohms per phase. Match this approximately to your existing motors to keep the electrical characteristics similar.
- Inductance: 2.5-4.5 mH per phase. Lower inductance motors run smoother at high microstepping but have lower holding torque at low speeds. For the Trident Z axis (which moves slowly, typically 5-15 mm/s), inductance matters less than holding torque.
- Shaft diameter: 5mm D-shaft (standard for NEMA 17). The Z coupler (Oldham or helical) must fit this shaft. Most Trident kits use 5mm-to-8mm couplers (5mm motor shaft to 8mm leadscrew).
Recommended replacement motors: LDO-42STH40-1684AC (0.55 Nm, 1.5A, well-matched to stock Trident), StepperOnline 17HS19-1684S (0.55 Nm, 1.68A, excellent value), MOONS' MS17HD2P4200 (0.5 Nm, 1.5A, factory original in many Formbot kits). Avoid unbranded eBay motors — they often have wildly inaccurate torque ratings and poor winding consistency.
Tools Needed
- 2.5mm and 3mm hex drivers
- 7mm socket or wrench (for Z motor mount screws)
- Multimeter (for coil resistance and wiring verification)
- Soldering iron and heat shrink (if re-terminating the motor connector)
- Small flathead screwdriver (for motor connector release)
- Isopropyl alcohol and lint-free cloth (for cleaning the leadscrew and coupler)
- PTFE grease or lithium grease (for leadscrew lubrication)
- Digital caliper (for measuring shaft and coupler dimensions)
Removing the Old Z Motor
- Power off and disconnect. Unplug the printer from mains power. Disconnect the printer from the controller board (USB, CAN, or Ethernet). Wait for the power supply capacitors to discharge (30 seconds minimum, 2 minutes to be safe).
- Remove the Z motor mount covers. The Trident has three Z motor mounts — one at each corner of the frame. Each mount is enclosed by a printed ABS or PC cover. Remove the cover screws (usually M3, 2.5mm hex) and set the cover aside.
- Disconnect the motor cable. Unplug the motor cable from the Z motor (four pins, usually JST-XH or Molex Micro-Fit connector). On some builds, the cable passes through a cable chain — you may need to open the chain to pull the cable free. Label the cable with tape (e.g., "Z motor, front-left") to avoid confusion during reassembly.
- Loosen the Z belt tension. The Z motor drives the leadscrew via a GT2 belt. Loosen the tensioner screw on the motor mount plate to slacken the belt. Do not remove the belt — just make it loose enough to slide the motor out.
- Remove the Z coupler. The Z motor shaft connects to the leadscrew through a flexible coupler (Oldham or helical type). Loosen the two set screws on the coupler — one on the motor shaft side (5mm) and one on the leadscrew side (8mm). Slide the coupler up the leadscrew to expose the motor shaft. If the set screws use threadlocker, you may need to heat them slightly with a soldering iron to break the bond.
- Remove the motor mount screws. The Z motor is held to the mount plate by four M3 screws (usually through the front face of the plate). Remove these screws with a 2.5mm hex driver. Support the motor as you remove the last screw to prevent it from dropping.
- Slide the motor out. Pull the motor assembly out of the mount plate. If the shaft is stuck in the coupler, gently rock the motor side-to-side while pulling. Do not pry against the leadscrew or the mount plate — you may bend the leadscrew or crack the printed mount.
Installing the New Z Motor
- Prepare the new motor. Clean the motor shaft with isopropyl alcohol to remove any protective oil. If the motor came with a plastic shaft protector, remove it. Inspect the D-flat on the shaft — it should be clean and free of burrs.
- Transfer the pulleys. If your Z motor has a GT2 pulley on the shaft, you need to transfer it from the old motor. The pulley is secured with two set screws (M3, 1.5mm hex). Loosen the set screws, slide the pulley off the old motor, and install it on the new motor at the same position (measure from the shoulder of the shaft using a caliper). Tighten the set screws to 0.3 Nm (snug plus an eighth turn). Use threadlocker (medium strength, blue) on the set screws.
- Mount the motor to the plate. Install the new motor onto the Z motor mount plate using the four M3 screws. Torque to 0.5 Nm (moderate snug — do not overtighten, as the printed plate can crack). The motor shaft should extend through the plate and align with the leadscrew coupler.
- Connect the coupler. Slide the Oldham or helical coupler down the leadscrew so that it engages the motor shaft. The coupler should be positioned so that approximately half its length is on the motor shaft and half on the leadscrew. Tighten the motor shaft set screw first, then the leadscrew set screw. Alternate between the two, tightening in small increments, to ensure the coupler seats evenly.
- Tension the Z belt. Re-tension the GT2 belt between the motor pulley and the leadscrew pulley. Target frequency: 90-100 Hz. Adjust the tensioner screw until the belt is taut but not strained — a properly tensioned Z belt should deflect approximately 5mm when pressed firmly at the midpoint of the longest span. Re-tighten the tensioner lock nut when done.
- Reconnect the motor cable. Plug the motor cable into the new motor. Ensure the connector is fully seated and the locking tab clicks into place. Route the cable properly inside the cable chain if present.
- Reinstall the cover. Replace the Z motor mount cover and secure with the original screws.
Wiring Verification
Before closing everything up and applying power, verify the motor wiring:
- Coil continuity: At the mainboard end of the cable, measure resistance between the four pins in the motor connector. Identify the two coil pairs (usually A+ and A- are one coil, B+ and B- are the other). Each pair should read 1.3-2.5 ohms. There should be no continuity between the two different coils (infinite resistance).
- Short to ground: Measure resistance between each motor wire and the printer frame ground. All readings should be infinite (open circuit). If any wire shows continuity to ground, the motor has a short — do not power on.
- Connector orientation: Verify that the connector is keyed correctly and cannot be inserted backwards. On JST-XH connectors, the beveled edge of the housing should face the locking tab on the receptacle.
- Cable strain relief: Ensure the cable is not under tension at either end. Add a zip tie to provide strain relief at the motor end if the connector is not secured to the mount plate.
Klipper Configuration for the New Motor
The new motor may have different electrical characteristics than the old one. Update the stepper section in your printer.cfg:
[stepper_z1] # Z motor name depends on which corner you replaced step_pin: PB5 dir_pin: !PC6 enable_pin: !PB2 microsteps: 16 rotation_distance: 8 full_steps_per_rotation: 200
Key parameters to check or adjust:
rotation_distance: This is determined by the leadscrew pitch, not the motor. For a standard Trident 8mm leadscrew with 2mm pitch, rotation_distance is 8mm (4 starts x 2mm pitch = 8mm per rotation). Do not change this unless you replaced the leadscrew.microsteps: Keep at 16. Changing this changes the Z resolution and affects the Z_TILT_ADJUST algorithm.full_steps_per_rotation: Standard NEMA 17 motors are 200 steps per rotation (1.8° step angle). If your new motor is a 0.9° step angle (400 steps/rotation), set this to 400 and adjust microsteps accordingly.
Stepper driver current: Adjust run_current in the [tmc2209 stepper_z1] section to match the new motor:
[tmc2209 stepper_z1] uart_pin: PD11 tx_pin: PD10 uart_address: 2 run_current: 0.850 hold_current: 0.500 sense_resistor: 0.110 interpolate: True
Set run_current to approximately 70-80% of the motor's rated current. For a 1.5A motor, use 1.0-1.2A. For a 1.2A motor, use 0.85-1.0A. Overdriving the motor causes overheating and missed steps. Underdriving reduces torque and may cause stalling on a heavy bed carriage.
Re-calibrating After Replacement
- Home all axes. Run
G28. The printer should home normally. Listen for smooth Z movement — no grinding, clicking, or hesitation. If the motor makes a high-pitched whine, the driver current may be too low or the microstepping may be set incorrectly. - Test each Z motor independently. Use
STEPPER_BUZZ STEPPER=stepper_z(and z1, z2). The motor should vibrate audibly at increasing frequency without skipping. If the motor does not buzz, check the wiring and driver configuration. - Run Z_TILT_ADJUST. Heat the bed to 100°C, soak for 10 minutes, then run
Z_TILT_ADJUST. The first run may show large corrections (0.2-0.5mm) as the new motor settles into the system. Run it twice — the second run should show corrections under 0.05mm. If corrections are still large, check that the Z belt on the replaced motor is correctly tensioned and the motor mount screws are tight. - Run a full bed mesh. After Z tilt, run
BED_MESH_CALIBRATEwith a 5x5 grid. The mesh range should be under 0.10mm. If the mesh shows a consistent tilt in the corner where you replaced the motor, re-check the Z belt tension and motor alignment. - Perform a Z accuracy test. Move Z from 0 to 200mm in 10mm increments, measuring the actual height at each step with a dial indicator or digital caliper. The error should accumulate to less than 0.1mm over the full Z range. If error accumulates linearly, adjust rotation_distance slightly. If error is erratic, the motor is skipping steps — increase run_current by 0.05A and re-test.
Motor Alignment — Avoiding Common Issues
Proper alignment between the Z motor shaft and the leadscrew is critical on the Trident. Misalignment causes:
- Binding at specific Z heights: If the motor shaft and leadscrew are not perfectly coaxial, the coupler must flex to compensate. At some Z positions, the coupler reaches its flex limit and binds. This shows as a sudden increase in Z motor current draw and audible straining.
- Premature coupler wear: Oldham couplers have a plastic center disc that wears out when misaligned. If you see plastic dust near the coupler after a few hours of printing, the motor is misaligned.
- Vibration in the frame: Misaligned Z motors transmit vibration into the frame at the rotational frequency of the motor (1.8° steps = 200 full steps per rotation, so at 10 mm/s Z speed, the vibration frequency is approximately 125 Hz). This can cause visible artifacts in prints.
To check alignment: With the motor mount screws slightly loose, move the gantry through a full Z cycle (0 to 250mm and back). The motor should self-align to the leadscrew as it rotates. Then tighten the mount screws while the motor is running at slow speed (5 mm/s). This ensures the motor finds its natural coaxial position before being locked in place.
When to Replace All Three Z Motors
If your Trident has more than 3000-4000 hours of printing, consider replacing all three Z motors at once even if only one has failed. The other two motors have similar wear levels and will likely fail within a few hundred more hours. Replacing all three ensures:
- Electrical characteristics are matched (identical rated current, inductance, and resistance)
- Thermal characteristics are identical (all three motors heat up and cool down at the same rate)
- Z tilt adjust works with minimum correction — mismatched motors may require different driver currents
- You only disassemble the Z system once instead of three separate times
If you replace only one motor, try to source the same brand and model as the original. LDO motors match LDO kits, StepperOnline motors match Formbot kits, and MOONS' motors match Fysetc kits. Mixing brands can lead to subtle differences in torque output that the Z tilt adjust algorithm must constantly compensate for.