# Calculating anything Klipper

Missing something? Let us know.

## Stepper current

The value you use as input should be the RMS value. Not the peak value that is written on the stepper.

#### run_current

Motor peak current

Max recommended current: 80%

#### hold_current

Most stepper motors will not obtain a significant benefit to reducing current during normal prints, because few printing moves will leave a stepper motor idle for sufficiently long to activate the hold_current feature. And, it is unlikely that one would want to introduce subtle print artifacts to the few printing moves that do leave a stepper idle sufficiently long.

#### Formula explained

``````The formula we use for calculating run_current:

Motor_Peak_Current * 0.707

Since we don't want to push the motors with 100% we'll do:
Motor_Peak_Current * 0.707 * 0.80

That will give us a 20% safety margin.
On a stock Ender 3 motor that is 0.84A peak
0.84*0.707*0.8 = 0.47A

So you input 0.47 in run_current of your TMC stepper.
A normal 1.4A stepper is:
1.4x0.707x0.8 = 0.79A

In this case you put 0.79 in run_current of your tmc stepper.
``````

## Calibrating rotation_distance on extruders

On an extruder, the rotation_distance is the amount of distance the filament travels for one full rotation of the stepper motor. The best way to get an accurate value for this setting is to use a “measure and trim” procedure. Read more about this procedure here.

Use a marker to place a mark on the filament around 120mm from the intake of the extruder body. Then use a digital calipers to measure the actual distance of that mark as precisely as one can.

Measure initial mark distance in mm

Use the digital calipers to measure the new distance between the extruder body and the mark on the filament after you've extruded 100mm of filament.

New distance in mm

Previous rotation distance

New rotation_distance: 0.000

#### Formula explained

``````The formula that is used to calculate rotation_distance on extruders.

initial_mark_distance = initial mark on filament from the intake of the extruder body
subsequent_mark_distance = distance of mark on filament after extruding 100mm

actual_extrude_distance = <initial_mark_distance> - <subsequent_mark_distance>

actual_extrude_distance = 120mm - 20mm

rotation_distance = <previous_rotation_distance> * <actual_extrude_distance> / <requested_extrude_distance>

rotation_distance = 200 * 20mm / 100mm

``````