Just finished building my MPCNC. Bought the Rambo 1.4 from V1 so it came with the firmware already preloaded, all the other parts were ordered from Amazon. Eventually I will run dual end tops and have them all wired up but they are currently not plugged into the Rambo, as I have not flashed the dual Endstop firmware.
The issue I am having is that the steppers plugged into E0/E1 (X2/Y2) are not moving at all. Steppers plugged into X1/Y1/Z are all moving correctly. I have tried moving the axis’ from the LCD and repetier host, same issue from both. To rule out bad stepper motors I swapped X2/Y2 motors and plugged them into X1/Y1 spot and they worked correctly. I currently have the belts removed to check if they are working. Set screws on pulleys are tight all around.
-M119 returns X/Y/Z as open
-Fuses are all fine
-Steppers work plugged into X1/Y1
-Power is supplied to the Rambo B/C power inputs from a 350W meanwell PSU
The standard firmware uses x1 and y1 only with the steppers wired in series. Sounds like you are wired for dual endstops but using the standard firmware.
With the dual endstop firmware M119 should return X/X1/Y/Y1/Z, not just X/Y/Z. That’s the quick and dirty way to check you have the right stuff installed.
Makes sense. I’m not a complete newb when it comes to all this. Ive been using 3D printers for 3-4 years now that run on mini-rambo and einsy rambos.
Before I got in too deep I wanted make sure the mpcnc would work without the Endstops that’s why I didn’t flash the firmware that shipped with the Rambo from V1. What I didn’t know is the basic firmware does not use the extra stepper plugs on the rambo board. Since you are supposed to wire them in series with all the X motors going to one and all the Y motors going to another. Now that I know this I will update to the dual endstop firmware and give it another go.
Just be aware that dual endstop firmware only uses the endstops to square the machine before use. Once you have it squared it will stay square until you power everything off and move things manually. You don’t really use it to set home as with a 3D printer, that is done by moving to where you want home to be then sending the G91 X0 Y0 Z0 command. You wouldn’t want to use the home function at that point since it’ll set home based on the machine parameters, not based on the work piece.
The dual endstop firmware works without endstops. The one caveat is that it has softstops on by default. So it is limited to not go into negative X or Y. He does that to avoid crashing into endstops. You can disable those before you flash, or there is an mcode to do it (M122 is sticking in my mind).
You’re missing the u8glib library. The instructions Tom posted show how to get that. There are multiple similar ones, so make sure you get the right one.
Marlin has added a bunch of files in the HAL directory for different boards. Most of them don’t end up in the code, because only one board is being flashed.
Arduino is not capable of just not including every file. It is a hobby grade tool and makes some assumptions to make it easier. Platformio does a better job of ignoring these extra files.
Windows won’t let you run a command with more than 1024 characters.
The code in MarlinBuilder releases deletes the extra files in HAL. Or you can switch to using platformio, or you can ditch windows.