Dual End Stops

Hi All,

I have downloaded the dual endstops version of Marlin from https://github.com/Allted/Marlin. To be honest, I’m not sure how this version is any different from the basic version. Both have a section in configuration_adv.h for dual x steppers and dual y steppers:

/ Dual X Steppers
// Uncomment this option to drive two X axis motors.
// The next unused E driver will be assigned to the second X stepper.
// Set true if the two X motors need to rotate in opposite directions
#define INVERT_X2_VS_X_DIR true

So what’s the difference between the dual end stops version and the normal version?

Also, where is the information on configuring dual end stops? There is nothing in the readme file, nothing on the marlin home page that I can see and the V1 page (https://www.v1engineering.com/auto-square-dual-endstops/ )seems to be missing crucial information like what configuration changes need to be made?

Trying to figure it out myself is interesting and I have managed to get the X axis running on two seperate drivers (X and E1 though!), but now I’m stuck: Y won’t work because there are now no spare stepper drivers. I need to somehow tell it E0 is not an extruder any more, it is not a 3D printer - it is a CNC and it needs to know that it doesn’t have an extruder. It will then assign X2 to E0 and Y2 to E1.

Can anyone please shed some light?

PS the V1 logo does not appear at the start. So it looks to me like the repo does not contain the configuration for dual steppers at the moment.

Thanks All




If the logo isnt appearing at boot up, it makes me wonder if you may have accidentally downloaded an incorrect firmware branch. Can you verify that the zip you downloaded has this name


and not


1 Like

It does not have that name - mine is in a zip called Marlin-1.1.x.

So I have the wrong version! Thought so… Thank you for that Adam.

I see it in the branches now. Thanks so much! I have been sitting here for hours. (where’s the appropriate emoji?) I’ll give this one a go.

Yep that solved it - big thanks.

The files are arranged in folders, the rotary switch is properly configured, the logo appears, X axis drivers in opposite directions as they should be, end stops working for Home X. SD card inserted, but not reading… I’ll look into that.

One question though maybe for another thread, why is it that I can Prepare > Move Axis > Move X even when the end stops are engaged? Shouldn’t the end stops prevent it from moving further?

Glad to hear that helped. It was my first thought cause I did the exact same thing haha.

To check the state of the endstops, connect to the machine with a PC and issue a M119 command in the terminal of your host software (something like PronterFace) this will report back the state of all the endstops. If you hold down an endstop manually and it doesnt report back as triggered then you likely have a wiring issue.

If you hold down an X endstop, dont ignore what the M119 reports for Y or Z you may have connected the endstop to the wrong set of pins on your ramps board.