<p>Movement of the steppers is controlled by the <a href="https://3dprinterwiki.info/faq/what-is-jerk-and-why-should-i-change-it/" rel="nofollow noreferrer">jerk</a> and acceleration settings. Both are controlled/set in the Marlin <a href="https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/Configuration.h" rel="nofollow noreferrer">configuration file</a>.</p>

<pre>/**
 * Default Max Acceleration (change/s) change = mm/s
 * (Maximum start speed for accelerated moves)
 * Override with M201
 *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
 */
#define DEFAULT_MAX_ACCELERATION      { 3000, 3000, 100, 10000 }

/**
 * Default Acceleration (change/s) change = mm/s
 * Override with M204
 *
 *   M204 P    Acceleration
 *   M204 R    Retract Acceleration
 *   M204 T    Travel Acceleration
 */
#define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration for travel (non printing) moves

/**
 * Default Jerk (mm/s)
 * Override with M205 X Y Z E
 *
 * "Jerk" specifies the minimum speed change that requires acceleration.
 * When changing speed and direction, if the difference is less than the
 * value set here, it may happen instantaneously.
 */
#define DEFAULT_XJERK                 10.0
#define DEFAULT_YJERK                 10.0
#define DEFAULT_ZJERK                  0.3
#define DEFAULT_EJERK                  5.0

/**
</pre>

CC BY-SA 4.0
2019-05-17T07:33:52.970Z
2019-05-17T08:01:26.057Z
2019-05-17T08:01:26.057Z
0scar
<p>I am currently working with a hobbyist robotic arm (<a href="https://www.ufactory.cc/#/en/uarmswift" rel="noreferrer">uArm Swift Pro</a>) which runs a modified version of Marlin 3D printing firmware. </p>

<p>The arm can be used as a 3D printer as well thus it has an extruder motor. I am not using it as a 3D printer, instead I am reusing the extruder motor as 4th axis to move the arm along a rail. The problem I have run into is that the extruder motor is accelerating in steps, that is accelerating up to a certain speed holds that speed for a while (1-2 s) and then accelerates up to a higher speed holds that for a while. It then decelerates in the same fashion. </p>

<p>So my question is where in the Marlin code is planing made for the E-axis and is it any different from planing the speed of the other axis? </p>

<marlin><arduino-mega-2650><arduino>
Using extruder motor as 4th axis
Erik
# Using extruder motor as 4th axis

(Asked by: username_0 on 2019-05-17)

I am currently working with a hobbyist robotic arm ([uArm Swift Pro](https://www.ufactory.cc/#/en/uarmswift)) which runs a modified version of Marlin 3D printing firmware.

The arm can be used as a 3D printer as well thus it has an extruder motor. I am not using it as a 3D printer, instead I am reusing the extruder motor as 4th axis to move the arm along a rail. The problem I have run into is that the extruder motor is accelerating in steps, that is accelerating up to a certain speed holds that speed for a while (1-2 s) and then accelerates up to a higher speed holds that for a while. It then decelerates in the same fashion.

So my question is where in the Marlin code is planing made for the E-axis and is it any different from planing the speed of the other axis?

**Tags:** marlin, arduino-mega-2650, arduino

---

## 1 answers

### Answer by username_1 on 2019-05-17. Score: 3

Movement of the steppers is controlled by the jerk and acceleration settings. Both are controlled/set in the Marlin configuration file.
/**
 * Default Max Acceleration (change/s) change = mm/s
 * (Maximum start speed for accelerated moves)
 * Override with M201
 *                                      X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
 */
#define DEFAULT_MAX_ACCELERATION      { 3000, 3000, 100, 10000 }

/**
 * Default Acceleration (change/s) change = mm/s
 * Override with M204
 *
 *   M204 P    Acceleration
 *   M204 R    Retract Acceleration
 *   M204 T    Travel Acceleration
 */
#define DEFAULT_ACCELERATION          3000    // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION  3000    // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION   3000    // X, Y, Z acceleration for travel (non printing) moves

/**
 * Default Jerk (mm/s)
 * Override with M205 X Y Z E
 *
 * "Jerk" specifies the minimum speed change that requires acceleration.
 * When changing speed and direction, if the difference is less than the
 * value set here, it may happen instantaneously.
 */
#define DEFAULT_XJERK                 10.0
#define DEFAULT_YJERK                 10.0
#define DEFAULT_ZJERK                  0.3
#define DEFAULT_EJERK                  5.0

/**


---

