Accurate, Repeatable Laser Guide

My rotary guide (found here) seemed to be well received, so I’m going to move onto the laser. This guide will be a bit shorter, as it’s not too involved, but is mostly to help increase repeatability, accuracy, and quality of your laser projects.

Likely any machinist will say a repeatable, accurate origin is a key component in quality production. You gotta know exactly where you start to know where you’re gonna end right? I know the snapmaker method is just eyeball it, be it with a mark and lining up the laser, or just wingin’ it. However; I find results are a lot more satisfying if you can do it mathematically. Especially doing things like greyscale picture burns in wood or other material, you can figure up your border, center it properly, or anywhere you want without fiddling with “where” the center actually is.

To start, in this section we’ll be determining the true machine zero on your snapmaker. I don’t know how different the machines are in production, or if my settings will match yours, but I’ll go through what I did to find mine and provide files of the tools I printed to make it easier.

I: Preparation

1: Repeatable laser bed placement.
1a: The easiest I find is when placing the laser grid table, leave the screws a half turn loose so you can jiggle the plates around. Place your fingers firmly in the center of the very left plate and firmly push directly outward, no forward/back, with your free hand, tighten the screws. With the plate next to it, same thing, pressing it against the first place, the front should be lined up on its own, tighten the two center screws. Repeat mirrored for the right side and fully tighten the screws.
1b: This method ensures the grid table is in the same place every time you switch it in, since the holes have a bit of leeway if you just toss them on, there’s no guarantee they’re in the same spot.
2: You will need a square piece of paper or cardboard, something you can quickly burn a dot into. Place it flush with the front and left so it matches the corner and secure it.

II: Finding True Origin Or X0,Y0

1: I find it easier to just “start” an engrave from the file menu, set the thickness, and let the laser come down to the proper height, then back out so I don’t have to mess with Z.
2: Go into the control app, jog X/Y to MACHINE 0,0 NOT WORK 0,0. (from here on, assume numbers written as 0,0 to be X,Y coords). It should be the numbers on the left side. Set origin for X/Y, then move to 10,10. Turn on the laser for a second to burn a small hole.
3: Measure the distance from the edge with a good set of calipers to the CENTER of the dot to the best of your abilities from the left (X), and front (Y).
3a: Remember, we set X,Y to 10,10, so take your measurements and subtract 10, this will be your machine 0,0. Write down your results somewhere, it’s essential when setting up your engraves.
3b: My results were 8,25, so my machine origin is -2,15.

III: Setting Up And Testing Your Origin

1: You will now need to print spacers or guides (or just measure it and fixate) matching the sizes you recorded in the previous section. I found what works best for me is the laser bed clips by mrwolfe: Laser bed clip for Snapmaker 2.0 by mrwolfe - Thingiverse
1a: They’re already 15mm (not including the hold down front), so just making them flush on the front ensures my item is 15 on Y, placing it on 0. Note this is because my Y was 15.
2: If you have a negative number, like my X is -2, place the item you want to engrave flush on the side of the plate. You will have to compensate the negative mm in either the placement, or work origin before you print (which will be easier for newcomers)
3: You can test your origin by repeating section II, except move the paper by the amount you found before.
3a: For my -2,15, I place the paper 15mm from the front, and flush on the left.
3b: After jogging to 0,0, since my X value is -2, I compensate by moving X those 2mm. My machine coords are now 2,0. Which should be directly over the corner of the paper.
3c: Set work origin, move work origin to 10,10, turn on laser to make new dot. If lined up correctly, your dot should measure 10mm from both directions.

IV: Using Your Newfound Knowledge In Real World Applications

1: Begin your laser projects as you normally would. However, we’ll be using a lower left origin. (I still use Luban 3 since 4 never generates a thumbnail for me)
2: To place what you wish to burn directly center in what you want to laser, place the objects on the laser bed as we did the paper.
2a: Measure the size, divide by two, and place that in X/Y in Luban. Your model will move to the upper right quadrant.
3: Add your offsets from before, keep in mind, positive numbers are physically moved on the bed, negative numbers are compensated in either work origin, or Luban.
3a: For my -2,15, since I have 15mm spacers, I use those on the bed, and treat Y as 0, no modifications necessary.
3b: For X, I’ll simply add 2 to whatever my half material X measurement is. i.e. to center on 100mmX100mm stock, I’d put 52,50 in Luban.
3c: HOWEVER, it may be easier to do this movement on the snapmaker itself when setting work origin, this will be covered later.

