MPCNC PRIMO: Arduino Mega2560 + ramps 1.6 + steppers DRV8825 + LCD 12864

Bonjour à tous,

Je cherche à faire fonctionner ma MPCNC avec une ramps 1.6. mais je ne sais pas si je peux utiliser ce programme:
MPCNC_Ramps_T8_16T_LCD_32step_DualEndstop pris sur GithHub.

Merci d’avance pour votre aide.


The version you indicated is the dual end stop version. Is your MPCNC wired for dual end stops or are the steppers in serial?

Oui, j’ai prévu 2 endstop pour avoir plus de répétabilité d’une pièce.

This particular version of the firmware requires two end stops per axis for a total of four end stops. The primary reason to have dual end stops is to assure squareness of the machine…to assure that both stepper motors are at the same distance along the tubing. This is a more complicated wiring solution and Ryan/V1 recommends the simpler series wiring solution to start. Note that there is some debate about the need for dual end stops. Some experienced user just create a physical stop on both ends of each axis and manually push each axis against the stops to create a repeatable home position and to square the machine before each run.

Merci pour vos conseils ! Effectivement je ne savais pas ça. Je pense que je ne mettrais pas les endstop et je le ferais manuellement.
Par contre, y’a t’il des modifications à faire dans le programme pour la ramps 1.6 si j’utilise l’autre version sans endstop ? MPCNC_Ramps_T8_16T_LCD_32step


@jeffeb3 is probably the best person to answer the specifics of your question. And since I’m reference him, he will hopefully take a look an give you more information. I’ve not used Ramps, but I’ve been reading the forum entries concerning Ramps since I’m eyeing it for a future project. I just checked, and the DRV8825 is the driver currently defined in this version of the Ramps firmware. The current display defined in the firmware is “REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER,” I don’t know if that is compatible with your LCD, but if not there are several other 12864 displays listed.

Merci à vous pour votre aide! Je ne suis pas fort en informatique et c’est compliqué malgré tout les forums que je lis.
J’espère aussi que @jeffeb3 pourra m’aider.

You can run the dual endstop version without endstops. You can run it with the motors wired in serial. But you won’t be able to home unless you use 5 drivers.

The latest firmware is in MarlinBuilder releases and we don’t have a serial ramps config.

Merci @jeffeb3 et @robertbu pour votre aide et vos conseils.
Les 2 moteurs X sont câblés en série tout comme les moteurs Y. Je suis content de savoir que la version du programme fonctionne avec la ramps 1.6.
J’espère pouvoir partager avec vous quelques photos quand la mpcnc fonctionnera.

Bonne journée à vous

What Jeff is saying, is that the latest releases are at the link he provided, and for Ramps, they are only releasing the dual end stop version. With the dual end stop version, each stepper is wired directly to the controller. No ‘Y’ cable is used. No end stops are required but can be added later.

In the dual endstop version, you can still wire both X motors to the X1 port. It doesn’t know the difference.

I have it on my informal todo list to add a serial version for Ramps. I just didn’t want too many configurations while we are learning.

1 Like

So I’m confused. If you can wire the motors both ways in a dual end stop version, why maintain multiple versions? Is this true of the Rambo and other board versions?

And just to be clear for Chrisfrench question, assuming his display is supported by the code included with the REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER define, he does not have to do anything beyond flashing the firmware? And I noticed you provided the .hex for this version so he does not even have to compile the binary?

If you want to do endstops and serial, you need to use a non dual endstop version.

The real reason is just momentum. The serial version was first. I have been thinking that the right move might be to just configure serial only for the mini rambo (which has 4 drivers).

I’m sure you are right since you have a much deeper understanding than I do. But in my head, it seems to me that if you home dual firmware with a serial setup and only two endstops, X2 and Y2 will be ignored (beyond a quick attempt to retest) since, with NC connections, the firmware will assume that X2 and Y2 are already at their end stop position.

Maybe. It is possible. I would expect the firmware to raise an error in that case, but it is definitely worth a test.

Is the 4th driver a separate driver or does it need to clone on of the other 3? Just thinking about a A rotary axsis but I dont have the cam atm so just a dream for now

It is intended for an extruder. It is independent.

1 Like

I ran a quick test. I have a dual end stop setup. I disconnected both the stepper motor cable and the end stop switch for X2. Next I starting the homing sequence from the display (I run headless). It worked fine…no errors on the display and the X and Y coordinates were no longer blinking. I had to manually emulated the X2 end of the tubing to keep the tubing from going to far askew since X2 stepper was not energized.

I don’t know what other differences there are between the serial and the dual end stop firmware. If the end stops are the only concern, it appears that you can eliminate all the serial releases. This would also mean that the firmware that Ryan flashes on the boards he ships would work for both and not require re-flashing the firmware if someone changed from serial to dual end stops at a later date. Note that if someone with a serial setup wanted to wire their end stop switches NO for some reason, a jumper could be used for the X2 and Y2 end stop connections at the board.

That’s awesome! @vicious1.

There is one other large difference, which is the soft endstops are enabled in the dual endstop version. But I think they only affect it after a homing sequence (that also needs to be tested). But if that’s the case, then they should be enabled on the serial too. Most people will just cruise around, not worrying about the soft endstops or negative coordinates on X, Y. But if you home, you need to stay away from those switches.

I can verify this is true for the version of the firmware I’m running. And in normal use, if a G92 is executed to reset the position after homing, the machine no longer thinks it has been homed and the soft stops are disabled. I use the word “normal” here since workspaces may impact how a G92 is applied with respect to homing. I would guess that few serial users will wire up end stops. I did not even know it was possible until recently. I though my choices were dual or nothing.

But if you home, you need to stay away from those switches.

When I read this in Ryan’s documentation, I was concerned since it’s the kind of mistake I might make. But when I setup my machine, I placed my stop blocks as close to physical limits of my machine as I could (to maximize cutting area). I find my machine reaches its physical minimums before the lever on the switch bottoms out, so it is impossible to damage the switches.

1 Like