Creality CV-Laser Module 24V 1.6W either laser doesn't turn on or turns on too much and just blackens the image instead of creating the image

I recently hooked my CV-Laser Module 24V 1.6W laser up to my Ender-3 s1 pro. When I used the CrealityPrint software for the laser, it would print the image shown with the default settings however in that software it cut the image in half and only printed the bottom half.

So, I switched over and was going to try using lightburn. Which I created a device manually in Lightburn using Marlin as the language which is what I use for when I am 3D printing on my Ender-3. I then generate the gcode on an SD card and transfer it to my computer. Which with that gcode I can’t run range to make the engraving will happen on the material and when I hit direct engrave, the laser moves like it is going to engrave however the laser isn’t turning on.

I also then tried creating a new device in Lightburn with GRBL, went through the same process of putting the image in, changing the settings as the same as the default in the Creality software and generating the gcode, putting the SD card in the printer and it still won’t run range. However, this time when I hit direct engrave the laser would turn on and the outcome shown in the image attached with just the burning. It is supposed to be the same image.

Did you select the “Laser Control Command” in Edit->Device Settings appropriate for your machine?

This will allow you to select M106/M107, M03/M05, or Inline as the mechanisms of control.

I did not do that. How would I check or know which control mechanism my machine has?

You’d have to be intimate with your machine. Where did you get the firmware for your machine? If you compiled it yourself it would have to be something that you configure. If it came with the hardware then perhaps it’s documented somewhere.

Failing that, you could simply try the options to see how they behave.

The firmware came from the creality website for the printer and laser module.

If it’s not documented then you’ll likely need to back into it to find what works.

Okay so I changed the command control to M03/M05 and the image is starting to come through instead of the burning. However, the printer still can’t use the run range feature. Is there a setting or something that turns that on or enables it?


Can you explain what this is? I’m not familiar.

Run range on my printer moves the laser around the print bed, showing the area that is going to be engraved so that way you can know if your material is lined up correctly.
So, on my printer write before I start the engraving it pops up with a window that lets you decide if you will begin engraving, adjust the axis’s or run the range and make sure everything is lined up.

So, when I generated the gcode using the CrealityPrint software it allowed the use of the run range function so I didn’t know if that was a thing that lightburn could do.

Are you saying that the run range option doesn’t appear when you use LightBurn generated g-code or that it doesn’t work correctly if you try to use it?

Whether or not this will work will depend on how the run range feature of your printer determines the “frame” area (using LightBurn terms).

Can you upload g-code for the exact same simple rectangle from CrealityPrint and the same from LightBurn? Use .txt extension to allow the forum to accept the file.

The range option still appears however when I press the button nothing happens.

Attached is the square from both programs. The squares are 100mmx100mm centered at (x,y)=(110,110)mm on my build plate of 220x220mm. The run range function does work on this code from the creality but not the lightburn.

CrealityPrintSquare.txt (57.6 KB)
LightBurnSquare.txt (50.5 KB)

I’m guessing the run range feature is leveraging a custom header to specify the range boundary.

Try the run range option with this hacked LightBurn g-code file. Does the range option now work?

I’ve added this as a header:

;Header Start
;estimated_time(s): 1825.697
;MAXX: 160.63
;MAXY: 159.95
;MINX: 59.38
;MINY: 60.05
;Header End

LightBurnSquare_hack.txt (50.6 KB)

The run range does work now using that file.

In that case you have a few options:

  1. Live without it
  2. Manually add the header (or script something to create it). LightBurn already has a header that includes all the relevant information so it’s not necessarily hard
  3. Put in a feature request to see if the LightBurn team would want to add this
  4. Wait until 1.5.00 release for the customizable g-code generator. I’m not certain but it’s possible that it may be flexible enough to generate this type of header. I haven’t looked at it closely enough to say.