V: Start The Fire Maker

1: Load your project into workspace and send it to the snapmaker.
2: Start the file and set your work origin according to how you prepped your file.
2a: If you compensated negative values (see my -2 above) in Luban, simply jog to MACHINE 0,0 and set work origin. You’re ready to go.
2b: If you centered (or moved wherever you wanted) without taking the compensation into account, compensate it here. i.e. mine would be MACHINE 2,0, set work origin and go.
3: If you’re using Luban to control the machine, use the terminal to set your 0,0 instead.
3a: In the terminal use G53 G0 X0 Y0 F3000 to move X/Y to machine 0, then use the control menu on the right to reset X/Y work origin.
3b: If you’re using the machine compensation method, modify the movement command to match, i.e. G53 G0 X2 Y0 F3000

VI: Wrap Up And Other Information

If your measurements seem to match mine, I’ve uploaded models for easily placing objects and they can be found here: PrusaPrinters
You can use this and resize it to match the sizes you’ve gotten on your machine if you need to. For non-square objects, such as circles, just keep in mind to have your furthest points aligned as above. For a circle, the front center should be at your Y distance, and the left center should be flush with the edge of the bed. Using the method I’ve laid out above, it makes it so much easier aligning things like a clock face, especially when the center hole is already drilled and you can’t realistically line up a dot with a marked center (unless you cover the hole with tape, center, and remove before lasering, but why?).
This method also makes it easier to scale objects for a certain border or margin, perfectly center, or granularly move it around exactly where you want. It’s also very handy if you want to do multiples of the same. Since you can repeat the setup quickly and efficiently. If you have any specific questions, feel free to ask and I’ll try to answer to the best of my ability.

12 Likes

Thanks - very useful. :+1: More and more people have Snapmaker and all new owners are still having problems.

1 Like

Thank you, I am looking forward to your laser guide. Just starting with the laser and could really use some basic information icnlduing how to create a file to use with the laser.

Very nice and informative guide. Two thumbs up. My solution was to 3D print some jigs that sit in each corner of the laser bed. The jigs have spring loaded walls that act as clamps when they all work together as a unit. This ensures that the work piece is always exactly centered relative to the work bed. All I have to do at this point is set the XY origin through the touch screen which in my case as an A150 owner is (83.5, 76.5) and the laser will be exactly centered to the work piece to be cut or engraved. It’s basically a fool proof way that requires no fiddling on my part.

The jig can accommodate work pieces between 150x150mm to 155x155mm. In the photos you’ll also notice a stainless steel plate, that’s to make sure that the workpiece lays completely flat as well as to protect the laser bed and jigs from slowly getting marked or damaged by the laser over time.

1 Like

@insomniac_designer Looks pretty nice, bet it’s great on the A150. :slight_smile:

I’m attaching a couple pictures of the setup in action with the printed guides for a better representation of my explanation above.

Setting up like this, I can repeatably drop the laser directly on the corner.

ADDITIONAL FINDINGS AND INFO.

For those who decide to use the compensation in Luban, where you would move the snapmaker to machine origin 0,0 and set origin. There’s a quicker method.

Export the gcode to file first, then open the .nc file in a text editor like Notepad++, after the ; G-code START <<< line, add G53. This tells the machine to use machine coordinates instead of work coordinates… which is what we want by moving it to 0,0 to begin with. This saves the hassle so you can just zip through and hit start. :slight_smile: Just don’t forget to set your material height.

Also I came across this thread: Feature request: Auto on/off exhaust fan
which got me thinking, and now I have a start/end block I paste into my laser projects that enforces machine coordinates, turns the enclosure exhaust fan on, runs the project, then when it’s done, turns the fan off, turns the LEDs on, and homes the machine to bring the plate forward and move the toolhead out of the way.

For laser start, which forces machine coords and turns on the fan, put after ; G-code START <<<;

G53
M1010 S4 P100

For laser finish, which turns off the fan, turns on the LEDs, and homes, at the end of the file;

G28
M1010 S4 P0
M1010 S3 P100

NOTE; Do not use G53 if you’re compensating your required offset via machine coords, ONLY if you’ve already compensated it Luban.

