<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).
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.


---

