Inventables Community Forum

Z axis limit switch problem


I probably have another dumb question for the forum, but I would really appreciate some input. I am running Easel Pro on a MillRight CarveKing (thanks for updating the “other” supported machines). My machine crashed when I was trying a trial cut on some brass. Another story. Anyway I powered down the machine and when I powered it back up again and ran the homing command at first the z axis switch was recognized but neither the x or y switches were. I thought maybe I had damaged them somehow and, indeed, the x axis switch had a broken lead but the y axis leads were fine.
I fixed the broken lead and checked that the switches themselves were ok with a multimeter. All checked out fine. I checked to see if a connection to the CNC board had come lose but that was fine. So then I thought maybe I had screwed up the g-code somehow on the arduino. I took the opportunity to load up the most recent grbl code onto the UNO and rebooted Easel. Now when I ran the homing command the z axis limit switch was no longer recognized. I rebooted everything again and decided to look at machine inspector. When I manually trip the X and Y limit switches they show up on the interface (green) but the z axis is still not recognized.

Does anyone have the faintest idea what I have done??? And any suggestions for a remedy. I have spent nearly 2 days trying to troubleshoot this as best I can but I’m completely stumped.

Cheers, Don

have you checked the Z limit switch at the end where it attached to the controller?
By chance does the new grbl change the port that Z attaches?
do you know what version you were running previously and what the new version is?

Hi Seth,

Yeah I was pretty thorough. I thought maybe there was a problem there and checked out continuity with the multimeter, but just to be sure I replaced the plug into the controller. Still no joy.

Unfortunately, I’m not sure how to check if the new grbl (version 1.1)changes the port that the Z axis communicates with. I had naively assumed that those settings were constant. My system was using version 0.9 originally.

Very early revisions of 0.9 (before 0.9j) used D11 for the Z limit switch but to be ble to allow PWM function the D11 was needed and this Z limit was moved to D12 in 0.9j.

  • Variable Spindle Speed Output: Enables a hardware PWM output for ‘S’ G-code commands. NOTE: This feature requires a pin swap with the Z-limit D11 pin and spindle enable D12 pin to access the hardware PWM on pin D12. The Z-limit pin, now on D12, should work just as it did before.

I think that the Carveking uses the grbl shield board, if so this is your corrected wiring… (notice Z going to the SpnEn Pins)

Side Note: the default baud rate of 1.1 is 115,200 so if you were using the 9600 baud rate for the old 0.9 then you would benefit from updating the COM port’s baud rate to 115,200 also :+1:

Hi Seth,

That is wonderful !!! So I need to move the z limit switch input. I will check that shortly. I am also running at 115,200 baud so that shouldn’t be a problem.

Thanks so much, Don

1 Like

Hey Seth,

So i switched the Z pins to the SpnEn inputs and still didn’t get any response from the Z limit switch. X and Y are still OK as is the probe input. However, now I can’t unlock the jog function either. Are there any lines in the g-code consol that I need to look at? I was so sure this was going to be the answer, sorry to be so premature.


Other that turning off homing in order to get a carve done tonight by setting $22=0
I’m not really sure how to fix your issue then. That pretty much exhausted my knowledge of what the probable issue/solution is…

Here is the explanation of all the grbl settings FYI though: Grbl v1.1 Configuration · gnea/grbl Wiki · GitHub

Does the Z switch show a response if you swap it with the X switch? Just to be sure it’s not the switch or wiring.

Thanks Neil, that’s a logical step that I should have tried much earlier. Indeed there was a dry solder joint that was causing the problem with the switch. Thanks again to Seth for pointing out the input change needed to the newer grbl. Just ran the homing cycle and everything looks fine.

Thanks very much to you both !!