<p>I found many ways to re-task extruder steppers to 
behave like cartesian-like controls:</p>

<ul>
<li><p>If your application does not require contemporary movement of
all axes, you can enable multiple extruders setting the <code>EXTRUDERS</code>
define in Marlin's <code>Configuration.h</code>.</p>

<p>Then you can select which extruders will be set as <code>E</code>
variable in <code>G1</code> commands, by sending <code>T0</code>, <code>T1</code> and so on.</p></li>
<li><p>If your application require contemporary movement of all axes,
you can enable the <code>MIXING_EXTRUDERS</code> option (<a href="https://reprap.org/forum/read.php?415,850119" rel="nofollow noreferrer">source</a>).</p>

<p>With that option, you are basically splitting the <code>E</code> argument
between steppers. To set the ratio of your movement, you can give</p></li>
</ul>



<pre><code>    M163 S0 P0.6    # Set stepper 0 to ratio 0.6
    M163 S1 P0.4    # Set stepper 1 to ratio 0.4
    M164 S2         # Create a virtual stepper with given settings
    T2              # Select the virtual stepper
</code></pre>

<ul>
<li>If you want to configure additional steppers as proper axis,
check this <a href="https://github.com/DerAndere1/Marlin/commit/0258cc906eda008cd1863be44b05ab6c3a15fdc9" rel="nofollow noreferrer">commit</a>.</li>
</ul>

CC BY-SA 4.0
2019-09-25T10:40:53.180Z
2019-09-25T10:40:53.180Z
Scrooge McDuck
<p>On a RAMPS 1.4 it is possible to mount 5 stepper motors: <code>X</code>,<code>Y</code>,<code>Z</code> steppers are used for cartesian movements, while <code>E0</code> and <code>E1</code> are provided for extruders control.</p>

<p>I want to use <code>E0</code> and <code>E1</code> as additional movement axis in a robotical arm.</p>

<p>Is it possible in Marlin and if not, how can one approach the problem?</p>

CC BY-SA 4.0
2019-09-25T10:49:35.437Z
Klipper supports manual steppers natively, if that could be an option for you
towe
<marlin><ramps-1.4><arduino-mega-2650><axis>
How to extend Marlin to support additional movement axis?
Scrooge McDuck
# How to extend Marlin to support additional movement axis?

(Asked by: username_0 on 2019-09-25)

On a RAMPS 1.4 it is possible to mount 5 stepper motors: `X`,`Y`,`Z` steppers are used for cartesian movements, while `E0` and `E1` are provided for extruders control.

I want to use `E0` and `E1` as additional movement axis in a robotical arm.

Is it possible in Marlin and if not, how can one approach the problem?

**Tags:** marlin, ramps-1.4, arduino-mega-2650, axis

> **Comments:**
> **username_1**: Klipper supports manual steppers natively, if that could be an option for you  

---

## 1 answers

### Answer by username_0 on 2019-09-25. Score: 2 | Accepted answer

I found many ways to re-task extruder steppers to
behave like cartesian-like controls:

* If your application does not require contemporary movement of
  all axes, you can enable multiple extruders setting the `EXTRUDERS`
  define in Marlin's `Configuration.h`.

  Then you can select which extruders will be set as `E`
  variable in `G1` commands, by sending `T0`, `T1` and so on.
* If your application require contemporary movement of all axes,
  you can enable the `MIXING_EXTRUDERS` option ([source](https://reprap.org/forum/read.php?415,850119)).

  With that option, you are basically splitting the `E` argument
  between steppers. To set the ratio of your movement, you can give

```
    M163 S0 P0.6    # Set stepper 0 to ratio 0.6
    M163 S1 P0.4    # Set stepper 1 to ratio 0.4
    M164 S2         # Create a virtual stepper with given settings
    T2              # Select the virtual stepper

```

* If you want to configure additional steppers as proper axis,
  check this [commit](https://github.com/DerAndere1/Marlin/commit/0258cc906eda008cd1863be44b05ab6c3a15fdc9).


---