So doing a few more tests, I modified my end gcode that I paste at the very end.

G0 Z330 F6000
G0 Y350
G4 S5
M1010 S3 P100
G4 S5
M1010 S3 P0
G4 S5
M1010 S3 P100
G4 S5
M1010 S3 P0
G4 S5
M1010 S3 P100
G4 S5
M1010 S3 P0
G4 S5
M1010 S3 P100
G4 S5
M1010 S3 P0
G4 S5
M1010 S3 P100
G4 S5
M1010 S3 P0
G4 S5
M1010 S3 P100
G4 S300
M1010 S4 P0
M1010 S3 P0

The first two lines zip the Z axis up, then the Y axis forward (modify if you have another unit, I have an A350). Then it blinks the enclosure LEDs 5 times, 5 seconds between on and off (the G4 dwell) to get my attention. Then at the end, it leaves the LEDs on, and waits another 5 minutes to help clear the rest of the smoke and particulates out before finally turning the exhaust fan and LEDs off. I figured it would be best to run the fan at least a bit after it finished just to help clear it out so it doesn’t settle inside the enclosure or on the product I’m lasering, and if I’m up and around it when it finishes I’ll notice, and if not, it turns it all off until I get around to it.

It might be a good idea to add a blinking section at the start block as well, something like;

M1010 S3 P100
G4 S5
M1010 S3 P0
G4 S5
M1010 S3 P100
G4 S5
M1010 S3 P0
G4 S5
M1010 S3 P100
G4 S5
M1010 S3 P0
G4 S5
M1010 S3 P100
G4 S5
M1010 S3 P0
G4 S5
M1010 S3 P100
G4 S5
M1010 S3 P0
M1010 S4 P100

Which blinks the LEDs 5 times, with 5 seconds between on and off, as a bit of a warning that a laser project is beginning (incase anyone else is around), then finished by turning the LEDs off and turning the fan on before running the project.

1 Like

Here’s what I came up with - I may be either over or underthinking it and don’t have @Skreelink 's background to lean on, I’m just a dabbler…nor do I for now expect to always be lasering the same size pieces, I just want a square-to-the-bed helper without projecting clamps.

Goal was a corner I could:

  • adjust in a little from the bed (1cm max overlap in both X and Y) or not, so as not to waste build surface (max outboard position is parallel to Y edge of bed, X edge in just 3mm)
  • clears the enclosure and Z rails for all bed movement. (The ‘max outward’ X edge as shown above is still just inside the housing - my lookdown angle taking the pic is a bit misleading. And on the Y edge the bed stops far short of this hitting the Z rail even in max back position.)
  • if I want to I can remove the X edge to put on a longer workpiece I want to laser asymmetrically (although in that case, obviously, enclosure detection would need to be off).

Downside of course is X and Y don’t always stay square even using pretty tight slots and barely loosening the countersunk screws (and with the addition of a couple little ‘rails’ and ‘grooves’ on the profiles you can’t see here unless I show the bottom of the CAD drawing…pic below). But I’m hopeful this might be a usable starting approach for me.

Of course everything here is dependent on how well I smoosh the bottom part “into” the bed grooves and press it right up against the ends of the fins, as well as how well I put the whole bed atop my heated bed plus spring plate since I intend to use a magnet sheet vs. having to deal with screws when I swap out. I know I might regret that attempt but we’ll see.

I’ll have to add a couple laser bed clip parts for clamping other edges obviously. Right now I’ve printed out something similar just as a ‘connector’ between the 3 bed panels as an assist to holding them together before I glue a magnet sheet to the common back face.

1 Like

Are you using TPU for these clips?

Does this apply also for the 10 Watt laser, or are there differences?

The corners are done in petg, the hold down clips are tpu. Also this method works for the 10W as well.

If that was asking me, I only print in PLA these days. My parts are all clear PLA.

My corner design still needs a rev, the comb legs that are intended to fit into the channels are too tight still, don’t quite seat ‘flush’ so if I use the corner guide I still risk “propping up” one corner of the workpiece to be slightly off level on the metal heatsink-like profile itself. But after experimenting a little I’m getting better with my settings so I’ve found I don’t “need” a repeatable start quite as much as I thought I might, so I haven’t reprinted it (yet)…