How to extend Marlin to support additional movement axis? 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?
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.