Stepper Run Current Calculator
The Run Current Calculator converts your stepper motor’s rated current into a safe Klipper run_current value.
Free, runs in your browser, no registration.
What run current is
Section titled “What run current is”run_current tells the TMC driver how much current to feed the stepper motor, in amps RMS. It’s the single most consequential number in your [tmc2209] (or 2130/5160) sections.
Get it wrong in either direction and you get real problems:
- Too low — skipped steps, layer shifts under acceleration, motors that stall on fast moves, lost homing accuracy
- Too high — motors that run hot enough to soften printed mounts, driver thermal shutdown mid-print, wasted power, and on some setups, a burnt driver
The rule
Section titled “The rule”Stepper motors are rated in peak current. Klipper’s run_current is in RMS.
RMS = peak / √2 ≈ peak × 0.707Then take 60–85% of that RMS figure as your working value.
Worked example: a motor rated 1.5 A peak.
1.5 × 0.707 = 1.06 A RMS1.06 × 0.7 = 0.74 A run_currentThis is where most bad configs come from — someone puts the peak rating straight into run_current and wonders why the motor is too hot to touch.
Typical values
Section titled “Typical values”| Motor | Rated peak | Typical run_current |
|---|---|---|
| NEMA 17, 42-34 (X/Y, most printers) | 1.5 A | 0.6 – 0.8 A |
| NEMA 17, 42-40 (heavier) | 1.5 – 2.0 A | 0.7 – 1.0 A |
| LDO / Moons pancake extruder | 1.0 A | 0.35 – 0.5 A |
| NEMA 17 Z leadscrew | 1.5 A | 0.5 – 0.7 A |
Always check your specific motor’s datasheet. “NEMA 17” describes a mounting flange, not a current rating.
Tuning it
Section titled “Tuning it”Start at 70% of RMS, then adjust based on evidence:
Raise if you see:
- Skipped steps or layer shifts during fast moves
- Motors stalling on acceleration
- Inconsistent homing position
Lower if you see:
- Motors too hot to hold a finger on (above ~60 °C)
- Driver thermal shutdown mid-print
- Printed motor mounts deforming
- Excessive motor noise
The heat test: after a long print, you should be able to hold a finger on the motor for a few seconds. Uncomfortably hot is fine; instantly painful is too much current.
Extruder motors run lower
Section titled “Extruder motors run lower”Extruder steppers are frequently over-currented. They move much less mass than an axis motor and sit right next to the hotend, so they have the least thermal headroom on the machine.
If your extruder motor is hot and you’re getting heat creep clogs, run current is worth checking before you buy a new heatbreak.
Common mistakes
Section titled “Common mistakes”- Using peak current as run_current. The most common config error. Convert to RMS first.
- Copying values from a different printer. Different motors, different mass, different answer.
- Assuming hotter means stronger. Above roughly 85% of RMS you gain very little torque and add a lot of heat.
- Ignoring
hold_current. On most modern setups you should leave it unset — Klipper’s default behaviour is better than most manual values, and a low hold current on Z can let the gantry sag. - Setting Z current high “for safety.” Z motors hold position with leadscrews doing most of the work. They rarely need much.
Where this sits in tuning
Section titled “Where this sits in tuning”Run current belongs to machine setup, before any print-quality calibration:
Setup: run current → belt tension → homing and bed mesh Motion: input shaping → acceleration → skew Extrusion: temperature → rotation distance → flow → pressure advance
Layer shifts blamed on input shaping are quite often a run current problem.
Related tools
Section titled “Related tools”Verified configs
Section titled “Verified configs”Run current values for the motors in my Voron 2.4, Mercury One.1, K2 Plus, SV08, and Ender builds are documented in the Minimal 3DP config packs. Raw configs stay free in the klipper repository.