Moving the machine in .001 increments

Hello folks,

I’ve recently received in my X50 and working on some slight issues (very stout machine!!). I mainly machine nylon, acetal, acrylic and so forth. My old machine had ability to be able to type in a distance into each of the axis and click ‘move’ and the Z would move accordingly. I never used the ‘home machine’ feature or a probe and always did the jogging manually to set my 0, 0 ,0 position for the 3 axis. My question is: has anyone found a way to jog to .001, .002 or even .003? I’ve emailed support and they sent me here. for such a robust machine to lack ability to click on your any axis and type in a distance to move and click ‘move’ seems like such a simple task but is not on the interface.

Thank you.

Select your increment from the part highlighted with a red rectangle, use the X+ X- Y+ Y- and Z+ Z- buttons (or arrows) to move by the increment amount you have selected. The buttons with the green rectangles will move to your X,Y work offset or Z work offset you have set. Be careful moving to the X,Y work offset zero point if your bit is below the height of the workpiece…

1 Like

Change to imperial and look at the far left. it shows .005 is the smallest move. I’m looking for something closer to .002 or even .003 I’d be happy with.


Change to metric and you can jog .1mm = .0039", that is half way there :man_shrugging:

you have the option of manually entering g code but that would be tedious. When I set up my machine I used the Onefinity to cut the border of my waste board and I probe that as my X,Y starting point when I set up a project and as a recovery point should I need it. I then use a g0 x?? y?? to move to my starting point and zero it there. Maybe some combination of that will get you there, start with a probed point then move g0 x.001 as needed.


Ok, I will give that a shot. My last machine I had ability to touch on the specific axis and type in my ‘jog to’ distance and click go and it would move. An example if I was at 15.487 and needed to go to a full 15.490 I could click on the number and type in the new one and click ‘move’ and it would go. nice little machine, just wasn’t as stout as the new one.

You can do similar on the MDI tab, something like this:

it’s not jogging the machine with arrows per se but will move the x axis to 14.490 relative to your work offset zero point


This may have just solved my problem. I don’t mind putting in Gcode as long as I can get to my end point I’m happy. Thank you all for your input, be wonderful if I could just click the button and press +or- to do the same thing. But, it is what it is.

What is the text for the other 2 axis? definitely writing this all down lol. thx again!

I agree. The MDI is the best solution I have found for tiny moves while probing.
I like to combine it with a G91 for relative positioning:

G1 X0.01 F300
G1 Y0.01 F300
G1 Z0.01 F300

G1 coordinate F300 moves slower than G0. I prefer the slower move with a probe but it depends on the situation.



As @ben wrote you replace the X, Y, Z for the axis you wish to move. Keep in mind the offset may be a negative number depending on where you set your work offset zero point (this is not home, if you wish to move relative to home (the absolute value on the controller) you’d need to use G53)

to move relative to home use:

G53 G0 X15 Y20

Keep in mind that stall homing is “good” but not precise enough to be repeatable for all operations, I have seen deviations of +/- .2mm or roughly .008". Also note that Z values for absolute positioning will be a negative number because zero is at the top.

G53 G0 Z0 <---- will move Z to the top
G53 G0 Z-133 <— Will move Z to the bottom (assuming you’re in metric mode)


Home the machine first. Now you have 0,0,0 in lower left. You got a Journeyman so use that space.
Use the MDI tab as described.
Remember there are NO limits when you use these commands. You can drive the z through the bed. If you go to far on x y or up on z you will hear the stepper motors skip. Don’t worry. Does not hurt them.

In the MDI tab type each code or a line of code and hit enter to execute

Set imperial G20 or metric G21
Set relative G91 or absolute G90
G0 is move as fast as possible to position
G1 is specified rate and requires a F value
Move (G0 or G1): G0 X20 Y20 Z-2 (I would move Z a via keypad or joystick, don’t even type it) results in machine moving as fast as possible in straight line to either 20,20 if you had absolute or 20 back and 20 right if relative.
G21 G90
G1 X17 Y17 F400 results in machine moving to 17,17 mm position on plane at a speed of 400mm/min

That’s the basics. You can use plus or minus and decimals (.000000001, don’t know what the accuracy is maxed in gcode. Probably .001mm)

1 Like

If you’re typically doing machine type parts as I am (I cut the same materials as you) then you may want to consider an aftermarket controller. I could do .001" on my previous DDCS controller, but now that I’ve moved to a Centroid Acorn CNC controller it’s even more readily at hand. The X1, X10 and X100 buttons are .001, .01, and .100" respectively when in incr. mode.


@WaywardWoodworker says to use G53 for relative moves
@TheRealStrylen says to use G91 for relative moves

Are both of these correct? Or is one of them for a different controller?
I have the OneFinity controller. Where can I find documentation on all of the valid gcode commands for this controller?

Thank you!

Either can be used.

G91 is modal meaning you can enter it at the beginning of a program and it will apply absolute positioning to all of the commands that follow unless a G90 sets the machine to offset mode/relative mode.

Move to absolute X10 Y10 by calling G91 first, unless the remainder of the program is also absolute you will likely need a G90 after:
G0 X10 Y10
G90 <— set back to relative mode

G53 is not modal and is used in line and only affects that line:

Use G53 in line to move to absolute X10 Y10:

G53 G0 X10 Y10

Both are correct, I generally use G53 in the MDI tab to avoid changing things that stay changed and might affect the file I’m about to run. I would suspect most post processors will set the mode as appropriate at the beginning of the file.

G20 and G21 for setting the machine to metric vs imperial units are also modal, once set to one it remains that way until the other is called.

And there you have it! Well said.

I am by no means an expert at writing g code so there is likely additional nuance to using various approaches, I just know what I’ve figured out works… There is a link in the Onefinity controller menu for “Cheat Sheet” which has links to the supported commands which also reference this link:

I have noticed there is an issue with the way the controller interprets a G53 move when calculating and simulating the toolpath for a file which can result in the X and/or Y axis reporting ‘over’ however the file will run correctly and the actual CAM motion code will execute the G53 move correctly.

RexH said:

@WaywardWoodworker says to use G53 for relative moves

Perhaps a help to clarify ( not saying anybody is wrong - just gotta understand terms )
When speaking of relative / absolute moves it is important to know where this distance is taken from:
G90 for absolute moves from the work origin ( where you set 0 to be ).
G91 for relative moves from the current position.
G53 for absolute moves from the machine origin ( home position if you homed it - or if you didn’t, from where the spindle was when you started the controller. )

WaywardWoodworker said: to move relative to home use: G53 G0 X15 Y20

Which is correct - in an absolute sort of way - relative to home.
If you get what i mean.

Thank you everyone! I think I understand it much better now.