Lightburn software suggestion

Optional “Require Homing before Start” for Absolute Coordinates mode

Hi LightBurn Team,

I would like to propose a safety feature that would protect our hardware from human error and mechanical wear.

The Problem: I am using a machine (ACMER) in Absolute Coordinates mode. Often, at the end of a job, the laser moves to a “Finish Position” (e.g., X390 Y390) to clear the workspace. If I start a new job later without remembering to home the machine first, the controller often thinks it has room to move when it actually doesn’t. This results in the gantry slamming into the rails/walls, causing belt grinding and unnecessary mechanical stress.

While some machines have hard limits, many (like mine) have extensions like “Auto-feeding conveyors” or Y-axis extensions that make installing rear limit switches impractical.

The Proposal: I suggest adding an optional toggle in the Device Settings: “Prevent job start in Absolute Coords if machine is not Homed.”

Key points of the proposal:

  1. User Choice (Opt-in): This would be an optional checkbox. It wouldn’t hinder users with “simple” machines or those who prefer manual positioning. It would only serve those who want the extra layer of safety.

  2. Hardware Protection: Software should be able to protect the hardware from human error, especially when the software “knows” the boundaries of the machine but the physical machine is out of sync.

  3. Smart vs. Simple Machines: Development shouldn’t be held back by the simplest machines on the market. Users with homing-capable machines should be able to utilize that “intelligence” to prevent crashes.

  4. Implementation: LightBurn already tracks the “Homed” state (especially on GRBL). If this flag is false and Absolute Coords are selected, the “Start” and “Frame” buttons could be greyed out or trigger a warning popup: “Machine not homed. Home now or switch to Current Position?”

Why this matters: Even for experienced users, it’s easy to forget a homing cycle after a manual adjustment or a power cycle. This small software-side check would prevent countless “belt-grinding” incidents and extend the life of our machines.

I understand the “soft borders” in the console, and they are selected, but as a beginner, their settings don’t come from “old memory” yet."

Thank you for your hard work on the best laser software on the market. I hope to see this safety feature considered!

Riku Koivisto

Hello Riku

You can already achieve this by using GCODE Start and GCODE End on your Device profile
Something like this, merely an example.
Every time you click Start, or Save Gcode, the Start Gcode is executed at the header of the Gcode

1 Like

Thank you for the suggestion regarding Start GCode. While that is a helpful workaround, it doesn’t quite address the core of my proposal.

My point is that the software should be “smart” enough to prevent or warn about potential crashes, rather than just blindly forcing a homing cycle every single time. Forcing a home command ($H) at the start of every job can be frustrating and slow if you are running multiple small projects in a row where the machine hasn’t lost its position.

We need to remember that many beginners might not understand all these “technical nuances” or how to write custom GCode. LightBurn is a superior program, and having an optional “safety check” built into the UI would make it even better. It would protect the hardware of less-experienced users from human error without requiring them to modify GCode headers.

An intelligent warning or a conditional check in Absolute Coordinates mode would be a much more elegant and user-friendly solution than a mandatory Start GCode command.

Then you are doing something wrong. This does not happen usually. If you are in absolute coordinates, you only need to home ONCE at the very beginning. There is NO additional homing required. The initial homing can be achieved by “auto home at startup” option, which is even enabled by default if you create a new laser. So this already covers the unexperienced users you were talking about.

And how should LB determine that a homing cycle is required? It’s impossible, because you can’t judge it on any setting oder laser position at all..

3 Likes

Quite frankly, if your machine is losing it’s position after a job you have other issues to address. Moving to an end position out of the way is OK. I do it myself and have never had the issue you’re describing. Using Absolute Coordinates, the machine will always know where it is, unless you move it by hand.

You can very easily set up a job checklist that will popup when you hit start with any warnings etc., I have one reminding me to check my air assist setting, since mine is manually adjusted.


You are asking Lightburn to make changes that seem to only affect your setup. You have now been given 2 different ways that solve the issue.

3 Likes

"You are correct in a perfect world where machines never lose steps and are never moved by hand. However, in reality, positions get out of sync easily. If I manually move the gantry to clean the lens or if there’s a minor physical snag, the ‘Home’ status is lost, but the controller doesn’t know it.

Many other CNC and 3D printing softwares track the ‘Homing State’. If the motors have been disabled or an Alarm has occurred, the software knows the position is no longer ‘Validated’. My suggestion is simply to have a safety check that looks at this ‘Homing Validated’ flag before allowing a move in Absolute Coordinates.

For a beginner, ‘Auto home at startup’ is great, but if they hit an emergency stop or move the laser head by hand, that initial homing is no longer valid. That is exactly when the ‘slamming’ happens. Why not have an optional safety net for these situations?"

problem solved. G-code= $H. Thank you all..!

You already mentioned the main issue here. The motors are disabled after EVERY move. 99.9% of the diode lasers and I think most CO² lasers as well disable the motors after each move. So you would have to set the “invalidated” flag after each and every move. That’s why it doesn’t make sense. LB can never detect if the position is invalid, there is no feedback if the laser head has been moved or not. The laser controller does not know either. I get your point, but it’s just impossible.

2 Likes

Does not bother me anymore. All is working just fine!

The motor drivers on my dsp machine can be set to a holding current, as mine are, as can most grbl, so it’s more difficult to move the head by hand.

My dsp works with user position or current position just fine.

IMHO, if you understand how the coordinate system works, it doesn’t matter which mode you use. Suggesting absolute coordinates is really no different than user or current position, but the origin is not at 0,0, so to me most of the time absolute positioning is a waste of time. I only use absolute when I’m cutting out jigs.

:grinning_cat:

1 Like

This is where things go wrong. Without position feedback (resolvers) as @thelmuth mentioned, neither the controller nor Lightburn know where the laser module is located. The rule is, “Never move the machine with your hands after it is Homed”.

GRBL has a parameter that you can set to keep power on the motors at all times. It does not work for all brands of diode lasers, but set $1=255 to enable this feature. All 4 of my GRBL machines have this turned on. If the stepper motors get too hot, then any other number will let it time out and turn off the holding current.

Thank you.

Thanks. I put that setting in the console, and the x-axis stiffened up, it no longer wobbles like it used to. One strange thing came up when I adjusted that. A strange “humming” sound started coming from the laser, is this normal?

Hard to tell. It may be the motor hunting for a zero null point. As long as the motor does not overheat, it should not be a problem.

1 Like

Thank you Mikey!

I read somewhere that stepper motors “humming” when current circulates in the coils, and that the sound comes from the motors..? The sound is just like a small computer fan spinning quietly.. The motors don’t get hot at all when the laser is at rest, but I guess they get hot during use anyway. It’s a bit worrying because I don’t know about these things. Hopefully someone here on the discussion board can give me the right information.?!? Thanks for the reply!

That’s exactly what’s happening. Stepper drivers regulate the current by chopping the supply, so the current varies at the chopping frequency. Folks with better ears than mine can hear the effect of the varying magnetic field on the motor’s iron armature.

The motors have two windings and their currents vary with the rotor position, so the sound changes depending on exactly where the rotor stops.

For example, these are the winding currents at standstill:

The switching ticks along at 16 kHz, which you (not I) can hear, along with its many subharmonics due to mechanical interactions.

Nothing to worry about here. Move along, move along … :grin:

2 Likes