S3XL z-axis reversed after updating to grbl 1.1 and CM4

Searched the forum and saw some similar issues, but was unable to parse the solutions. Feel free to poke fun at me, as you tell me how to fix this.

30 month old Shapeoko 3 XL with some miles on it. I flashed to grbl 1.1 this afternoon. When I start the homing cycle in CM4, the z-axis drives DOWN and it errors out.

I followed the procedure – I think – of sending the default XL configuration files (nothing happen on the screen after selecting “XL” from the drop down and clicking the >send< button).

I recall that this machine had a reversed Z when it was new, and that I had to modify some code through the MDI.

When I failed to find that procedure written out in simple language here, I thought I might ask for help. So “help please?”

Hi John

Sounds like the wires on the motor could be reversed, but it’s an easy fix.

In mini can you check your $2 setting? You will want to flip it - i.e. right now lets say its $2=0 on the below chart it would be $2=4

Setting Value Mask Invert X Invert Y Invert Z
0 00000000 N N N
1 00000001 Y N N
2 00000010 N Y N
3 00000011 Y Y N
4 00000100 N N Y
5 00000101 Y N Y
6 00000110 N Y Y
7 00000111 Y Y Y

Does that help?


While Luke’s analysis and fix are good, I would recommend instead also checking the machine mechanically and electronically.

The Z-axis can be reversed by having the Z-axis spindle carriage plate on upside down (the static pulley should be on the left when viewed from the front of the machine), in addition to being mis/re-wired as noted, or reversed in software.

If an axis is running backwards, due to being miswired it’s easily addressed — all wiring extensions should be straight through, and all wiring connectors should be consistent, stepper motors may be reversed in several ways:

  • swap the left and right pair of wires
  • reverse the ordering of the wires in the left or the right pair
  • reverse all four wires

Do whichever is appropriate to match the other wiring connectors — use a small tool to pop out the wiring lead pins and when reinserting them, make certain that they click into place. See: http://www.pcbheaven.com/exppages/Reuse_and-or_extend_the_Molex_connectors/

Most likely this was previously fixed in software (early on, support used to recommend that, mea culpa), and the fix was undone when the defaults were sent as part of the update, which is why fixing this by altering the defaults is a bad idea.


Thanks. Yes, it looks like carriage plate is upside down. All three motor connectors appear to be wired identically (R/W/G/Bk)

Sending $2=4 from MDI does nothing, however. Before I take things apart, am I doing the software fix incorrectly?

I am typing $2=4 into the MDI and hitting “send”. Nothing happens on the screen afterwards.

And I’ve tried typing $2=0 as well – just make sure that I wasn’t unfixing something that had been fixed.

Careful you don’t start reversing X & Y as well.
Are you including the \ or / (I forget which one) in front of your $?

You should not have to take anything apart. When you upgraded, ALL of your settings were reset.

Yeah. Tried that. Same result – which is to say, no result. It drives down at the beginning of the homing cycle.

What do you see in the log when you send it?

Just noticed that should be a $3, not $2.

? What should $3? @Luke up-thread posted a table…

Table still applies.
If your $3 is equal to 0, send $3=4

Thanks – think I’ve got it sorted (so far). I must have more than one thing mechanically/electrically reversed-- which is weird, because I am pretty sure I only had to invert the z-axis when I built it.

Sent the S3 XL defaults from settings again. Z-axiz still reversed.

Entered /$3=2 z-axis still reversed.

Entered /$3=0 z-axis drove up to the limit switch, at which point it appeared that both the y-axis and x axis were reversed

Entered /$3=3 and only the x-axis was reversed

Entered /$3=2 and it homed.

Thanks for your help.

Something is not right. Does it work repeatedly? Switching $3 from 0 to 2 to 3 shouldn’t have any effect on the Z axis.

I will not disagree.

I powered everything off, and powered it all back on. It still homes. I am satisfied that it is fixed, but I am puzzled. I ask again, how do I check the configuration?

Send $$ through the MDI. It will output all of your values in the log.

1 Like

I did not capture the configuration right after I updated, nor did I capture the configuration after any of my previous attempts at a fix.

I removed the cover from the electronics to look at the molex plugs, but did not move anything.

I should also say that the machine jogs normally – it goes where I tell it to go after it homes.

Well, maybe that first /$3=2 didn’t go?

Keep an eye on it. Random switches would indicate damaged wiring.