Calibration GCode

Last year I updated the firmware of my board to GRBL 1.1 on my Nomad 883. I had some issues and Carbide 3D tech support helped me to solve it in no time. Part of the process had me re-flashing my board and my Nomad lost it’s factory settings and calibration. They gave me some GCode to input into the MDI tab that allowed my Nomad to have its initial values. This GCode tells my Nomad where the exact XY center of my table is. This is the GCode I was given:


The second line is the center of my table.

I recently needed to do a flip job and realized that the two sides were not aligned. I was using the rapid positioning center as my zero and flipping on the Y axis. I realized then that the rapid positioning center was slightly offset from the actual Y and X center on the table. I proceeded to re-calibrate my machine. If anyone is interested, I can describe the procedure I used.

I adjusted the numbers I got from Carbide 3D slightly and I’m back in business. I am curious as to what some of the numbers mean. The second line is what calibrates the perfect center of my table. I am curious about some of the GCode. I looked up the GCode Wiki and got closer to understanding. Can someone more knowledgeable fill me in?.

-I don’t know what the first line does. I find it curious that my machine is a Nomad 883 and that the Y number is 883. Why?.

-What is the L2 code? According to wiki G10 use: Specification of what register to edit (work offsets, tool radius offsets, tool length offsets, etc.).

-What are the P5 and P6 codes?. Line one has a P5 and line two has a P6.

Just curious and wanting to learn.

1 Like

Welcome to the world of Work Coordinate Systems:

Would love to hear how you did it–thanks so much for offering to explain!

For one of the C3D folks, are those numbers the same for every Nomad, or are they measured and set for each unit?

@tito the numbers are specific to each Nomad before leaving the factory. This is my understanding. Will post my procedure later as I have some work to do now.

1 Like

Whenever you get chance–no rush. Thanks again.

/G10 L2 P5 X553 Y883 Z-105.61
/G10 L2 P6 X-102.296 Y-111.206 Z-123.27

If I understood correctly, the G10 commands set the work coordinate origin on the non-volatile EEPROM.

From wiki:
G10 Px L2 (by automatically setting the specified axes from the machine position data) to (re)set the persistent work coordinate offsets.[9] L2 sets the WCS offsets with regard to the machine zero. The current machine position does not matter when you use G10 L2.

Are the P5 and P6 containers for data in EEPROM?. What are the numbers from P5 in line one mean?. I deducted that the numbers on P6 in line two are numbers specific to my Nomad and my milling table center.

1 Like

As I understand it, that’s correct. The Work Coordinate Systems are stored in EEPROM, and these two are used to position the Nomad work are relative to the structure of the machine based on where the homing switches actually are (at a guess, it’s less expensive to have this offset than it is to specify and QC parts which results in a perfect homing switch placement).

Thanks, @WillAdams. My curiosity peaked when I discovered that the Y value in line one is 883 which is the model name of my Nomad. Not a coincidence I presume?. I tried reaching those numbers with Carbide Motion but I can’t get even close. Interested in finding our what X553 and Y883 refer to.

I’m interested in knowing the process you used to determine the exact center of your machining bed. The rapid-to-center function in CM seems to go to the actual center on my Nomad, since I’m not having any alignment problems with 2-sided jobs. But would like to know how to measure it myself just in case I have to replace a homing switch in the future.

–thanks, Ed

1 Like

The process is very simple. Let me start by saying that these are my personal findings and that I have only used them on my machine. I don’t know if Carbide 3D supports this procedure as you are changing the WCS (Work Coordinate System) that your machine uses to know where it’s at. These values will be stored in EEPROM and will be the default every time you start your machine.

Since I use the center position of my milling table and the Y-axis as my axis to flip, I needed to be as precise as possible with this coordinate. Also, this procedure works for me because I have the sea of holes milling table.

Here we go:

I discovered this in McMaster Carr:

-I placed it in the center 10-32 threaded hole of my table and used the thinnest, most pointed endmill I have which is my engraving endmill.

-Use Carbide Motion to move your bit to the center position with the rapid positioning screen. If everything looks aligned, you have nothing to do. If not, continue along. I used a microscope USB camera I had bought on Amazon a while back to be as precise as possible.

-Clear all offsets

-Move the tip of your endmill to be as close as possible to the tip of the center locating punch.

-Note the numbers for your X and Y position. These are the center of your table in the WSC.

-Go to Settings and click on Open Log

-Click on MDI and send this code:


-It is very important that you replace the X and Y values with the numbers you wrote down from your machine.

-Click on the JOG button to re-home and check that everything is ok.

Finding the center-locating punch for threaded holes and using a USB microscope camera helped immensely to be as precise as possible. If anyone has any comments or revisions to what I describe, please let me know. Hope it helps someone.

PS: this is the USB camera I have:


Awesome! Love the approach. Seems like this sort of thing should come in a manual with the Nomad–perhaps it would have in an earlier time. Thanks so much for sharing!

Thank you for the detailed response. Going to file this one for future use.

–thanks, Eddie
Instagram: ekramer3

1 Like