GRBL and the adjustable Z conundrum

Hi All,

I have a home made CNC machine, which has a 7w diode laser attachment. I can use it to cut 3.8mm ply, by making 3 passes and adjusting the Z height on each pass - works well, but it’s slow.

What’s that got to do with this forum I hear you ask ?

I’m thinking of converting my K40 to GRBL, and building a stepper driven Z table, so I could create tool paths which did the same thing. Do a cut pass, adjust Z, do another pass. I should then be able to cut deeper than a fixed height bed.

Has anyone else tried it ?

Thanks for that - I have my own design in mind. I wan’t really asking if anyone had made an adjustable bed. I’m more interested if anyone has made it controllable with the GCode, and if it makes much of a difference.

Don’s page doesn’t explicitly talk about controlling the Z axis with a three-axis board, but yes, it seems to me that the main benefit of a motorized Z axis instead using a hand crank or something would be three-axis control. @Jammy since you’ve already built a CNC there’s nothing particularly special at the gcode layer for whether Z is on a CNC or a laser…

For additional cutting depth, the first recommendation tends to be air assist. Have you added air assist to your K40 yet?

Yes - I’ve got a compressor from a small spray gun running through a thin copper pipe. If pushing about 15 PSI which I think should be enough. I’ve printed cable chains, added a raspberry pi so I can control it remotely, added some laser dots for positioning, added a separate psu for the extras, added a temp sensor for the water. I’ve done all that - and haven’t tested the tube yet lol.

I had a bit of an experience with the supplier - I can tell you about it if you are interested.

1 Like

Lightburn will control a third axis and supports dynamic depth cutting.
I have not tried it yet but this functionality motivated me to build a new controller for the Lightobjects lift table.
The previous controller (ECN) uses a controller from Lightobjects and up-down buttons which I never liked anyway.
I am running a smoothie 5 with Smoothieware driven by Lightburn so this combination should work out great for me.


I have been working on this intermittently and not published my work to date so here is some proto information. Warning! Testing is not complete especially on the Lightburn side of the mux.

The goals:

  • I did not want to convert my lift table to purely software control so I designed a schema that would allow manual control with a Joystick, auto control with Lightburn
  • I also wanted to be able to select multiple speeds during manual control

Design approach:

  • An Arduino and its firmware:
    **Displays status on panel leds
    **Controls a standard stepper driver
    **Processes input from a joystick for up-down and seek end-stop functions
    **Controls the state of the input multiplexor
    **A joystick function to automatically seek top or bottom [left/right]
    **Run diagnostics
  • A joystick as the manual input
  • Center switch on joystick changes speed [low/med/high]
  • A multiplexor selects (programmatically) Z stepper control from the smoothie or the joystick.
  • Lightburn control comes from z axis on smoothie
  • 24vdc power input
  • Modular packaging.
    ** All electronics are mounted on the lift unit
    ** Lift unit and its control can run standalone outside of the machine using the joystick
    ** Modular Joystick mounting on the front of the machine

Status of testing:

  • Code tested in all manual modes
  • Diagnostics tested
  • Multiplexor
  • Connection to smoothie and Lightburn

Unimplemented improvements [especially if others want one]:

  • PCB for multiplexor board
  • Use of smaller Arduino processor and board (nano + nano screw shield)
  • 3D printed joystick enclosure

Design resources:
note: this schematic contains both the new and old (ECN), controller


The entire proto out of machine:

The Joystick fab:

The controller and drive:

The Arduino & sheild:

The driver interface with multiplexor board


That’s great - looks like its coming on really well.

Thanks for that - I think I will definitely move forward with the project !

I think it’s useful to share experiences of suppliers. It might make sense to collect good and bad stories as comments in this getting started topic:

Please don’t publish the same comment on multiple topics (see Where should I buy a K40?)!! Instead just post a link to the other topic.

Sorry - I didn’t notice Michael has suggested the proper place to put the details of the purchase - so I added it to the correct thread.

It’s OK! Thanks for sharing it, and you have helped us get starting on sharing experiences on that topic!

I really like that discourse turns a link to a topic or a comment into a “one-boxed” snippet of the topic or comment. So if you are ever wanting to share content in two topics, you can post a comment in one, and just copy the link to the comment into the other. :slight_smile:

It ends up looking like this: