So… After a lot of testing…
It’s been awhile since I’ve done a guide, and this one was a long time coming. This guide will allow you to do your entire project in Lightburn, and (if connected via USB) run it directly from Lightburn. Letting you skip Luban or using the USB drive entirely.
A quick note, this guide, like most of mine, will assume you have some experience with the machine. As always, feel free to ask questions and I’ll try filling in any gaps you find. I’ll be posting the setup I use for my A350 with the original 1.6W laser. However, I’ll also be putting notes that SHOULD work (EDIT: spoiler, it does) with the 10W, which I have, I just haven’t tested yet. It should be the same pretty much, just it can measure your material itself.
CUSTOM FIRMWARE NO LONGER REQUIRED, USE LATEST VERSION
To start! This does rely on the inline control that’s been incorporated in the public github version of the firmware. This is NOT in the private releases (the ones supplied by Snapmaker directly) so you WILL have to load a ‘custom’ firmware. So here is the warning, I’m not liable for any damage to your machine, material, fire, or loss of sanity.
Snapmaker_V4.4.19_20220919.bin.zip (146.8 KB)
The above is the latest (as of writing this guide) version of snapmaker firmware. This is modified and compiled by me and is what I use on both of my machines, an F350 with 10W laser, and A350 with 1.6W laser. Make sure to update your machine and modules to the latest official firmware, then unzip my firmware to your USB drive and flash it. This enables inline features to the Marlin firmware, allowing you to use dithering without the stop/go stutter that stock does, as well as true grayscale, which varies the power of the laser to create gradients. This requires Lightburn, however, and is not currently a feature of Luban.
I know, I know, enough of the fluff, get to the guide! It’s rather simple, so this guide is not going to be in the standard tier system of my other guides, mostly infographic style with a few pictures.
To start, you require… LIGHTBURN imagine that, a guide that specifically states a software, you need it.
Now here’s the special part, you need to setup your machine type as GRBL-M3 instead of Snapmaker or Marlin. If you already have your snapmaker setup in Lightburn, you can click devices > select your machine > edit. If not, add the machine new.
Afterwards, it’s mostly normal, except uncheck the “auto home” during device setup. Selecting GRBL-M3 solves a few problems with using Marlin as the machine type (mostly how it turns the laser on/off, and had required some minor gcode edits before being ran).
Now after setting your machine as the type it certainly is not, open the device settings, there’s a few specific things we need to do. In the Basic Settings tab, tick Enable Z axis but untick Relative Z moves only. The other settings you can change as you need, but ensure S-value max is set to 255.
Next step in the GCode tab is one of the more important parts. The real magic happens here along with the custom firmware. It WILL require you to find your true origin and note your laser height. To find your true origin you can follow my guide:
In this tab, we’re setting up all the parameters that Lightburn doesn’t know and can’t pull from the machine like Luban does. Such as laser focus, origin offsets, and a few safety lines. Keep in mind these are the settings for MY MACHINE while it may match yours fine, I encourage you to do your own tests for proper settings. I’ll paste my settings with notes on things you need to change.
Header;
M106 P0 S255 ; This line is spit out by Luban and Snapmaker settings in Lightburn, so I include it.
G28 ; Safety home, incase you forgot after power on.
G53 ; Changes to Machine Coords.
G0 Z23 F6000 ; IMPORTANT, the Z value here is your LASER HEIGHT on the touchscreen.
G54 ; Changes back to Work Coords
G92 Z0 ; This sets Z Work Origin to 0, making your laser height as 0.
G0 Z300 ; Moves the toolhead back up out of the way.
G53 ; Back to machine coords!
G0 X2 Y0 F6000 ; IMPORTANT, this is the offset you found following my laser guide!
G54 ; Oops, we're back in work coords.
G92 X0 Y0 ; Yep, we gotta set 0,0 on X,Y as well!
M3 S0 ; This is a safety line, it brings the laser online at 0 power, basically a ready state.
Footer;
M5 ; Safety line, ensures the laser is offline and actually off.
G0 Z330 F6000 ; Custom line to rapid toss the toolhead up out of the way.
G0 Y350 ; Custom line to rapid the bed forward.
G28 ; Safety home, I've noticed sometimes my machine is offset if I don't home every now and then.
Now with these settings and custom GCode in place, you’re ready to setup a project! The last, very important note, is you now have a Material option in Lightburn. It only shows up after you place your first image, svg, shape, whatever.
This is where you put your material thickness. This is where the difference between the 1.6W and 10W comes in! As long as you’ve homed your machine, you can point any browser at the web API and initiate the thickness measurement on the 10W laser. This will give you the value to slap into the material box, instead of having to measure with calipers.
Replace the XXX with the IP of your snapmaker and adjust the x and y values to move the toolhead around the bed. It’s a little offset, so you might have to play with it to get it where you want. This is what I use for a general measure on objects around 150mm.
http://XXX.XXX.XXX.XXX:8080/api/request_Laser_Material_Thickness?x=150&y=75&feedRate=6000
EDIT: Tested with my F350 + 10W Laser + Enclosure, works just as well as the A350 + 1.6W. The 10W can just find the thickness as described above, but you still have to plug that number into Lightburn, it cannot do that automatically.
Lastly, here’s a video of how the process looks after setting up your project. A single click and go!
Sorry about the focus, despite tapping on the screen, my phone couldn’t decide what to focus on. A bit long winded for a ‘short’ guide, but I tried to cover everything. If you have any problems, comment and I’ll try to help the best I can. To round out, the last thing that I tested, combining SVG outline, fill, and a dithered image… (don’t ask why)