MPCNC 2.8w $100 laser add-on complete

Finally got my laser diode running on my MPCNC. I’m now running almost a vanilla set-up with Marlin/Ramps and TB6560 stepper drivers. The laser diode is a Nichia NDB7875 w/3 element lens from DTR laser shop. It’s running on a generic Chinese laser driver tuned to 6.5v @ 1.8 amps. Fan output has been remapped in Marlin firmware to pin 44 for 5v ttl output, the fan puts out 12v so I couldn’t use it without a voltage divider circuit.

Laser is focused at a distance of 55mm from material. Sample images burned using image2gcode(MPCNC modded version) at 1000 mm/sec on 3/4" scrap MDF material.

My MPCNC laser

Very nice work, Leo! The output certainly looks as good as my JTP. Could you give a breakdown and cost of the parts? Did you get your generic driver from DTR or elsewhere?

awesome job man!

Thanks Karl. I shot lots of video during the tuning and set up so i could prepare a BOM and walkthrough guide . Hopefully I’ll have time to post it some time this week.

The drivers can be found all over eBay for about $8. Laser module is $70. A 12v 3amp power supply is needed but if you already have 10amps or better then you can just tap into the Ramps board for that. Heatsink was $4.

1 Like

SWEET! Now that is a price I can feel okay spending without a use for it!

I made you and author if you want to write it up as a blog post (dashboard, post, add new, ask me questions if it’s confusing), If not the forums are fine. Nice work, thanks.

Looking forward to the write up. I might eventually want to hang another laser on my 3d printer or build a dedicated laser cutter. I’m interested in seeing what is involved with putting it together and getting it tuned. For the record, the JTP laser, though $350, is pretty much plug and play with the MPCNC.

Whatever way you go - wear appropriate laser goggles!

VERY nice work!! I am happy with my JTP unit also but I have a few friends with 3D printers and CNC’s that might be interested for $100.

Thanks for the write-up, I’ve been waiting for someone to get this working with a RAMPS setup. I was going to install my laser on my Prusa i3 but I’ll put it on my MPCNC now.

I have all the parts and pieces but can’t figure out what to modify in Marlin to get it working properly. Anxiously awaiting your walk through guide. ;>)

Also, a big thanks for updating 3dpBurner Image2Gcode, one question though, why does it insert a blank line after every line of g-code?

Have you shared your MPCNC laser holder and height gauge on Thingiverse?


I did not have to modify my Marlin config at all to get my laser to work. Use the fan output (D9 connectors if I recall correctly) and use M106 Sxx and M107 to control the laser. Good luck

I’m on my way to tinker with it now and I’ll try the D9 output solution.



Do NOT connect to can output unless you have a jtech driver. Most laser drivers expect a 5v ttl input control signal.The fan output is12v. The jtech driver reduces the12v to5v but generic drivers may not do this. If you want to use fan output with a generic driver then it’ll have to go through a voltage divider first. If you are using jtp gear then just follow their instructions. If you’re not then please wait for my walkthrough.I’ll explain everything.

Oh yeah, that’s right, I can’t use the 12v D9 output on my waleye driver module. I’ll wait for your guide. Thanks.

@Tony : I’ll try to get it done in the next couple of days. The 5v TTL input is the main difference between the JTP and generic drivers. The JTP driver is made to work with a variety of CNC applications so it will convert the 12 fan output and can even bring up a 3.3V TTL. I didn’t think anyone was interested in my mount. Once I test it a little longer I’ll put it up on thingiverse.

There shouldn’t be any blank lines in the i2gc gcode. If there is, make sure you selected laser power on and power off commands in the “GCODE” tab. The commands should be M106 S and M107 for on and off. Once you make these selections once, they’ll be retained for the next use. Let me know how that works out.

Just did a quick test on black Anodized aluminum at 800mm/sec .Etched well but focus not good on round object. Definitely need a rotary axis:)


