Z homing (SKR 1.3 / Smoothieware)

For the fun of it, I built a cartesian frame from scratch (I had enough spare parts) and got a Neje laser unit to play with. Based on discussions I found here, I’m wiring it all up using an SKR 1.3 running (the cnc version) of Smoothieware. The frame mechanics are complete and now I’m beginning the wiring process and hence, some questions.

For background, I have some experience (10 years) with larger CNC machines running dedicated controllers. I am however, completely new to this Grbl/Marlin/Smoothieware camp.

First, it appears Lightburn is not aware of its current coordinates? I don’t see any DRO but instead a button to query the machine’s current coordinates? Maybe this is a function of the (Smoothieware) controller not reporting it? DRO (both work and machine’s coordinates) are usually the most prominently displayed values in a “normal” CNC UI.

Also, when you run a program, Lightburn returns to the defined “home” position which is by default 0,0 leaving the controller in an alarm state (as it hits the limit switches). Yes, this can be fixed by setting the “home” to something >0 but it is odd that the software doesn’t check the machine’s limits when all limit switches are enabled and wired (and the machine homed). Also odd (about Smoothieware) that once you hit an axis limit, it locks everything down and doesn’t allow moving away from it, forcing to home all axis as the only resort. Am I missing some setting?

With all the above you can work around by making sure you don’t hit the system limitations. When it comes to the Z axis however, I’m a bit confused. Movement (direction) is correct but it thinks Z min is down (like a 3D printer I guess). Even with Z enabled in Lightburn, it doesn’t seem Z is being homed. If I issue a G28.2 command, all 3 axis do home but Z goes down instead of up. I could not find any setting that explicitly inverts this behavior. How do you normally home Z on a laser machine? The work piece’s Z position is arbitrary (just like a normal CNC machine). Logic would be to have “home” being up and all values for Z would be negative. My original idea was to use Z to focus the laser.


Answering my own question, the trick is to invert the whole Z limit logic within the configuration.

  • Comment off gamma_min_endstop
  • Assign the pin to gamma_max_endstop instead (and enabled it)
  • Set gamma_homing_direction to home_to_max

Now it all homes properly when issuing a G28.2.

Still wish I had DROs :stuck_out_tongue: