Good Grief! More smashed Z switches

So last night I got my soft limits enabled and was able to home my machine and use G28 and G30 flawlessly. This morning I fire everything up and try to home from the G28 position and smashed my last switch. (No biggie, by now I am pretty darn efficient removing and replacing the little boogers.) Am I missing something here? Now I have to bypass the homing “Button” to be able to use the jog controls to reset the Z. After jogging the machine around a little, the jog controls don’t work but the carve button stays green. So I have to either reboot the Xcontroller or pull the USB and reinsert.
So I go through the whole process to carve, get everything set and now the machine won’t move.
I can only imagine what I boogered up now…help please

What does this mean?

What steps did you take to that lead up to the smashed switch (be specific please)?

Last night when I shut everything down, the machine was at the “G28” position (Work zero) that I programmed. This morning when I hit the home button, it started it’s “Z” movement and kept going and smashed the "Z"switch.
So I hit the stop button, and had to go through Easel to “unlock homing” so I could use the jog controls to
move the spindle down. Now I can’t properly Home the machine without the switch and I think that might be what is causing the machine not to work.I did notice a couple error messages and alarm messages in the editor. Do I turn the soft limits off temporarily so I can use the machine until I get some some new switches? I tried to use my laser with Pic sender and it wouldn’t work either.

G28 works off of Machine Zero. There are two ways to establish Machine Zero. One is to turn on your machine. The position of the spindle when you power up your machine becomes Machine Zero as the firmware has no other way to determine where the spindle is positioned. At this time Work Zero is undefined.

If you home your machine then then after the homing cycle is complete, the home position becomes Machine Zero and the hardware and firmware are synchronized to that point. That’s the purpose of homing.

When you homed your machine and it didn’t stop when the switch was activated, shows that your homing switch function was not working properly at that time. You need to replace the switch and get your switches working properly before you try to home the machine again.

I may or may not have done the same thing recently. :slight_smile: Change G28 so that the Z is not at the top limit.

use the spot where the screw hole is and put a fastener in there. I did and now the system cannot smash the switch. Even if I tell it to go past it.
See my post about it here:

Thanks Steve! I plan to put a screw in place to keep from smashing the set (yes I said set, like at least 4 to keep on hand) of switches I buy.
But I can’t do anything until I get those and be able to home the machine safely again. It’s all good, that gives me time to work on waste board. Thanks everybody!

Stupid question: Do I have to turn the soft limits on every time I turn my machine on? Once the soft limits are turned on, are they are set in GRBL forever and I should never have to turn them on again?
So I got everything set and working perfectly again, yesterday, I come out to my shop today, turn everything on, start Easel, “Home the machine” and again, I lose yet another damn switch. What am I missing here? Do the hard limits have to on for the Z switch to work? Thought I had a handle on it, now the machine is handling me…:rage:

Yes, once you enable them they are always active.

However, you need to home your machine every time you turn it on, as the soft limits are distance from the home position. If you don’t home your machine it might be using whatever position it happened to be in when you turned it on as the home position instead. In which case the soft limit points will be incorrect.

You can get grbl to tell you what it is seeing in regards to the switches. I would start there as you can test the switches without moving the machine.

If you would like to do that, we can proceed.

Which version of grbl are you using?

I just did the firmware update, not sure if that has anything to do with GRBL. I’m using an Xcontroller from this year. I did some more searching this mornning and found out that the Z height has to be set when you home the machine… Mine is set at 80mm, I have the soft and hard limits set as well. I reran the initial setup today, went through the whole thing, set up homing, did the test carve, used G28 and G30then I went to home the machine …and now I am down to two switches left. I also triggered the Z switch to make sure it works and it did,

The firmware is referred to as grbl. It’s the code that resides in the X-controller and interprets the g-code statements sent to the machine.


How did you test this?

Since you know that you have a problem with homing, I would think that you would try some incremental tests before going back to the homing cycle.

I will help you learn what you need to do, in order to find the problem, but there’s no magic bullet. It takes some work.

To test the switch I started the homing sequence, let the spindle ride up the acme rod about an inch and “fingered” the switch manually. I did notice that the carve button stayed green so I went to jog the machine and the buttons would not work. I then unplugged the USB and plugged it back in to get the jog controls to work.

When I did this, in Easel I had to choose to unlock or bypass homing to use the jog controls so I could lower the spindle.

I really appreciate your help, thank you.

Let’s find out if you have any bad settings to start with. What programs do you know how to use?
Easel, Universal G-code sender, Arduino IDE, or something else?

Do you know how to get the grbl parameters using Easel’s machine inspector?

Can you post your $$ grbl output here?

I use Easel and picsender, BTW, Picsender
Is not working either. I’m at work now so I will have to post the settings tonight or tomorrow morning.

1 Like

When you get back to this let’s work in PicSender. It will make things easier.

If you have version 2.5.5 then that will match what I have. If not, please download version 2.5.5 and install it then we will have the same environment to work in.

Just purchased the new version of PicSender, just waiting for the download

Easel driver 0.3.1
$132=80.000 (z max travel, mm)
$131=790.000 (y max travel, mm)
$130=790.000 (x max travel, mm)
$122=50.000 (z accel, mm/sec^2)
$121=500.000 (y accel, mm/sec^2)
$120=500.000 (x accel, mm/sec^2)
$112=500.000 (z max rate, mm/min)
$111=8000.000 (y max rate, mm/min)
$110=8000.000 (x max rate, mm/min)
$102=188.976 (z, step/mm)
$101=40.000 (y, step/mm)
$100=40.001 (x, step/mm)
$31=0. (rpm min)
$30=1. (rpm max)
$27=1.000 (homing pull-off, mm)
$26=250 (homing debounce, msec)
$25=750.000 (homing seek, mm/min)
$24=25.000 (homing feed, mm/min)
$23=3 (homing dir invert mask:00000011)
$22=1 (homing cycle, bool)
$21=1 (hard limits, bool)
$20=1 (soft limits, bool)
$13=1 (report inches, bool)
$12=0.002 (arc tolerance, mm)
$11=0.020 (junction deviation, mm)
$10=115 (status report mask:01110011)
$6=0 (probe pin invert, bool)
$5=0 (limit pins invert, bool)
$4=0 (step enable invert, bool)
$3=3 (dir port invert mask:00000011)
$2=0 (step port invert mask:00000000)
$1=0 (step idle delay, msec)
$0=10 (step pulse, usec)
[’$H’|’$X’ to unlock]


Change $1=255 $21=0

In PicSender, press the ? button. you should see an output similar to this one:


The numbers immediately following the" Pin:" are the state of the homing switches. The order is ZYX.

With all zeros then no homing switch is triggered.

Does it show any switch triggered?

If you have Pin:100 that means the Z axis homing switch is tripped.

Hold the Z axis homing switch closed and press the ? button again and see if grbl sees the switch as tripped.

Do this for the X and Y axis switch as well.

Does grbl recognize a switch change on all axes?

Does the alignment of the Z axis switch look like this?

PIN=All zeros, 2.4000 in the X or last pos