I hooked my Waleye laser driver ttl+ to pin 44 and changed the Marlin file pins_RAMPS_13.h line 67
from: #define FAN_PIN 9 // (Sprinter config)
to: #define FAN_PIN 44 // (Sprinter config)

The Waleye -5v ttl wire is connected to the -5v pin on the same Aux-2 group on the Ramps. I’m getting 12v straight from the power supply.

I haven’t tried it yet because I’m currently using my computer to drive my Prusa i3 and making parts for a chuck for the 4th axis.

No worry on the mount, I’ve already made something that works. And I’ll make my own height gauge when I figure out what works best for my setup.

I have i2gc set up as suggested, using M106 & M107, attached is a screenshot of the gcode it output. Never mind, I opened the file in Notepad and it looks fine. The screenshot is from Notepad++.


Your marlin config looks good and so does the gcode you posted. I would connect a meter to the ttl pin you just configured and the ground pin on that aux2 block And confirm that you’re getting 5v with fan set to full speed(255) before you go further. Make sure you tune voltage first and then current. If you can’t wait then at least read the tuning instructions at I’d hate to see you burn up your diode. Good luck.

For anyone interested: i wrote a complete walkthrough for this and Ryan has posted it on the vicious1 homepage. I’m here to answer questions if you have them.Please post some pics of your setup if you start burning:)

Great writeup, Leo! Very clear and easy to understand. I’m guessing you’ve written instructions like that before.

One question - I noticed that you’re measuring amps in line with the laser when setting the amperage. On the JTP driver, they tell you to leave the laser disconnected and just measure amps across the output terminals. Are those two readings the same thing? Does that mean I could buy a digital ammeter and shunt and leave it hooked up all the time to get a real time amperage reading for the laser?

Thanks again! If I decide to supplement my JTP, I will probably go this route (with a different machine, since the controller needs a firmware change).

Is there a higher wattage option for this? Since the 3.8 watt JTP laser is $450 or so, this might be a good option if I want to step up the power later.

LOL, Yes, I work as a quality engineering technician so I’ve written a few work instructions for sure:) As far as your question goes, I’m not familiar with the JTP driver but measuring current with a meter directly across the output terminals (dead short) is not a good idea . If you tried that with the Chinese driver you’d probably blow the fuse on your meter or maybe fry it before you got anywhere near the 1.8 amp target. Measuring DC current in series with the load is pretty standard practice.

The JTP driver probably has some cool fool-proofing circuitry that allows this, just like it can accept control signals from 3.3V TTL all the way up to the 12V found on the Ramps fan terminals. Their circuit brings the level up or down automatically which is nice. JTP is the Mercedes and I’m writing for the Kia crowd.

I think Villamany designed some type of current meter for his 3dpburner project so you can check it out over there. I think he mentions something about avoiding installation inline with the laser because he was worried voltage spikes from the capacitors would fry the laser diode. With some components built in to trap voltage spikes , it should work just fine as a real time laser output current monitor though.

The firmware change only takes a couple of minutes but is actually not necessary. You can use the D9 fan output but it you’d have to connect it to a simple voltage divider circuit to bring it down from 12v to 5v. I would’ve done this but I’m impatient and now that Radio Shack is gone (R.I.P), there is no place for me to go to get resistors quickly. You can use a 10k and 7k resistor to get you very near 5v or use a voltage divider calculator to come up with different values.

Voltage divider would be pretty slick to avoid the firmware update.

I can get a couple 100 packs of resistors for a few bucks to make it easy for people who want to try it.
My laser kit is on the way, and some safety specs!!! Leo69 you are the man, you made this so easy for me. I don’t want to sell the diodes, DTR is doing a great job of that but maybe I’ll get a stack of the heat sinks and power supplies bundle them with the resistors for the makers that are impatient. Maybe some molex connectors and plugs to make this an easy swap with an extruder. Sorry, I’m just excited and I don’t want to have to wait for my power supply from china…