Display menu functions and default Marlin settings?

Can someone direct me to documentation describing the LCD menu functions (especially the advanced settings) and the default Marlin setting, e.f. feed rate, etc.? Thanks

I’ve been active on this forum for a couple of years, and I’ve not seen any documentation specifically about the LCD menu. But, under the hood, all the functions on the menu are mapped to the code that implements specific g-code commands. So, for the advanced settings:

Set Home Offsets → M206
Max Speed → M203
Acceleration → M201
Junction Dev → M205
Probe Offsets → M851
Steps /mm → M92
Initialize EEPROM → M502

If you execute the g-code command rather than the menu item for these settings, you must execute an M500 after the g-code command to save that setting to EPROM. If you don’t, the setting will disappear when the control board is shut down. Not having it saved can be a feature. For example, I put specific Max Speed and Acceleration settings in the start g-code of my laser g-code file, but don’t save them with an M500. When the control board is turned off, the router Max Speed and Acceleration settings are “restored.”

Be careful to use the units specified in the documentation with these commands. Most of these settings use millimeters per second, but other Marlin g-code commands (like G0, G1, G2, etc.) use millimeters per minute.

Unless you are doing something non-traditional with your MPCNC, the only setting you might adjust is Max Speed. The default Max Speed settings are high enough that, under some circumstances, you can lose steps. I suggest leaving the rest of these Advanced settings alone.

1 Like

Thanks for the reply and info. I been using my MPCNC with the LCD display since I built it a few years ago. I was looking for menu tree before I connect a PC to it.

When connected to a PC, you need g-code sender software on your PC to communicate with your control board. Repetier-Host is software documented by V1, but there are others, as well as wireless solutions. When using a g-code sender, all communication is in the form of g-code. The g-code sender does not interact with the menu at all. G-code senders implement their own interface and then communicate to the control board by sending g-code.

I am a bit distracted at the moment - but I was going to ask the same question with a view to documenting each menu item.

Most are simple and intuitive, but like all things, for someone unfamiliar with the terms some are a puzzle at first.

For instance -

  1. I presume “Auto Home” just means “Home Everything”

  2. What does turning “Soft Endstops” on or off do?

  3. What is “Junction Dev”, and why is mine set at 0.040 ?

  4. When should I use “Home Offsets”?

And it is not just these menu settings. There is a bunch of stuff in the g-code reference that is confusing. Personally, I only go seeking this kind of information when I’m having a problem, and for most things the V1 defaults work.

So, are you seeking answers to points 1 - 4, or were they just examples?

Both! I am quite prepared to go looking for the answers and put them in a consolidated document (in a week or two) but I’d appreciate the answers now if that’s OK.

I’m mid some sort of epiphany I think - assembling the Mk$ is very straight forward and clear to me, but some of the comments in the instructions are mind boggling for the complete lack of knowledge displayed, I prefer not to use “ignorance”, but there’s obviously not a universal mindset to try to get the info or even to RTFM first. Then I see the questions I ask on this forum and realise that perhaps there was an attempt to get the info first, but if you start with zero knowledge, you don’t even know where to start looking.

That means I’m doubly appreciative of every single patient answer you blokes give, and I’m doubly determined to do my bit to broaden this resource as much as possible!!

So yes please, answers would be great!

  1. I presume “Auto Home” just means “Home Everything”

This command, homes X, Y, and Z.

  1. What does turning “Soft Endstops” on or off do?

Soft endstops are calculated limits to your machine. The “soft” here refers to software. For them to work correctly, there are two things that need to happen. First, your machine’s XY work area needs to be correctly defined in the firmware. This cannot be done by g-code and therefore requires editing configuration.h and recompiling the firmware. These are the lines that need to be edited:

// The size of the printable area
#define X_BED_SIZE 1220 // 200
#define Y_BED_SIZE 2440 // 200

The second thing is that the machine must be in a “homed” state. Homing the machine will put it in this state, but a G92 will take it back out of this state. If you are using an LCD or have the TFT in Marlin mode, flashing question marks as part of the coordinates on the display indicated that the machine is not in a homed state.

Most of us using an MPCNC use G92 to establish the origin relative to the stock, so soft endstops won’t work. In order for them to be enabled, you would have either 1) mount your stock at the origin of the machine, or 2) use workspaces to establish the origin relative to the stock instead of G92.

  1. What is “Junction Dev”, and why is mine set at 0.040 ?

This is “Junction Deviation.” I’ve read some about this setting/feature, but have no intuitive understanding of how changing this value (and by what amount) changes the behavior of the machine. You can find documentation on Marlin’s Junction Deviation here. The docs describe it as, “Junction Deviation determines the cornering speed. The smaller the value the slower the cornering speed will be.”

  1. When should I use “Home Offsets”?

Home offsets establish the coordinate of the home position. By default, when you home your machine, the XY coordinates are set to (0,0). Say you had a home offset of (-20,-25). When you home the machine, coordinates would then read (-20,-25). This would place the (0,0) origin of the machine (20,25) away from the home position. The behavior is similar to what would happen if you executed G92 X-20 Y-25 right after homing the machine.

I don’t know of anyone on this forum that uses home offsets. I can think of one use scenario for this feature on the MPCNC. Imagine you had a horizontal and vertical rule on your machine, and that you used these rules to position your stock for jobs. Imagine the corner where there two rules meet is at (10,12) relative to the home position. If you were to set your home offset to (-10, -12), then, just after homing the machine, a G1 X0 Y0 would position your router over the corner where the rules meet. Note that, since you are not executing a G92 in this scenario, soft endstops could be used.

1 Like

Thank-you for that, there was way more in your answer than I thought I needed to know. For instance - who would have thought to look up the “marlin manual”? :smiley:

I think, hopefully next week as I am properly commissioning the machine, I will try to get an understanding of, and write the “for dummies” manual. It doesn’t matter if it’s not useful for others, it will help me get a handle on things in some sort of order. None of this is earth shattering news - I bumbled my way through the LR2 actually cutting stuff, but to continue the bee analogy, it would be nice to be buzzing rather than bumbling.

At the moment the machine thinks “home” is where it is when it’s turned on. I presume this is the default behaviour. In order to “home” it, I must first “reset all”.

When you turn the machine on, that position is set to (0,0). That is different than being in a home state. To be in a homed state, the machine must know where the router is in relation to the real world, physical origin of the machine. That only happens when you electronically home the machine and don’t change the router location using an G92. When you execute a G92, the firmware loses its reference wrt the origin of the physical machine.

If you have an LCD or run in Marlin mode using the TFT. Look at the coordinates displayed when the machine is first turned on and compare the display to when you’ve homed X and Y. When you see “?” in the display, the firmware is saying it does not know where the router is wrt the physical origin of the machine. If it does not know where the router is, then it cannot calculate valid soft endstops.

1 Like