Ardunio IDE throwing error when compiling latest Dual Endstops version

Hi Folks,

New here - heading dual endstops straight away, might be a mistake, but could do with some advice.

I’m trying to compile the latest Marlin RAMBo (full size) dual endstop version. I’ve updated to the latest beta Ardunio IDE and got rid of the long filepath error, but now coming up with the compile error in the text file attached.

In addition, I’ve been looking all afternoon, but still not fully understanding how the various config options in Marlin work together to allow the dual endstop functionality.

I guess theres the stepper per channel section (in configuration_adv.h?), i.e. 4 separate channels for X, X1, Y, Y1, (change pin assignments in the pins_RAMBo.h file?) then some logic to keep the stepper running until the channel feels the endstop (not sure where this is).

If anyone can help me with the compile error or the general layout of the Marlin firmware I’d be most grateful.



Compile_error.txt (110 KB)

Try using the arduino Beta IDE.

Yep, done that already as above. That helped the long filepath issue, but now I get the new one.


I’m about to start another round of marlin 2 updates but Thinkyhead just started updating again as of 4 minutes ago. best to stick with my proven version for now and not the bleeding edge.

Bottom of this page. Use the crossed out link.

Thanks for the link to the more stable release. I’m now getting a "#error “No E stepper plug left for X2!”

Which i think is either…

That the board defaults to E0 for the extruder and I need to somehow tell it that it doesn’t have one - freeing up an ‘E’ output for the X2 and Y2. (not as simple as entering this in confguration.h - get an array error as it wants a value of 1 to 5) - as it seems to use the next free E port for the X2 and Y2

Or… its pin assignment in the pins_rambo.h config.

Neither of which I can get my head around right now… :confused:


Do you have the correct board selected, you didn’t change any setting right? That error is kind of the point of that firmware and should not happen.

It really looks like you might not want to start with the dual right now.

I can’t trouble shoot it right now I am trying really hard to get a stable release and finalize some things.

It sounds like it is the wrong board. If/When I update the firmware for 2.0 tonight (I hope) I will test run each one. I have spent the last two days making room and trying to wire up the dual in the test bench so I can swap and test boards quickly.

Yup, motherboard in configuration.h selected as the correct Rambo i.e. #define MOTHERBOARD BOARD_RAMBO (I’ve got the full size one).

Ardunio IDE ‘connected to RAMBo on COM7’ - i.e. pointed the IDE to the ultimachine site and got the board def from there.

I’ll take a further look this evening, have to head to work now… There is something a bit weird about this though, I might do a complete uninstall of the IDE and remove all the old versions of the libraries etc. Clean up the Ardunio sketch folders etc then try again. The IDE persists some settings when changing versions, wonder if I’ve got some kind of weird library issue - messed around a LOT with U8glib before when trying to get the Thinkyhead version running.

Agreed that I’m probably overcomplicating this a bit for a beginner! Would like the end stops for ensuring accurate repetition of toolpaths for tool changes though. Used to run a Haas mill for a while making patterns for a sand casting company out of tool board. The only way to keep machining time down was to do rough then fine passes with different tools. More CAM work, but way less machine time.

I’ll get there eventually! :slight_smile:


Understood. I have a fresh laptop I can verify the Arduino beta on. They were making updates all night so I never updated. Glad I waited thought they have fixed an error with the planner so that is a major one it seems. I will check in again. They are trying to finalize Marlin V1 and at that point I will try and get a “stable” 2.0 update and put it on the site, and keep the github one fairly current.

Had another crack at this for the last few hours. Cleaned up the Arduino installation, got your DualDual_1_1_5 to compile - had to uncomment the digipot value in configuration.h (this is probably intentional?) and add the following pin config to pins_RAMBO.h

// Steppers
#define X_STEP_PIN 37
#define X_DIR_PIN 48
#define X_ENABLE_PIN 29

#define Y_STEP_PIN 36
#define Y_DIR_PIN 49
#define Y_ENABLE_PIN 28

#define Z_STEP_PIN 35
#define Z_DIR_PIN 47
#define Z_ENABLE_PIN 27

