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)
        ok

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!

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.
$6=32
$6=64
$6=128

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.
$6=0

IT WORKED!!
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,
VK