Voron 0.9 Degree Stepper Motor Upgrade
Stepper Motors 0.9 Degree VFA Reduction Motion System Print Quality
Standard NEMA 17 stepper motors have a step angle of 1.8 degrees — meaning 200 full steps per revolution. This has been the industry standard for decades, and it works well. But for the highest possible print quality — especially on glossy filaments like ABS and ASA where every artifact shows — upgrading to 0.9 degree stepper motors (400 full steps per revolution) offers a noticeable improvement in surface finish and detail resolution. Last updated: May 2025.
This guide covers everything you need to know about upgrading your Voron printer’s stepper motors from 1.8 to 0.9 degree: what the upgrade actually does (and doesn’t do), which axes benefit most, recommended motor models from LDO, StepperOnline, and Moons, China-direct pricing, the complete installation and Klipper configuration process, and the specific VFA (Vertical Fine Artifact) reduction you can expect.
What Are 0.9 Degree Stepper Motors?
A stepper motor moves in discrete steps. A standard 1.8 degree motor requires 200 steps to complete one full revolution (360 / 1.8 = 200). A 0.9 degree motor requires 400 steps per revolution (360 / 0.9 = 400). This means the motor can position the axis with twice the angular resolution.
In practical terms, on a Voron V2.4 with a standard 20-tooth GT2 pulley and 2mm belt pitch, the linear resolution per full step is:
- 1.8 degree motor: 0.010 mm per full step (20 teeth x 2mm = 40mm per revolution, 40mm / 200 steps)
- 0.9 degree motor: 0.005 mm per full step (40mm / 400 steps)
With 16 microstepping (typical for TMC2209/2240 drivers), the microstep resolution becomes 0.000625 mm for 1.8 degree motors and 0.0003125 mm for 0.9 degree motors. While microstepping accuracy degrades under load, the doubled native resolution provides real benefits in position accuracy.
Benefits of the Upgrade
Reduced VFA (Vertical Fine Artifacts): This is the primary reason Voron builders upgrade to 0.9 degree motors. VFA appears as faint vertical lines on the surface of prints, most visible on glossy filament in direct lighting. These artifacts are caused by the motor’s detent torque and the interaction between full-step positions and the microstep interpolation algorithms in TMC drivers. By doubling the number of natural step positions, 0.9 degree motors spread these artifacts more finely, making them much less visible or completely invisible.
Improved low-speed smoothness: 0.9 degree motors have inherently lower torque ripple at low speeds because the step transitions are smaller and smoother. This means your first layer, which is printed at slow speeds (20-40 mm/s), will have a more consistent extrusion width and better surface quality.
Better input shaper performance: The finer angular resolution means the motor can respond more precisely to input shaper waveform commands. Users report cleaner resonance compensation with 0.9 degree motors, especially on the X and Y axes of larger printers.
What 0.9 degree motors do NOT do: They don’t increase print speed. They don’t increase maximum torque (in fact, 0.9 degree motors typically have slightly lower holding torque than their 1.8 counterparts). They don’t solve mechanical issues like loose belts or misaligned gantries. They are a refinement upgrade, not a performance upgrade.
Recommended Motors and China-Direct Pricing
Not all 0.9 degree motors are created equal. For Voron printers, you need motors with the right electrical characteristics (inductance, current rating) and physical dimensions (NEMA 17 frame, 47-48mm body length). Here are the recommended options:
| Motor | Type | China Direct (AliExpress) | US/EU Retailer | Notes |
|---|---|---|---|---|
| LDO 42STH47-2004AC | 0.9 degree, 1.2A, 47mm | $18-22 | $30-40 | Best overall, low inductance |
| StepperOnline 17HS15-1684S | 0.9 degree, 1.68A, 48mm | $12-16 | $22-30 | Good value, slightly higher inductance |
| Moons MS17HD4P4200 | 0.9 degree, 1.2A, 48mm | $16-20 | $28-38 | Quiet operation, well-regarded |
| LDO 42STH20-2004AH | 0.9 deg, high temp, 48mm | $20-25 | $35-48 | High-temp version for enclosures |
| Set of 3 (XY + extruder) | LDO 0.9 deg | $55-65 | $90-120 | Most common upgrade config |
| Set of 5 (XY + Z + extruder) | LDO 0.9 deg | $90-110 | $150-200 | Full printer upgrade |
The LDO 42STH47-2004AC is the community favorite. It has low inductance (which means it works well with Klipper’s high-frequency stepping) and runs cool enough for enclosed operation. The StepperOnline 17HS15-1684S is a solid budget choice — not as smooth as the LDO but half the price.
Difficulty Level and Time Required
Difficulty: Intermediate. Swapping stepper motors on a Voron is mechanically straightforward — unscrew the old motor, screw in the new one, connect the wires. The difficulty is in the Klipper configuration: you need to update rotation_distance, microstep settings, and possibly current and stealthChop parameters. If you’re also replacing Z motors, expect additional work to re-tram the gantry.
Time required: 2-3 hours for swapping all XY motors and the extruder. Add 1-2 hours per Z motor if replacing those (Z motor replacement on V2.4 requires gantry disassembly). First-time motor swap will take longer while you figure out wire routing and connector pinouts.
Step-by-Step Upgrade Process
Step 1: Choose Which Motors to Upgrade
Most users upgrade only the X and Y motors and the extruder motor. The Z motors benefit less from 0.9 degree because the Z-axis moves infrequently and at very slow speeds. However, some users report reduced Z-band artifacts with 0.9 degree Z motors. Our recommendation:
- Must upgrade: X and Y motors — these have the biggest impact on VFA reduction
- Recommended upgrade: Extruder motor — better low-speed extrusion consistency
- Optional upgrade: Z motors — marginal benefit, significant installation effort on V2.4
Step 2: Order the Motors and Check Compatibility
Verify your new motors have the same physical dimensions as your current ones. Voron V2.4 and Trident use NEMA 17 frame (42mm square), 47-48mm body length. The shaft diameter should be 5mm for XY motors (for the GT2 pulley) and 5mm for Z motors. The extruder motor is typically a NEMA 14 pancake or NEMA 17 slim — measure your existing extruder motor before ordering.
Check the motor’s rated current. LDO 42STH47-2004AC is 1.2A per phase. StepperOnline 17HS15-1684S is 1.68A per phase. Your TMC driver must be configured with a current limit appropriate for the motor — never exceed the motor’s rated current.
Step 3: Disassemble and Remove Old Motors
Power down the printer completely. Disconnect the power supply and wait 5 minutes for capacitors to discharge.
X motor: Remove the toolhead and X-axis tensioner. Loosen the belt and slide it off the pulley. Remove the X motor from the X extrusion. Disconnect the motor wires at the mainboard end (label them first!).
Y motors: On a V2.4, the Y motors are at the rear of the printer, mounted on the frame. Remove the rear panels, loosen the Y belts, and slide the belts off the pulleys. Remove the motor mounting screws (typically M3x8mm or M3x10mm). Disconnect the wires.
Extruder motor: Remove the extruder from the toolhead (or the entire toolhead for easier access). The extruder motor is typically held by 2-4 M3 screws through the extruder body. Disconnect the wires.
Step 4: Install New Motors
Pulley transfer: Remove the GT2 pulley from the old motor shaft and install it on the new motor shaft. Use the grub screw (with Loctite) to secure it. Make sure the pulley is aligned with the belt path — the grub screw should seat on the flat spot of the shaft (if present) or on the shaft itself (if no flat spot — rare for 0.9 degree motors).
Install the motor: Place the new motor in the mount. Use the same screws that held the old motor. Don’t overtighten — the aluminum frame of the motor is softer than the screws, and stripped motor mount holes are a nightmare. Torque to about 0.5 Nm.
Wire connection: Stepper motors have two coils (A and B). The standard color code is:
- Coil 1: Black (A1), Green (A2)
- Coil 2: Red (B1), Blue (B2)
This matches the standard Voron wiring. If your new motor has different colors, use a multimeter to identify the coil pairs (measure resistance — the two wires of a coil will show ~2-5 ohms, unconnected coils will show open circuit).
Step 5: Tension Belts and Reassemble
Re-install the belts on the pulleys. Apply belt tension — the standard Voron method: use the Gates Carbon Drive app to measure belt frequency. Target 110-120 Hz for XY belts. Re-install the toolhead and any removed panels.
Step 6: Update Klipper Configuration
The critical change is the rotation_distance for each 0.9 degree motor. For a standard GT2 20-tooth pulley:
# 0.9 degree motor = 400 full steps per revolution
# Belt pitch = 2mm, pulley teeth = 20
# Rotation distance = (pulley_teeth * belt_pitch) / (full_steps_per_rev / microsteps)
# but actually rotation_distance = pulley_teeth * belt_pitch
# = 20 * 2 = 40mm
#
# The rotation_distance does NOT change with step angle!
# It’s purely mechanical. What changes is full_steps_per_rotation.
# Klipper handles this via microstep interpolation.
#
# You DO need to update the full_steps_per_rotation:
#
[stepper_x]
step_pin: ...
dir_pin: ...
enable_pin: ...
microsteps: 16
rotation_distance: 40
full_steps_per_rotation: 400 # <- CHANGE THIS from 200 to 400
The key insight: rotation_distance stays the same (it’s mechanical). You add full_steps_per_rotation: 400 to tell Klipper the motor requires 400 steps per revolution. Klipper then automatically adjusts the stepper frequency to match.
Do the same for [stepper_y], [stepper_z] (if applicable), and [extruder].
Step 7: Calibrate Driver Current
0.9 degree motors often have different rated currents than 1.8s. Set the run_current in your TMC driver config:
[tmc2209 stepper_x]
uart_pin: ...
run_current: 0.800 # Adjust based on motor rating
hold_current: 0.500
stealthchop_threshold: 999999
For the LDO 42STH47-2004AC (1.2A rated), start with run_current 0.800A. For StepperOnline 17HS15-1684S (1.68A rated), start with 1.000A. Monitor motor temperature during a 30-minute print — if the motor is too hot to touch (above 70C), reduce current by 0.1A and retest.
Step 8: Recalibrate
After installing new motors and updating the config:
- Run
RESTARTin Klipper - Home all axes
- Run input shaper calibration (the new motors may change resonance frequencies)
- Run pressure advance calibration
- Run PID calibration for the hotend and bed (if moving the printer around during motor swap)
- Run the extruder rotation_distance calibration (100mm extrusion test)
Compatibility Notes
TMC driver compatibility: 0.9 degree motors work with all common Voron TMC drivers: TMC2209, TMC2240, TMC5160, and TMC2130. The TMC2209 is the most common and works well with 0.9 degree motors. TMC5160 provides the smoothest operation at high speeds but is overkill for most builds.
Maximum speed consideration: 0.9 degree motors require double the step frequency to achieve the same speed as 1.8 degree motors. At 300 mm/s with 16 microstepping, the step frequency is ~120 kHz — well within the capability of all TMC2209 boards. Only if you’re running extreme speeds (500+ mm/s) would this become a concern.
V2.4-specific: The standard V2.4 uses LDO 42STH40-2004AC (or similar 1.8 degree) motors. The mounting pattern is the same for 0.9 degree equivalents. The Z motors on V2.4 are harder to access — you’ll need to disassemble the Z belt system and potentially the bottom panel.
Trident-specific: Trident Z motors are easier to replace (no Z belts to deal with). The three Z motors are mounted at the bottom of the frame.
V0.2-specific: The V0.2 uses NEMA 14 or compact NEMA 17 motors. 0.9 degree NEMA 14 motors are available but less common. Check motor dimensions carefully — the V0.2 has very tight space constraints.
Before and After Comparison
| Aspect | 1.8 Degree Motors (Before) | 0.9 Degree Motors (After) |
|---|---|---|
| Full steps per revolution | 200 | 400 |
| Linear resolution per full step | 0.010 mm | 0.005 mm |
| VFA visibility (glossy filament) | Visible at 20cm distance | Barely visible at 5cm |
| First layer consistency | Good | Excellent |
| Maximum speed (typical) | 300 mm/s | 300 mm/s (same) |
| Holding torque (typical) | ~0.45 Nm | ~0.30-0.40 Nm (slightly less) |
| Motor temperature (enclosed) | 50-60C | 50-60C (similar) |
Common Pitfalls
- Forgetting to update full_steps_per_rotation: If you install 0.9 degree motors without changing this setting, Klipper will think the motor is rotating twice as far as it actually is. The motors will try to move the axis twice as far as commanded, causing grinding, skipped steps, and potentially damaging the motor drivers. This is the #1 mistake.
- Motor current too high: 0.9 degree motors often have lower current ratings than equivalent 1.8s. Check the datasheet. Running a 1.2A motor at 1.5A will cause overheating and eventually demagnetize the rotor. The motors should be warm but comfortable to touch after extended use.
- Pulley grub screw not tightened: The GT2 pulley must be secured to the new motor shaft. If the grub screw loosens, the pulley will spin on the shaft, the axis will lose position, and you’ll get layer shifts. Use Loctite 242 (blue) on the grub screw.
- Wrong motor length: A 48mm motor may not fit in the same mount as a 40mm motor. Check the clearance in your XY joint mounts and Z motor mounts. The LDO 42STH47 (47mm) fits all standard Voron mounts.
- Not re-running input shaper: Different motors have different torque curves and resonance characteristics. Your old input shaper configuration may not be optimal for the new motors. Always re-run accelerometer calibration after a motor swap.
- Microstep settings left at 16: You can actually run 0.9 degree motors at 8 microsteps and achieve the same effective resolution as 1.8 at 16 microsteps. This reduces CPU load and can improve high-speed performance. Set microsteps to 16 initially, then consider reducing to 8 if you have performance concerns.
- Z-axis binding after motor swap: If you replace Z motors, the new motor shaft position may be slightly different from the old one. This changes the leadscrew alignment and can cause Z binding. Re-check leadscrew alignment and use a Z-alignment tool if needed.
Is the Upgrade Worth It?
The 0.9 degree motor upgrade is a refinement, not a necessity. If you print primarily with matte filaments, you may not notice the difference. If you print glossy ABS/ASA parts for display, the VFA reduction is immediately visible and well worth the $55-65 investment for an XY+extruder set from LDO.
For most users, the biggest improvement comes from upgrading the X and Y motors only. The extruder motor upgrade is secondary. Z motor upgrades are only recommended if you have a specific Z-band artifact issue that you’ve confirmed is motor-related (not belt- or leadscrew-related).