#define X2_STEP_PIN 34
#define X2_DIR_PIN 43
#define X2_ENABLE_PIN 26

#define Y2_STEP_PIN 33
#define Y2_DIR_PIN 42
#define Y2_ENABLE_PIN 25

#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26

#define E1_STEP_PIN 33
#define E1_DIR_PIN 42
#define E1_ENABLE_PIN 25

Also had to remove the comments (?!) from the following line. Have absolutely no idea why this worked… but it stopped throwing an error (forgot to copy it down…duh…) once I’d removed it.

#define BEEPER_PIN 79 // AUX-4

Not had much chance to test this - the steppers turn one way but not the other when i use the LCD to jog - this might be due to end stop config, not really concentrated and plugged a few switches into the endstop ports - might be NC or NO state messing me up etc.


its the direction pins


its to do with the pins for E0 and E1 being the same assignments as X2 and Y2 and doing something else i can’t figure out just yet…


Can you tell me whether the pin assignments piece is right? surprised that X2 and Y2 aren’t in the file for the MPCNC RAMBo versions? Or am I missing some other clever way of assigning them in Marlin?

Look at the pin assignment in my marlin 2, we use e1 and add e2 reassigning e0 to e2. My marlin 2 compiles fine for me in arduino beta. Try moving your arduino beta folder to the root of your drive, I am suspecting you are trying to compile from a really long directory to still run into issues.

The link I gave you before is for ramps not rambo, my mistake. I can look for the other link later if you can’t get 2.0 working.

This one 100% works This is what I ship and many others have flashed on there own.

Arduino beta.

Tried again on my work laptop (sorry IT department…) completely clean install. Still same compile error (attached).

Fresh install of IDE 19 Beta

Rambo drivers installed and verified

Rambo board def in Ardunio - recognises board and port

Ardunio beta in folder 3 down from root. Not getting long filepath error.

Using the file from the link in the post above correctly unzipped and unchanged.

I’m lost now as to why it isn’t working!



ardunio-compiler-error-meassage-2.txt (97.5 KB)

Updating, compiling, and testing them now. This could take a little while but I will use the fresh test laptop and see what happens.

Whoa! hold the phones!

Fresh install of freshly downloaded IDE 1.8.5 on original laptop, placed way, way down in file system towards root, renamed Ardunio folder (not sure this has any effect) and I’ve got it to compile.

Guess what, works like a charm. :slight_smile:

Tested with endstops and one stepper (not at the machine as its flipping freezing in the garage) swapping across all the channels to verify.

Good times - will hook it all up in a few days (away with work for a bit) then hopefully cutting stuff!

Thanks for the ideas, downloads and all the rest Ryan. Will hopefully be another post on your builds thread soon.

Sweet, I didn’t want to say anything but I have been using the regular 1.8.5 the whole time, I just have my arduino folder at the root of another drive, never had any issues.

I did have issues with the other laptop with arduino installed in the default location and the firmware folder several folders deep. I have updated all the firmware and have just the dual rambo left to test. I will figure it out and post my finding in the firmware page to help others. Not sure if beta, nightly, or stand in the root is the best solution.


Glad you stuck with it.

Thinking about why this time with IDE 1.8.5 worked and why it didn’t the first time in case it helps someone else I think the only variables are:

Original attempts made with the IDE downloaded via the installer, I downloaded the .zip and extracted to a folder this time.

Original attempts made with IDE in a folder a further up the tree, not too far though. I did check that long file paths are enabled in the registry for windows 10 though, not sure this makes any difference at all though. Successful attempt made with Ardunio 1.8.5 installed just above root.

Tried both versions of the RAMBo board definition in the boards menu, used 1.0.1 on the successful attempt.



I think it is really just a few folder too far. The 2.0 adds 3-6 layers/folders more to the 1.0 version. Originally I just had to tweak the location of the compile folder three layers closer to root to get it to work.

Really though I have no idea, just regurgitating things I read on github.

So far the arduino “nightly” build is working perfectly. “nightly”=Release candidate in my opinion, the beta is more nightly and bleeding edge and broken.