I’m a new user to Lightburn, and just wanted to share a few feature suggestions that would greatly improve the software IMHO.
Bigger jogging buttons, and/or jogging with the arrow keys. I use Lightburn on a Microsoft surface, and with the high resolution screen, the buttons are really tiny and difficult to work with, particularly when I’m leaning over to the machine, trying to eyeball the centre of a small part.
Get rid of “Home” button in the middle of the jog controls, or at least change it to “Go to 0,0”. Particularly on cheap machines without limit switches, homing just runs to the ends of travel and grinds the motors until the machine is turned off. Particularly with small jog buttons in Lightburn, it’s too easy to accidentally hit the “Home” button, and then I have to turn off the machine and start over. Homing is like a Reset, and should be well away from the jog controls. There is also confusion in different programs as to the function of “Home” buttons, and sometimes “go to 0,0” has a Home icon on it. “Go to origin” or even a “Stop” button makes more sense to be with the jog controls, and the “$H” button should be somewhere else, clearly labelled as a “Reset Home”.
Better jogging step adjustment. At the moment, the up-down arrows adjust the jogging amount by 10mm. It would be much nicer if it could work by *2 and /2, or x10 and /10, or step down 50,20,10,5,2,1,.5,.2,.1, or something along those lines. This would make it much easier to start with large steps, and step down to finer accuracy as you zero in on the position of the job. +/- 10mm is useless and just means you have to enter values manually for finer and finer steps.
Allow working into negative coordinates. All other software I’ve used will allow working in negative coordinates, with the machine origin somewhere in the middle of the space. This is particularly important after my machine has been turned off. If the head is in the middle of the machine when it’s turned on, then 0,0 is in the middle of the workspace. Many cheap machines don’t have limit switches, and don’t do a homing cycle at startup. In this case, 0,0 is wherever the machine was turned on. At the moment, I have to manually wind the motors back to the bottom left before turning it on, and this is getting annoying. Maybe there’s an option somewhere for doing everything in relative coordinates?
That’s my big four at the moment. Please let me know if there’s a solution for any of these, otherwise, please consider these for development.
I’ve adjusted my tool buttons, thanks. I don’t know what programming language you are using, but here’s some C code I use in my software to automatically look up the scaling factor for high resolution displays…
double getSystemScaleFactor() // returns 1.0 for no scaling
static bool calculatedScale = FALSE;
static double scale = 0;
if (calculatedScale) // check if scale factor already cached.
// get DPI for the system
hdc = ::GetDC(NULL);
UINT dpiX = GetDeviceCaps(hdc, LOGPIXELSX);
scale = (double)dpiX / 96.0; // default DPI is 96
if (scale < 1.0)
scale = 1.0; // prevent funny business with super large monitors returning very low DPI values
calculatedScale = TRUE;
For the keys, I don’t have a numeric keypad on my laptop, so that won’t work. The option to use the arrow keys would be nice.
Cool, I’ve disabled the Homing operation as you suggested, and this works well now.
The modifier keys is a nice idea, although I’ll never remember which ones are which, and new users would never find it. I’ll write myself a cheat-sheet and put it on my machine, and see how it goes. It will also require two hands at the computer to do the jogging, and I fear two hands at the computer, and my eyes at the cutter might do my back in, from leaning over. Short of having a second keyboard right in front of the machine, with a cheat-sheet of instructions, I think I’m still going to be entering the numbers. I’ll see how it goes.
I always run jobs relative to current position, and this works well when everything is in bounds, but this still doesn’t allow jogging past machine origin. If the machine is turned on at the centre, I can’t jog the current position below machine 0,0. Am I doing something wrong?
In the device settings, turn off $J jogging. This is a feature of GRBL designed to prevent you from slamming into your rails without trigging a limit alarm.
Honestly, adding homing switches to your machine makes a big difference in overall usability, since you can now use all the things that use absolute positioning, like the Click-to-Move feature, stored positions, Print & Cut, the camera, etc. LightBurn has functions for things like jogging the laser to a specific point in the current selection, for example. Select your design, click the ‘Move to lower left’ button, then move the wood there. Then click the ‘Move to upper right’ button and check that you’re still lined up, and go.
LightBurn is written in C++, and built on Qt which has some internal handling for high-DPI displays. The version we’re on doesn’t have as much high DPI support as it could, and moving forward to newer ones presents other issues, like dropping too many MacOS versions, and new bugs.
I couldn’t find the button for “Move to lower left/right”. However, the frame functions are great. Any chance to use the “Fire laser” option along with this, so the outline can be seen on the workpiece? I tried it, but the laser gets turned off before the frame trace proceeds.