I feel so stupid after all of this.
In some ways, this is not a simple question, and questions about home are frequent topics on this forum. The issue is that there are multiple ways of defining and setting home. So, don’t feel stupid, and feel free to ask any question on the forum.
The first thing to understand is that for almost all MPCNC users, home is relative to the stock, not relative to the machine. For most MPCNC jobs, home is either the top of the stock in the middle of the stock, or the top of the stock in the lower left corner of the stock. You select the stock point when you do the CAM to generate your g-code, and it is up to you to position the router at that point on the stock and set that as (0,0,0) for your job. The sequence of events is:
- Define the stock point in CAM (there is default if you don’t set it)
- Optionally square the machine.
- Move the router so that the tip of the bit is at the stock point relative to the stock you have mounted.
- Set that as the home position.
For MPCNC users, step 4 is usually done by setting the machine origin to the stock origin. It is done by executing this line:
G92 X0 Y0 Z0
All CAM solutions and some g-code sender solutions have ways this line can automatically be added to all your g-code files.
The purpose of dual endstops is not to define home, but to square the machine. You can get nearly as square by simply pushing your axes against the stops before engaging the steppers.
A lot of the project I make don’t require the small additional squareness provided by electronic stops. So, I just push my axes against the stops and then drag by the middle of each cross tubing to position my router over the stock point, and then manually adjust the Z height to have the router bit touching the stock. I do this all before turning on the electronics.
As for the machine size in the configuration file, as long as the size in the firmware is larger than your machine, there is no reason to change the firmware. If it is smaller and you try to home too far away, the firmware will stop with an error. I don’t know which version of the firmware you are running, but later versions of Marlin maintained by V1 have large default working sizes to avoid any issues.
If you want to compile your own firmware so you can make changes, you will find the V1 maintained versions here. You follow the PlatformIO instructions to compile the firmware.