How do I INVERT the Y and Z Axis of my GRBL CNC? Arduino UNO

Hey guys, :slight_smile:

I’d like to know how to INVERT the direction on just my Y-Axis and my Z-Axis.

My X-Axis is correct. Left goes LEFT and Right goes RIGHT.
Unfortunately my Y-Axis (-) goes AWAY from me and (+) comes towards me.
My Z-Axis (-) goes UP and (+) goes DOWN.

Everything else I’ve managed to correct and re-calibrate through other posts on this site. So BIG THANKS to you legends.

Below are my current settings.

        $0=132.978 (x, step/mm)
        $1=132.978 (y, step/mm)
        $2=132.978 (z, step/mm)
        $3=10 (step pulse, usec)
        $4=250.000 (default feed, mm/min)
        $5=500.000 (default seek, mm/min)
        $6=192 (step port invert mask, int:11000000)
        $7=25 (step idle delay, msec)
        $8=10.000 (acceleration, mm/sec^2)
        $9=0.050 (junction deviation, mm)
        $10=0.100 (arc, mm/segment)
        $11=25 (n-arc correction, int)
        $12=3 (n-decimals, int)
        $13=0 (report inches, bool)
        $14=1 (auto start, bool)
        $15=0 (invert step enable, bool)
        $16=0 (hard limits, bool)
        $17=0 (homing cycle, bool)
        $18=0 (homing dir invert mask, int:00000000)
        $19=25.000 (homing feed, mm/min)
        $20=250.000 (homing seek, mm/min)
        $21=100 (homing debounce, msec)
        $22=1.000 (homing pull-off, mm)

Your feedback is greatly appreciated! :smiley: Thanks again!

What version of grbl do you have? That doesn’t match grbl v1.1 which has $2 for direction port invert mask.

Same for 0.9.

Looks like you might have 0.8?

You are currently inverting Z and Y intsead of X and Y. 10100000 binary == 160 decimal, so change $6 to 160 to invert X and Y relative to the current setting.

I’m running v1.1, so I can’t help much more than pointing ot the right documentation for the version you appear to be running. If it’s earlier than 0.8 who knows? Not me!

1 Like

Hey Guys,

Thanks for the feedback.
I managed to find another post with a similar issue which matched my settings.

Apparently each axis has a value assigned to them. 32 , 64 & 128.
Depending on which one you wish to invert. You simple change $6= accordingly.

For example.

If you wish to invert more than one axis, simply add the numbers together.
32 + 64 = 96 ($6=96)

Now as you can see my current value is 192 (no idea why!?)
That means 64 and 128 have been inverted.

Sooo I took a wild guess and decided to see what happens if I set the value to zero.

This removed the inversion on the two troubled axis Y & Z.

Thanks for reading and I hope this helps anyone else in future. :slight_smile:

Take care!

Kind Regards,

1 Like