grbl no z axis motion

So I got John’s grbl code installed on my stock ramps 1.4 board with dual end stop switches and a z axis touch plate. All of this was working properly under Marlin but with grbl x and y work as expected and home works for them as expected. The Z axis does not move under any command that I have tried.

Now there is no tool in the spindle and therefore no z probe touch which if I understand means it doesn’t know about z = zero when it homes but how can that work since touch plate is normally open by design ???

Clearly I am missing something stupid …

Would someone be so kind to point it out …


Just an aside but it would be wonderful if there was a dedicated thread for grbl that the search function could point you too … there are hundreds of posts about this topic and it gets very confusing trying to keep the details straight and the weakness of the search function doesn’t help much either.




There are a lot of posts about grbl, and a lot about the Z axis, but I’m not sure there are that many with both.

Have you checked that the endstop on Z isn’t triggered? I think there is a command to read the current endstop state.

There are two ways to wire and endstop. It can either be grounded or high when it’s triggered. For the Z endstop, you usually set the logic up so the pin on the board is reading high when there is nothing connected (an internal pull up resistor is responsible for this). Then when it shorts to ground through the touch plate, the signal is ground and that means triggered to the firmware. If the firmware has the logic inverted, then it will think it is triggered when it’s high and open when it’s grounded. It might also be that grbl isn’t setting the pull up resistor on the Z axis right. Then it would be floating, which gives unpredictable results.

Thank you for your reply which did prompt me to do more research which is always a good thing.

So further testing reveals that there is something wrong with the bCNC client running on the pi because I built another pi boot card from Jeffeb3’s work and everything worked as expected using CNC.js …

So now that I know the hardware is working I can focus on troubleshooting software … oh what fun …

I would like to ask has anyone got CNC.js or more specifically Node js running on a pi with the gui? My goal is to have the pi provide a screen to control the MPCNC so that I do not need another computer / laptop / tablet etc, just a pi 3+ and a touch screen. So if I can get it to run with the gui and still support the browser running locally I would be good to go as I do like the interface of CNC.js much better than bCNC.