# 1064nm IR+20/40W + Lightburn Guide

**URL:** <https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954>\
**Category:** Snapmaker 2.0 (3-in-1)\
**Created:** [May 26, 2024, 1:10pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954 "2024-05-26T13:10:41Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Skreelink](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/skreelink/32/16398_2.png) [@Skreelink](https://forum.snapmaker.com/u/Skreelink)\
**Post date:** [May 26, 2024, 1:10pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/1 "2024-05-26T13:10:41Z")

</div>

With the new IR laser coming out, I figured testing and guides would follow. Lucky enough, it seems with minimal tweaks, Lightburn works with the new IR just fine. 🙂 So here’s a guide on setting it up fully with Lightburn for auto-focusing and accurate results. ~~Note; while I don’t have the 20/40W lasers, this guide SHOULD work for those as well.~~ **CONFIRMED WITH 40W** I tested both USB connection, and using my [Drag/Drop files](https://forum.snapmaker.com/t/guide-automatic-start-via-drag-drop/29177)

**I - Gathering Information**

You’ll need to find out homing placement, focus height, and cross laser offset.

1: Home the machine and take a picture of the screen. Save the _Machine Coordinates_.  
(please ignore the control screen being for 3d printing, I did this before installing the firmware, but the data is fine)

 ![PXL_20240422_211625633](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/3X/a/2/a2173f58cc1d6ef98df3a05fab586f9ad1b6dbc3.jpeg)

2: Set the focus bar directly on the bed in the center and note the Z coordinate again

 ![PXL_20240526_121433457](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/3X/6/e/6ef0a6e32a7f6f8742bcc1a6696ca7c8b6700d6f.jpeg) ![PXL_20240422_211534994](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/3X/6/d/6d6516de71e0887ed459ebd555272da96c30d086.jpeg)

3: Subtract your focus Z height from homed Z height.

334 - 56.3 = 277.7 on my machine. Keep this handy.

4: _ **IMPORTANT** _ In settings \> 2W Laser \> Cross Line Indicator Offset, _write down these values and then set them both to **0** _

 ![PXL_20240422_221415667](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/3X/5/2/5277f671775ee3504418024c3d4fa8a27052f79b.jpeg)

**II - Set Up Lightburn**

1: This is mostly going to be in images, but start by creating a GRBL device with an X of 320 and Y of 350, front left, do not home on connect.

2: Device settings should look like this;

 ![Screenshot 2024-05-26 065802](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/3X/0/e/0ee69d9bd7f06ddb6c12a775baf4110f372a690d.png)

3: On the Gcode tab check to emit S-value and the header/footer.  
 ![Screenshot 2024-05-26 065822](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/3X/5/e/5e371de9496bfff6b4a7317805652af6cbfbfb71.png)

4: You can start with my start/end and adjust as needed to zero in your own origin.

_Start_

```auto
M106 P0 S255
M1010 S3 P100
M1010 S4 P100
G28
G90
G54
G92 X-24.8 Y346.6 Z277.7
M3 S0

```

_End_

```auto
M5
G0 Z276.7 F6000
G28

```

5: You will mainly have to modify this line from the start; `G92 X-24.8 Y346.6 Z277.7` Modify the `Z277.7` to whatever you got from **I - 3**.

**III - Finding Your Origin**

1 - In lightburn, make a little 10x10 square and put it 20x20 out in the field.  
 ![Screenshot 2024-05-26 065631](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/3X/f/c/fc479a1bb0b17bdd6b004c9782f69259522c5fc7.png)  
 ![Screenshot 2024-05-26 065731](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/3X/2/4/24a4d09022ef0c4acc0e3dc0ef1c7ccc575a1ba8.png)

2: Set it as a line engrave, and adjust speed/power appropriately depending on the material you’re using. I’m using an anodized aluminum card.

 ![Screenshot 2024-05-26 065609](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/3X/6/9/69e4e35caeeab4b9a45e83a48c3110037723eb19.png)

3: **Make sure to set material height and absolute coords**  
 ![Screenshot 2024-05-26 065657](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/3X/6/8/68cb9e8bdfbedfc669b7ceab5bac4ca644429905.png)  
 ![Screenshot 2024-05-26 065717](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/3X/5/9/595d4115e355ffa50d2da9510a8155a1e7513118.png)

**IV - Run Your Test**

1: Line up your material in the front left corner and secure it

2: Run the program and let it engrave.

 ![PXL_20240526_120509035](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/3X/6/d/6dc961a4aef1a1d30d8e794a650da6da10abe005.jpeg)  
(ignore the fact it’s off the front by about 0.5mm, I bumped it before taking the picture)

**V - Calculate and Refine Results**

1: Measure the distance from the left side to the square, and front to the square. It should be 20mm. If it’s different, take your result and subtract 20 from it.

2: Modify the start line `G92 X-24.8 Y346.6 Z277.7` again. Take whatever your measurement results were and add/subtract to the X/Y values.

3: Adding to X moves Left, Subtracting from X moves Right.

5: Adding Y moves Down , Subtracting Y moves Up.  
Sidenote; at least on my machine with the fast-homing, Y seems inconsistant and results can skew upwards to ~0.5mm (running the same file without change ontop of itself exposes the drift well). **YMMV**

6: Repeat Section **V** until dialed in to your own requirements.

**VI - Enjoy Your Laser**

1: Feel free to ask questions and comments

2: Experiment on your own and answer questions if you can

3: _Share your results so everyone can see_ 🙂

I hope this guide is of use, and if anyone can test the guide with the 20/40W lasers and confirm it does work, please let me know!

---

<div class="post-metadata">

**Author:** ![StumbleRunner](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/stumblerunner/32/6659_2.png) [@StumbleRunner](https://forum.snapmaker.com/u/StumbleRunner)\
**Post date:** [June 5, 2024, 3:25am UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/2 "2024-06-05T03:25:43Z")

</div>

Is the assumption in this guide that we’re directly connecting LightBurn to the Snapmaker? Or should this work from exported g-code?  
I went through this process and when I loaded the g-code into the Luban to send to the Snapmaker it showed the print going way of of bounds

---

<div class="post-metadata">

**Author:** ![buckfast\_beekeeper](https://avatars.discourse-cdn.com/v4/letter/b/74df32/32.png) [@buckfast\_beekeeper](https://forum.snapmaker.com/u/buckfast_beekeeper)\
**Post date:** [June 5, 2024, 4:24am UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/3 "2024-06-05T04:24:19Z")

</div>

This works with Lightburn connected. I have do the same thing with the 40W laser a few weeks ago.

I don’t know what the laser do with the G-code if you load the file on the controller and start from touch screen.

---

<div class="post-metadata">

**Author:** ![Skreelink](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/skreelink/32/16398_2.png) [@Skreelink](https://forum.snapmaker.com/u/Skreelink)\
**Post date:** [June 5, 2024, 12:17pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/4 "2024-06-05T12:17:42Z")

</div>

> [@StumbleRunner](#):
>
> Is the assumption in this guide that we’re directly connecting LightBurn to the Snapmaker? Or should this work from exported g-code?

It works directly connected, or if you export it and use a sender to start it like my drag/drop script. It doesn’t work from the touchscreen because the header setup is to bypass the entire process of setting focus, origin, etc manually and is instead fully automated.

To use the touchscreen, remove the start/end gcode and change the origin to user origin instead of absolute coords.

---

<div class="post-metadata">

**Author:** ![Skreelink](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/skreelink/32/16398_2.png) [@Skreelink](https://forum.snapmaker.com/u/Skreelink)\
**Post date:** [June 11, 2024, 10:44pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/5 "2024-06-11T22:44:04Z")

</div>

**CONFIRMED THIS GUIDE WORKS WITH 40W**

I finally managed to snag a 40W and used this guide to set it up like a new user. My final `G92` ended up being at  
`G92 X-16.4 Y345.3 Z252`

This sets the bed as 0 focus, and aligned with my 10W corners (which is 9mm off the front). So to square to the bed exactly, you’ll be around `G92 X-16.4 Y354.3 Z252` so you can use that as a starting point and adjust correctly. 🙂

---

<div class="post-metadata">

**Author:** ![buckfast\_beekeeper](https://avatars.discourse-cdn.com/v4/letter/b/74df32/32.png) [@buckfast\_beekeeper](https://forum.snapmaker.com/u/buckfast_beekeeper)\
**Post date:** [June 14, 2024, 8:11pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/6 "2024-06-14T20:11:00Z")

</div>

Are these value with/without bracing kit and with/without quick swap?

With bracing kit and quick swap I have  
G92 Z216.4  
G0 X-1.5 Y-30 ; is left front corner.

---

<div class="post-metadata">

**Author:** ![Skreelink](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/skreelink/32/16398_2.png) [@Skreelink](https://forum.snapmaker.com/u/Skreelink)\
**Post date:** [June 14, 2024, 8:52pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/7 "2024-06-14T20:52:38Z")

</div>

Without bracing kit or quick swap.

---

<div class="post-metadata">

**Author:** ![ramos96](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/ramos96/32/26743_2.png) [@ramos96](https://forum.snapmaker.com/u/ramos96)\
**Post date:** [June 17, 2024, 2:52pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/8 "2024-06-17T14:52:48Z")

</div>

How do I figure out the focus z-height on a 10w laser module?

---

<div class="post-metadata">

**Author:** ![Skreelink](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/skreelink/32/16398_2.png) [@Skreelink](https://forum.snapmaker.com/u/Skreelink)\
**Post date:** [June 17, 2024, 2:57pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/9 "2024-06-17T14:57:35Z")

</div>

It should be 30mm, however, the easiest way to test (and similar to the focus bar method) would be to;

1: Do the platform height calibration.  
2: Make a mock job and either send it to the machine or USB drive.  
3: Start the job on the touchpad and choose manual thickness.  
4: Touch the 10W laser to the platform and hit next.  
5: When the laser moves up for you to set origin, tap the back button all the way back to the home screen.  
6: Read the machine height from the control screen, that should be the Z height you need to subtract from your home height. 🙂

---

<div class="post-metadata">

**Author:** ![ramos96](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/ramos96/32/26743_2.png) [@ramos96](https://forum.snapmaker.com/u/ramos96)\
**Post date:** [June 22, 2024, 12:54pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/10 "2024-06-22T12:54:28Z")

</div>

Thank you, I ended up having to use G0 instead G92 in order to make the machine move to what I figured out is my 0/0/0 starting and best focus height  
M106 P0 S255  
M1010 S3 P100  
M1010 S4 P100  
G28  
G90  
G54  
G0 X10 Y-7 Z30  
M3 S0

Does anyone know why it is running the GCODE twice? Everything is set to single pass, is it because I am G0 instead G92?

---

<div class="post-metadata">

**Author:** ![Skreelink](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/skreelink/32/16398_2.png) [@Skreelink](https://forum.snapmaker.com/u/Skreelink)\
**Post date:** [June 22, 2024, 2:44pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/11 "2024-06-22T14:44:49Z")

</div>

The nature of the new style header is to remove unnecessary movement. Replacing `G92` with `G0`doesn’t help, they’re completely different commands.

`G92` sets origin  
`G0` is a linear movement command.

My 10W header is this;

```auto
M106 P0 S255
M1010 S3 P100
M1010 S4 P100
G28
G90
G54
G92 X-24.8 Y348.3 Z304
M3 S0

```

It’s setting the home position at specific locations so when I use `G0 X0 Y0 Z0` it’ll move to 0,0,0.

---

<div class="post-metadata">

**Author:** ![ramos96](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/ramos96/32/26743_2.png) [@ramos96](https://forum.snapmaker.com/u/ramos96)\
**Post date:** [June 22, 2024, 3:00pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/12 "2024-06-22T15:00:59Z")

</div>

I ended having to do the G92, your reply confirmed im on the right track. my next issue is when framing the laser head it doesn’t come down 😕

so far I am:  
G92 X-27 Y340 Z289  
and  
 ![image](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/3X/c/8/c8686939a0a2a20637e7de93e08ccda8a0179f94.png)

“Start from absolute coordinates”

---

<div class="post-metadata">

**Author:** ![Skreelink](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/skreelink/32/16398_2.png) [@Skreelink](https://forum.snapmaker.com/u/Skreelink)\
**Post date:** [June 22, 2024, 4:09pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/13 "2024-06-22T16:09:15Z")

</div>

I’ve never used the framing, but you’ll have to bring down the laser head yourself if you want to frame. In the console, input `G28`, hit enter, then `G92 X-27 Y340 Z289`, followed by `G0 Z#` where # is the height of the object you want, then try framing again.

---

<div class="post-metadata">

**Author:** ![Skreelink](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/skreelink/32/16398_2.png) [@Skreelink](https://forum.snapmaker.com/u/Skreelink)\
**Post date:** [September 21, 2024, 1:11am UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/14 "2024-09-21T01:11:57Z")

</div>

Plopping my new alignment corners here, a bit more reliable than what I was using.

> [@Updated Laser Corners](https://forum.snapmaker.com/t/updated-laser-corners/37060):
>
> Finally got around to modeling up my own corners for laser alignment. These are more dependable and repeatable than the other ones I remixed and have been using. Figured I’d toss them here on the forums for others to use and so I can recommend them in my laser guides. Keep in mind I made the tolerances quite tight because of the friction fit, you may have to tune your printer to get them to fit properly. A350/T Version; A250/T With Quick Swap; The A250 one aligns using pins to fall into th…

---

<div class="post-metadata">

**Author:** ![Dakker](https://avatars.discourse-cdn.com/v4/letter/d/71e660/32.png) [@Dakker](https://forum.snapmaker.com/u/Dakker)\
**Post date:** [September 21, 2024, 2:23am UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/15 "2024-09-21T02:23:33Z")

</div>

I have tried this guide a few times and can’t get it work. I am using an Artisan with the 40 watt laser. the G92 command in the Start GCode seems to do nothing. This is the Basic Setting.

 ![image](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/3X/b/9/b9f41e8d2e09d33bc79ecb9ed48b4ed1b88b70b4.png)  
I have reduced the Start Code to:  
G90  
G92 X-.8 Y399.6  
M3 S0  
and End GCode to:  
M5  
G28  
The Device was created using GRBL. I have multiple laser devices created (trying different settings). The GRBL that I created following the guide doesn’t return the position when clicking Get Position button. The Snapmaker Marlin does.

I have another Laser created using Snapmaker Marlin and it works better for moving the laser around, but when you try to run a job it never starts and says the laser is busy.

Any help would be greatly appreciated.

---

<div class="post-metadata">

**Author:** ![Skreelink](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/skreelink/32/16398_2.png) [@Skreelink](https://forum.snapmaker.com/u/Skreelink)\
**Post date:** [September 21, 2024, 12:35pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/16 "2024-09-21T12:35:44Z")

</div>

Why have you reduced the start code? Without the initial homing sequence, the `G92` will set wherever the toolhead currently is at the location in X/Y you have. The purpose of the header sequence is to make a fully repeatable origin to ensure accuracy.

Also a lot of the buttons will be broken using GRBL simply because the system technically isn’t GRBL, the generated programs just work and are cleaner than using Marlin. I never use the movement buttons or anything, as they’re not needed with my setup.

> [@Dakker](#):
>
> I have another Laser created using Snapmaker Marlin and it works better for moving the laser around, but when you try to run a job it never starts and says the laser is busy.

This is a line length issue. It creates a thumbnail code, but the line length is too long to send over serial, which causes it to hang. I discovered and documented that here:

> **[Thumbnail in gcode for snapmaker](https://forum.lightburnsoftware.com/t/thumbnail-in-gcode-for-snapmaker/143151/15)**
>
> Going to @Aaron.F as well on this. It’s the line length. I tested with my Snapmaker and XTool and it stops on both. I tested the symbols and changing out a few things before I figured if I trimmed it short, it ran fine. It seems to have some form...

---

<div class="post-metadata">

**Author:** ![Dakker](https://avatars.discourse-cdn.com/v4/letter/d/71e660/32.png) [@Dakker](https://forum.snapmaker.com/u/Dakker)\
**Post date:** [September 21, 2024, 3:56pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/17 "2024-09-21T15:56:00Z")

</div>

I removed the start code to simplify it and because the G92 was not working.  
I now have a working solution. I am using Marlin with a Start GCode of:  
M106 P0 S255  
M1010 S3 P100  
M1010 S4 P100  
M3 S0  
When I want to run the job, I have a Saved Position (which I called Start) that moves the laser to the correct position. The job is run using a Start From of Current Position.

---

<div class="post-metadata">

**Author:** ![Dakker](https://avatars.discourse-cdn.com/v4/letter/d/71e660/32.png) [@Dakker](https://forum.snapmaker.com/u/Dakker)\
**Post date:** [September 21, 2024, 4:32pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/18 "2024-09-21T16:32:54Z")

</div>

> [@Skreelink](#):
>
> `G0 Z276.7 F6000`

The one thing I forgot to add was to solve the Busy issue, I switched the Device Baud Rate to 115,200 and Transfer Mode to Synchronous.

---

<div class="post-metadata">

**Author:** ![VaporPhoxxe](https://avatars.discourse-cdn.com/v4/letter/v/c77e96/32.png) [@VaporPhoxxe](https://forum.snapmaker.com/u/VaporPhoxxe)\
**Post date:** [September 21, 2024, 4:35pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/19 "2024-09-21T16:35:20Z")

</div>

Has anyone tried setting up/using the Snapmaker provided Lightburn profile for the IR laser?

[snapmaker2.0-2w(1064nm)-v1.zip](https://forum.snapmaker.com/uploads/short-url/zJssK5smoC81NSvk28Z87bj2F48.zip) (1.4 KB)

---

<div class="post-metadata">

**Author:** ![Skreelink](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/skreelink/32/16398_2.png) [@Skreelink](https://forum.snapmaker.com/u/Skreelink)\
**Post date:** [September 21, 2024, 4:41pm UTC](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954/20 "2024-09-21T16:41:22Z")

</div>

> [@Dakker](#):
>
> When I want to run the job, I have a Saved Position (which I called Start) that moves the laser to the correct position. The job is run using a Start From of Current Position.

Glad you figured out a method that works for you, basically what my header was doing was setting an absolute coord home to fully automate it.

> [@Dakker](#):
>
> The one thing I forgot to add was to solve the Busy issue, I switched the Device Baud Rate to 115,200 and Transfer Mode to Synchronous.

115,200 is correct, I don’t use a USB so I never set that correctly. Synchronous works since it sends each line and waits on an OK response for each line, whereas buffered attempts to keep the movement buffer full, and is faster for heavier code (since the controller isn’t waiting for a response for every single line).

[Next page](https://forum.snapmaker.com/t/1064nm-ir-20-40w-lightburn-guide/35954.md?page=2)
