Grbl Half step settings on X-carve (SOLVED)

Hello all, Im new to the x-carve (1000mm)and the x-carve forums. Ive searched the forums and couldn’t find the answer to my question(s). If this posting is in the wrong place, please let me know.

Ive gotten my x-c zeroed in pretty good with the full step settings on the X and Y axis’. I have been wanting to try the half step side of things (very intricate engraving) but cant find any formulas for setting up my machine. Ive set the appropriate jumpers and set $100 to 10. That setting seems to get me close but everything seem to be moving a lot faster. Other than trial and error does anyone know of a formula for setting up my machine for half stepping? Thanks in advance.


P.S. Just an afterthought. Are there any other settings that should be set in conjunction with the half step steps/per??

The microstepping is controlled by jumpers on the Grbl shield

The picture shows different micro stepping for each axis.

1 Like

Thanks for the reply Allen, I have the jumpers set correctly, just wondering about the $$settings. Are there other settings that should be set when half-stepping? Ive noticed the stepper motors are louder than before and the rate of travel is much faster.

Default settings for Inventables delivered gShield.

$100=40.000 (x, step/mm)
$101=40.000 (y, step/mm)
$102=188.976 (z, step/mm) (with ACME Z axis )

1 Like

The way I understand microstepping is that you only need to set the jumpers, no changes are needed in settings.

But I have not tried to change the mirostepping, so I may be misinformed,

I tried just setting the jumpers first, then moved the x axis 300 mm (UGS). When I measured the distance, the carriage moved a little under 600 mm. WOW. I then started messing around with $100 (step/mm) and finally found that a setting of 10 got me pretty close. The stepper motors are quite loud and the carriage moves quite rapidly…loosing steps in the Y axis, thats why Im only testing the X until I can figure out a formula, setting(s) or something to get the motors a little quieter and slower. I just want to understand what Im doing and why I guess.

If you want the details on micro-stepping with the stepper motor chip on the gShield take a look at the data sheet. You have to page down some to get to the section on micro-stepping.

Thanks for the link. I searched through the data sheet and tried to make sense of all the information. Im no mathematical wiz-kid but it did give me a couple of ideas. Still scratching my head though. I think I may have to resort to the trial and error approach.

If you tried to move 300mm and it went 600mm then you need to double your steps per mm. So, if your x was set to 40, change it to 80. You should now get 300mm on x. Same with Y. Keep your moves small while you experiment. The speed will come into line when you adjust your steps.

Once you are close, find the thread about fine tuning. Those whole numbers (like 40.000), lead me to believe that calibration is required to the stock machine.

(Caveat: I do not use Grbl or the shield).

1 Like

I tried the settings (doubling the step/mm) that made sense to me also. NoGO. I ended up with $100=10 and that got me in the ballpark, then I found this:
$100, $101 and $102 – [X,Y,Z] steps/mm
Grbl needs to know how far each step will take the tool in reality. To calculate steps/mm for an axis of your machine you need to know:

The mm traveled per revolution of your stepper motor. This is dependent on your belt drive gears or lead screw pitch.
The full steps per revolution of your steppers (typically 200)
The microsteps per step of your controller (typically 1, 2, 4, 8, or 16). Tip: Using high microstep values (e.g., 16) can reduce your stepper motor torque, so use the lowest that gives you the desired axis resolution and comfortable running properties.
The steps/mm can then be calculated like this: steps_per_mm = (steps_per_revolution*microsteps)/mm_per_rev

Compute this value for every axis and write these settings to Grbl.
My motors are still much louder than they were single stepping them and much faster also.(see posting above)

1 Like

Allen, the Shapeoko wiki is CC-by-SA: — you’re welcome to copy it, but please attribute it.

That was written up at: by Catalin Voinescu (cvoinescu on the Shapeoko forums, and here as well, I believe)

1 Like

I still can’t help but think the units in the Grbl settings are in steps/mm and the steps per mm do not change based on the microsteps setting.

40 steps per mm is always going to be 40 steps per mm, if I have 2X microsteps set on the jumper then the motor is able to subdivide the step into two microsteps but the controller should still know that a single step is two microsteps and there are still 40 steps per mm

If the microsteps made any difference in the settings then the setting units should be microsteps per mm.

But again, I am not the one changing microsteps so let me know what you learn.

1 Like

Even with Mach 3, (having set up many machines), I do the math, use the very straightforward interface, and usually end up having to experiment and dial it in. That’s why experiment with small moves, and be ready to hit the panic button.

Fortunately, there is a calculator built into Mach 3. I believe there is an online calculator for grbl. You put in how much it actually moved, and it gives you the correct settings. A dial gauge is helpful.

1 Like

Sorry, I removed the post

Too late Allen. I accidentally sent to “ALL” on my company’s e-mail server. I would immediately send out attribution but I am afraid people will think I am a jackass.

1 Like

Quote from the DRV8818 data sheet:

At each rising edge of the STEP input, the indexer travels to the next state in the table.

If you look at the table the change between states for the 1/8 step micro-stepping gives you an 11.25 degree rotation of the motor.

For the 1/2 step micro-stepping each state change gives you a 45 degree rotation of the motor.

So, by calculation if 1/8 stepping gives you 40 steps/mm then 1/2 stepping would give you 10 steps/mm.

Then some fine tuning would be in order.

However, the goal seems to have been to get smaller movements to facilitate very delicate engraving so the 1/8 step mode would deliver better control as you could move a smaller distance with each step.

Thanks to everyone for the quick and informative responses. My next day off will be this friday so I plan on trying some of these ideas. I’ll let you know what I find out.

Hello again everyone, Just wanted to drop a few lines and let you know what I found out after a little experimentation with my xcarve running Grbl 0.9

I tried reverting my grbl settings back the factory X,Y defaults ($100=40 and $101=40 respectively) with X and Y still set (jumpered) to half step on the grbl and found that the same issues that I had earlier with extended travel returned. I finally narrowed (trial and error) my settings down to approximately 10. Then I found the following formula online, so I crunched the numbers and it seems to validate my ‘luck-of-the-draw’ settings.

GT2 Pulley= 20 tooth with a 2mm pitch (equals 40 mm per Rev)
NEMA23 Stepper Motor- 200 steps per revolution (1.8 degrees)

Steps per mm= (full steps per revolution (motor=200) * microsteps(2))/mm per revolution.
Then I narrowed it down to exactly where I wanted it with:

My initial Grbl setting was 10 (As stated earlier, this got me pretty close)
Initial (starting point = zero on my ruler)
Moved 300 mm (Ideal Distance) in a direction then write down the (actual distance) traveled.

Then used:
(Ideal Distance / Actual Distance)*Initial Setting=New Setting

So now Im spot on in the X and Y directions. Im not sure I understand all the subtle nuances working here with respects to the internal workings of the stepper motor, but these formulas got me to where I needed to be. Hope this can help some others too.

Thanks to all you good folks who helped me nail this down. I really do appreciate it!!!