Laser add-on

Is there anyone out there using a laser on their CNC? The latest version of the L-Cheapo laser looks like it could work pretty well and be easy to set-up and use.
L-Cheapo Laser

That L-Cheapo laser looks OK but they don’t give any photos or documentation on their driver. You can make you own with some work. 2.1W 445nm Laser diodes, lenses, heat sinks, drivers and safety goggles can be found on Ebay.

I’m just going to dump a comment that I made on Thingiverse below in case it is useful for someone starting to work on this mod:

I think that one small change needs to be made in the Marlin firmware to get a PWM TTL signal out to control the laser. The RAMPS’s unused printer fan PWM output pin is used to control the On/Off state and intensity of the laser though the laser’s “TTL” input. The default for the fan pin is a transistor driving 12V between connector P3 and P4. This needs to be switched in the firmware to a TTL output like D4 on the SERVO 4 connector. Changing the motherboard #define in the Configuration.h file to this should remap the fan output to the SERVO 4 connector:
Note that I have not tried this yet. Others please chime in if other changes are needed or I messed this up.

That was on the firmware side. Some work must be also done on the gcode generation. To control the fan output pin the gcode command “M106 PWMvalue” needs to be inserted into your gcode by a post processor. Forum user ductsoup is working on a Python script to do this post processing on Inkscape generated gcode (

I use the jtech 1.7w laser kit on my mpcnc. I use the “usb cnc controller” from so I can trigger the laser with the flood coolant command. I attached the laser to the spindle mount, I run the spindle during lasing because it has a fan on it thaT blows perfect onto the laser. A small desk fan helps keep too much smoke from effecting the laser and also cools the laser diode. Some simple gcode edits turns routing code to lasing code quick.



mcmasterp, saws your post looking to do exactly the same thing. could you help me replicate your results, using same laser and controler (usbcnc)? even if its just a copy of your post processor file anything would be helpful.

@Curt Don’t you have a JTP laser already? Are you looking for another one?

As Steve mentioned, the L-cheapo looks okay but the driver is really the key. If I were looking for a second laser module, I’d start with this: Less than $90 shipped from their US warehouse.

@Leo69 also mentioned DTR Laser Shop - - where they sell lots of laser parts cheap.

I’m very happy with my JTP laser. It’s a more expensive option, but it comes with everything you need, and works great right out of the box. The laser is controlled using the cooling fan output of the ramps board and M106/M107 commands. Easily generated in inkscape, estlcam, image2gcode, piclaser, laseretch, and other software.

I certainly can and will help anyway i can. but my setup using usbcnc is wasted money for you. I happen to have those fancy parts because of my previous cnc which was such a failure and money pit (mydiycnc) that I tried to fix by buying better and better parts. An auduino is perfectly good for a controller and will allow you to control a laser just as much as a router. Just use the heat bed relay for one and the hotend relay for the other. Then hook an appropriate large relay to whichever one and use that to turn router or laser on and off.

The laser was from mydiycnc but it’s just a repackage from photonics something or other i forget.

The trick I use for gcode is simple but maybe slow idk. I just search the gcode text file produced for my router and replace any negative z codes ( down movements) with laser relay on code, and then all positive z codes with laser off. Sounds dumb but works so far. If I had a big fancy laser and did thick or complex things I would probably have to do something else.

@karl. This post was started before I ordered my Jtechphotonics laser. Like you I am real happy with mine and would not change.

LOL I hadn’t noticed the dates of the posts. I guess Caleb’s question to mcmasterp resurrected this relatively ancient thread.

Yeah once i noticed that, i messaged him privately.