Voron Stepper Motor Guide — NEMA17 Selection, Tuning, and Troubleshooting
Electronics Motion Calibration
Stepper motors are the muscles of your Voron printer. They move the toolhead, drive the Z bed, and push filament through the extruder. Getting the right motors, configuring them correctly in Klipper, and keeping them cool under load is essential for reliable, high-quality prints. This guide covers NEMA17 selection for every axis, brand comparisons, electrical specs explained, driver tuning for TMC2209/TMC2240/TMC5160, and troubleshooting common motor issues. Last updated: May 2025.
NEMA17 Motor Types for Voron
All Voron printers use NEMA17 stepper motors. The "17" refers to the faceplate size (1.7 inches or 42.3mm square). Beyond that, motors differ in length, step angle, torque rating, and electrical characteristics. Here's what you need for each axis:
| Axis | Recommended Length | Step Angle | Torque (Ncm) | Notes |
|---|---|---|---|---|
| X/Y (V2.4, Trident) | 34-40mm | 0.9° or 1.8° | 40-55 Ncm | 0.9° gives finer resolution, 1.8° is simpler |
| Z (V2.4 quad) | 40-48mm | 1.8° | 45-65 Ncm | Higher torque needed for bed weight |
| Z (Trident triple) | 40-48mm | 1.8° | 45-65 Ncm | Same as V2.4 Z requirements |
| Extruder | 35-40mm | 1.8° | 35-45 Ncm | Geared extruder reduces torque requirement |
| V0.2 (all axes) | 34-36mm | 1.8° | 35-45 Ncm | Lighter build allows smaller motors |
Motor Length: 34mm vs 40mm vs 48mm
The length of a stepper motor directly correlates with its torque output. A longer motor has more stator windings and generates more magnetic field, producing higher holding torque. However, longer motors also have higher inductance, which limits high-speed torque. The tradeoff:
- 34-36mm motors: Best for X/Y axes. Low inductance allows good torque at high speeds (200+ mm/s). Lightweight — reduces moving mass on the gantry. Torque range: 35-45 Ncm.
- 40mm motors: Good general-purpose size for X/Y if you want extra torque margin. Also suitable for V0.2 Z and extruder. Torque range: 45-55 Ncm.
- 48mm motors: Best for Z axes on V2.4 and Trident. The extra torque handles bed weight reliably. Higher inductance reduces top speed but Z moves are slow anyway. Torque range: 55-70 Ncm.
0.9° vs 1.8° Step Angle
This is one of the most debated topics in the Voron community. The step angle determines how many steps the motor takes per full revolution: 1.8° = 200 steps/rev, 0.9° = 400 steps/rev.
- 1.8° (200 steps/rev) — Standard choice: Simpler to configure, lower microstepping requirements, more torque at high speeds, less prone to VFAs (Vertical Fine Artifacts) at higher velocities. The Voron manual specifies 1.8° motors. Recommended for first-time builders and most configurations.
- 0.9° (400 steps/rev) — Higher resolution: Each step moves half the distance of 1.8°, giving finer positioning resolution. This can produce smoother low-speed moves and better surface finish on curved geometries. However, 0.9° motors have higher inductance, which reduces torque at high speeds, and they are more prone to VFAs at 150+ mm/s. They also require higher microstepping or lower max velocity to avoid resonance.
Recommendation: Use 1.8° motors on all axes for your first Voron build. They're simpler to tune, more forgiving of configuration errors, and produce excellent print quality. Consider 0.9° motors for X/Y on a V2.4 if you're an experienced builder chasing maximum surface finish and you're willing to spend time on VFA tuning (input shaper, acceleration tweaks, belt tension).
Motor Brands Compared
| Brand | Price | Quality | Vibration | Recommended For |
|---|---|---|---|---|
| LDO | $20-30 | Excellent | Very low | All axes, preferred for X/Y |
| Moons' | $15-20 | Very good | Low | All axes, great value |
| StepperOnline | $8-12 | Good | Moderate | Z axes, budget builds |
| Generic (no-name) | $5-10 | Variable | High | Avoid on Z and extruder |
LDO Motors
LDO is the premium choice for Voron stepper motors. Their 36mm NEMA17 motors are specifically designed for Voron builds, with linear shafts (laser-aligned for straightness), precision-wound coils, and low-vibration rotor balancing. LDO motors consistently produce the smoothest motion at both low and high speeds, with minimal VFAs. They cost $20-30 per motor China direct — more than generic motors, but the quality difference is visible in print quality. If your budget allows, use LDO motors on X and Y axes.
Moons' Motors
Moons' (also written MOONS') is a well-established Chinese motor manufacturer that produces high-quality steppers at competitive prices. Their motors are found in many industrial applications — CNC machines, medical devices, and robotics. For Voron builds, Moons' motors offer 90% of LDO's quality at 60-70% of the price. They have consistent torque curves, properly aligned shafts, and good high-speed performance. Moons' is our recommended value pick for all Voron axes.
StepperOnline Motors
StepperOnline (often branded as "STEPPERONLINE") is the budget-friendly option. Their motors work well for Z axes where smooth motion is less critical, and for budget V0.2 builds. The main tradeoffs: higher vibration (visible as ringing at certain speeds), less consistent torque between units, and shorter shaft flat alignment. For $8-12 per motor, they're adequate but not premium. Recommended for Z axes only — avoid on X/Y and extruder.
Generic / No-Name Motors
Unbranded motors from AliExpress or random sellers are a gamble. Some are perfectly fine; others have wildly inconsistent torque, bent shafts, or incorrect winding configurations. The risk is highest on Z axes — if a Z motor loses torque mid-print, the bed drops and you get a crash. On the extruder, inconsistency in torque can cause under-extrusion at high flow rates. Our advice: avoid generic motors for Z and extruder. If you're on a tight budget, they're acceptable for X/Y on a V0.2 where the lighter gantry is more forgiving.
Motor Specs Explained
Understanding the electrical specifications on a stepper motor datasheet is essential for proper configuration. Here are the key parameters:
- Holding Torque (Ncm or oz-in): The maximum torque the motor can produce when powered but not moving. Higher is better for Z axes (needs to hold bed position). Typical Voron motors: 40-65 Ncm.
- Rated Current (A/phase): The current per phase the motor is designed for. This determines your run_current setting in Klipper. Typical: 1.2-1.68A per phase for Voron-sized motors.
- Phase Resistance (ohms): DC resistance of each phase winding. Lower resistance means less heat generation at the same current. Typical: 1.2-3.5 ohms.
- Inductance (mH): Higher inductance = more torque at low speeds, less torque at high speeds. Low inductance is better for fast X/Y moves. Typical: 2.5-8 mH. 34mm motors have lower inductance than 48mm motors.
- Steps per Revolution: 200 for 1.8° motors, 400 for 0.9° motors. Configured in Klipper as
rotation_distancecalculation.
Driver Tuning — run_current, hold_current, and Vref
Configuring stepper driver current correctly is critical for reliable operation. Too low, and the motor loses torque, causing skipped steps. Too high, and the motor and driver overheat, causing thermal shutdown or permanent damage.
run_current
The current supplied to the motor while it's moving. Set based on the motor's rated current. A good rule of thumb: set run_current to 80-85% of the motor's rated current for reliable torque with a safety margin.
# Example Klipper config for TMC2209
[tmc2209 stepper_x]
run_current: 0.8 # 80% of a 1.0A rated motor
hold_current: 0.5 # 50% of run_current when idle
microsteps: 16 # Standard for Voron
stealthchop_threshold: 0 # Disable stealthChop (use spreadCycle)
hold_current
The current supplied when the motor is holding position but not moving. Typically set to 50-60% of run_current. This reduces heat buildup during long prints. If your motor runs hot even at idle, reduce hold_current. Some builders set hold_current to 0 on Z axes (motors hold position purely by friction/lead screw resistance) to minimize heat.
Vref (Voltage Reference)
For TMC2209 drivers in standalone mode (no UART), the current is set by measuring the Vref voltage on the driver board. The formula for TMC2209:
Vref = RMS_current * 2.5
# Example: for 1.2A RMS, Vref = 1.2 * 2.5 = 3.0V
# To convert: RMS_current = rated_current / 1.41
# A 1.5A rated motor = 1.06A RMS
Important: If you're using UART mode (recommended for Voron builds), you don't need to set Vref — the driver current is configured via Klipper's run_current parameter. Vref adjustment is only needed for standalone mode.
Driver Current Limits
| Driver | Max RMS Current | Cooling Required | Voron Recommendation |
|---|---|---|---|
| TMC2209 | 1.2A RMS (with heatsink), 1.0A without | Heatsink required above 0.8A, fan recommended above 1.0A | Best for most builds. Affordable, proven. |
| TMC2240 | 2.1A RMS | Fan recommended above 1.5A | Good for 0.9° motors, high-torque Z builds |
| TMC5160 | 2.8A RMS (with external MOSFETs) | Active cooling required | Overkill for most builds. Only for 350mm+ V2.4 |
Recommended Klipper Config for Each Driver Type
# TMC2209 — Standard Voron config
[tmc2209 stepper_x]
uart_pin: PA15
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 0
interpolate: True
sense_resistor: 0.110
# TMC2240 — For higher current / 0.9° motors
[tmc2240 stepper_x]
cs_pin: PA15
spi_bus: spi1
run_current: 1.200
hold_current: 0.800
stealthchop_threshold: 0
interpolate: True
# TMC5160 — High current builds
[tmc5160 stepper_x]
cs_pin: PA15
spi_bus: spi1
run_current: 1.500
hold_current: 0.800
stealthchop_threshold: 0
interpolate: True
Motor Overheating — Diagnosis and Solutions
Motor overheating is the most common issue in Voron builds, especially during long ABS prints in an enclosed chamber. Here's how to diagnose and fix it.
Safe Temperature Range
Stepper motors can safely operate up to 80-100°C (magnet wire insulation is typically rated for 130°C+). However, for reliable operation, aim for below 70°C during a long print. Above 80°C, you risk:
- Magnet strength degradation (reduced torque)
- Thermal expansion causing bearing binding
- Heat conducted to the gantry (thermal expansion affects belt tension)
- Driver thermal shutdown (if motor draws excess current while hot)
Check Temperature During a Print
Use an infrared thermometer or thermocouple probe. Measure the motor case temperature at the center of the side face after 2+ hours of printing at normal speeds. If any motor exceeds 70°C, take action:
- Reduce run_current by 10-15% and recheck. Most Voron motors run fine at 0.6-0.8A RMS on X/Y and 0.7-1.0A on Z.
- Add heatsinks to motor cases. Clip-on aluminum heatsinks (15x15mm to 25x25mm) drop case temperature by 5-10°C.
- Improve airflow in the electronics bay. Add a dedicated motor cooling fan (4020 or 5015 blower) directed at the motors.
- Check hold_current — if it's set too high, the motor is fighting itself when idle. Reduce hold_current to 0.3-0.5A.
- Check driver cooling — hot drivers can inject excess current into motors. Ensure TMC2209s have heatsinks and airflow.
Stepper Driver Overheating
Hot drivers are often the cause of motor overheating. TMC2209 drivers reach thermal shutdown at approximately 125°C internal die temperature. If your motor cables are long or have inadequate gauge, the drivers work harder to push current, generating more heat.
- TMC2209 without heatsink: reliable up to ~0.8A RMS
- TMC2209 with small clip-on heatsink: reliable up to ~1.2A RMS
- TMC2209 with heatsink + fan: reliable up to ~1.5A RMS (exceeds rated spec, use with caution)
- TMC2240 with heatsink + fan: reliable up to ~2.1A RMS
Motor Wiring Guide
Wiring Order (1A/1B/2A/2B)
Stepper motors have two phases (coils), each with two wires. The standard labeling and wiring to a TMC2209 or similar driver:
Phase A: 1A (coil A+) → Driver A1
1B (coil A-) → Driver A2
Phase B: 2A (coil B+) → Driver B1
2B (coil B-) → Driver B2
If the motor vibrates but doesn't spin, or spins erratically, swap either the 1A/1B pair or the 2A/2B pair. Do not swap between phases (e.g., don't swap 1A with 2A) — that causes the motor to step incorrectly.
Connector Types
- JST-XH (2.54mm pitch): Standard on most Voron motors. 4-pin connector for motor, 6-pin for endstops. Common, easy to crimp, but the locking tab is fragile.
- Dupont (2.54mm pitch): Found on older motors or budget builds. Less reliable than JST — connectors can vibrate loose. Not recommended for Voron builds.
- JST-PH (2.0mm pitch): Used on some BTT toolhead boards. Smaller than JST-XH. Check compatibility before buying.
Wire Extension Lengths
Voron builds often require extending motor wires to reach the electronics bay. Maximum recommended length: 2 meters total (motor to driver). Longer runs increase inductance and resistance, reducing torque and potentially causing driver issues. If you need longer runs:
- Use 20-22 AWG wire (thicker gauge reduces resistance)
- Twist pairs (1A with 1B, 2A with 2B) to reduce electromagnetic interference
- Avoid running motor wires parallel to AC power cables or heater wires
- Consider adding a ferrite choke near the driver end for long runs
Common Motor Issues and Troubleshooting
Skipping Steps (Layer Shifts)
- Cause: Insufficient motor torque, excessive acceleration, or mechanical binding.
- Fix: Increase run_current (up to 85% of rated), reduce acceleration, check belt tension, check rail smoothness.
Excessive Vibration / VFAs
- Cause: Motor resonance at specific speeds, typically 80-120 mm/s on 1.8° motors.
- Fix: Run input shaper calibration, adjust acceleration, lower run_current slightly, try spreadCycle mode (stealthchop_threshold: 0).
Motor Runs Hot on Idle
- Cause: hold_current too high.
- Fix: Reduce hold_current to 0.3-0.5A. On Z axes, you can set hold_current: 0 — friction in lead screws holds position.
Motor Makes Clicking Noise
- Cause: Missing steps (electrical) or mechanical binding.
- Fix: Check run_current, check for rail binding, verify motor wiring order, ensure Vref is correct (standalone mode).
Motor Vibrates But Doesn't Spin
- Cause: Incorrect wiring — one phase is reversed relative to the other.
- Fix: Swap 1A and 1B wires (or swap 2A and 2B). Only swap within a phase pair, never between phases.
Final Recommendations by Axis
- X/Y axes (most critical for print quality): LDO 36mm 1.8° motors. Run at 0.7-0.8A RMS with TMC2209. If budget is tight, Moons' 36mm 1.8° motors are an excellent alternative.
- Z axes (V2.4 or Trident): Moons' or LDO 40-48mm 1.8° motors. Run at 0.8-1.0A RMS. Higher torque is more important than smoothness here.
- Extruder (StealthBurner/Clockwork): Any reliable 36mm 1.8° motor from LDO or Moons'. Run at 0.5-0.7A RMS — geared extruders multiply torque, so high current isn't needed.
- V0.2 (all axes): Moons' 34mm 1.8° motors on all axes. Lighter build means less torque requirement. Run at 0.6-0.8A RMS across the board.