Introduction: Yet Another DIY Diode Laser Engraver

Picture of Yet Another DIY Diode Laser Engraver

I always loved CNC machines! They are the future since they were first invented! I still believe that CADing and CNCing are miracles. When the first printer arrived to my home (I was about 10) I got really fascinated by the fact that I could print a paper about a hundred times by writing it just once!

Only recently I got comfortable with the parts and knowledge needed to built a CNC. I really needed a kind of plotter for my work. As you know a Commercial Laser Engraver is really pricey and a good one is simply out of reach...

To make a long story short I decided to build my own... The funny part is that when I started designing I didn't know Instructables so I reinvented the wheel in many cases...

So here we go: my Moving Gantry Arduino-Less Laser Engraver...


You can also use this machine to create PCBs. Here is my Instructable about it

Here is an Instructable with a better machine using the same parts: Repurposing my Laser CNC into a multi-mount CNC

Step 1: The Design

Picture of The Design

I had NO experience on such machines. I just liked them a lot. The only CNCish machine I had built at the time was a (Arduino-based) coil winder, with auto-traverse winding and (of course) winding counter. No axis, no steppers or servos, no gantry precision issues, no G-Code, no anything! It was a clean start!

The first Design had to be changed in the process (that is utterly bad sometimes) but at least was working at first glance. The "gantry", for example, has changed about 3 times since then (pictures on next steps)...

As you can see in the pictures it is a really budget (to cheapish) project. Axis drivers are bought at 1.50€ for example. But lets be more precise:

Axis drivers (that white pipe - "απλή ντίζα" in greek - no english translation but I got it at a shop selling paint) 1.50€ per meter Needed 2 meters so 3 €

Copper pipe used for plumber jobs (12mm outter diameter) 2.90 € per meter

Needed just one meter and I really have enough for at least another one built!

MDF wood Base-Frame about 10 €

All screws and anything else needed (and shown in the pictures) are things an average hobbyist have lying around. In any other case they can be easily found at paint shops and plumber shops (this metallic tape "τσερκοταινια" in greek- for example -that I have no idea about its english name-).

So the Sum for the Frame is 15.90€. It could be cheaper if I had replaced the wood with foil or something, but being functional was an expectation...

Step 2: The Motors and Motion Mechanism

Picture of The Motors and Motion Mechanism

When I say cheap I mean real cheap!!! If you can find any cheaper motors than those just inform me to make another CNC built!

I am talking about, no other than, my beloved 28BYJ-48. Here you can watch it fail on most torque tests:

I bought 3 of those at a fairly high price of 4.5€ each. That's because I didn't want to wait for e-bay shipment (4-6 for Greece).

Something really expensive was the stepper driver. I used the Sparkfun Easy Driver for the same shipment reason, and bought 2.

So now I needed a way to make the motors actually move the axis. And guess what! I had no idea about timing belts, lead screws and spindles generally, and any other possible movement transfer except rack and pinion! Just because you see it movies and maybe some Flintstones episodes! So that was the choice. Bought a rack and 3 gears.

So prices for this step:

stepper motors 4.5€ each

bought 3 so 13.5€

Easy Drivers about 10€ each

bought 2 so 20€

(You can use the technique documented in my other Instructable and reduce the cost of the Drivers by about 15€)

Rack and Pinion: 1 meter of rack 16€, and about 2€ per gear

bought 1 meter of rack and 3 gears: 22€

Sum 55.50€. Outch! That hurt a lot! I guess this is why the commercial ones are that expensive. There must be some serious hardware in there...

(New Sum 40.50€ using the Attiny85 Step/Dir Driver mentioned above...)

Step 3: CNC Software

Picture of CNC Software

Inevitably I had to use something to drive my new-born machine. So heard about Mach3. It was a CNC driver they said. It was good they said...
So I had a Windows install in my drive. A Windows 7 Ultimate 64-bit system. Installed the Mach3 demo easily. So tried to configure the motors to run actual milimeters and such things. And the problems started... The motors refused to move. Even jog. Even make a sound. So I got desperate. I had an arduino in hand and wrote some code to move those motors. The motors obeyed the arduino but not my LPT port (maybe there was some badge issue like in pokemon)...

After BIOS settings and stuff like this I got really desperate. It came up that there was a problem in Mach3 and Windows 7 in 64 bit. Mach3 couldn't find a driver for Parallel Port and so it was just doing "da cha-cha like a sissy girl" every time I pressed any "move"-kind of button... The picture shows the setup when I was desperately trying to measure a mere mA with DMM from my LPT port...

It was time for me to get serious and get the LinuxCNC. Linux is no new thing for me. I study Informatics and Computer Science so my main install in this computer was an Ubuntu 12.04 from the start (from 4/12 I believe). I suggest you to try Linux (be it LinuxCNC or not). Much more stable and reliable system than sissygirl-indows...

LinuxCNC guide was straightforward. Got me running in about half an hour. You can find it here: and it is ABSOLUTELY free to download full version. (no cracks, keygens, and other evil things needed!)

Especially Laser CNCs have to be driven using a modified settings folder for the machine. This is to control duty cycle of the laser, image rastering and other nice things. You can find out more about this here(clicky) and here(clicky clicky):

Lets not forget the price: a copy of LinuxCNC 2.5.4 (latest at the time of writting) 0€

Sum 0 €. Mach3 costs 175$ if you want to run more than 50 g-code lines. And every single engraving project I tried had much more...

Step 4: Workflow for Computer Based DIY CNCs

Picture of Workflow for Computer Based DIY CNCs

There is one word for easy, user-friendly, small-sized, engraving software (although it isn't intended for such use): INKSCAPE!!! Yes Inkscape. You can find it here and it is FREE and open-source (you might not care about this).

It is a program that lets you draw freely using a "pencil", gets you some straight lines, some curved lines, polygons, circles, let's you use rulers to make perfectly measured shapes, can flip things, group things to be treated as one entity, aaaaaand... is expandable!

So what? eh? Expandable means that there can be written plugins for it... Some good guys wrote some plugins to export anything drawn in it to g-Code (g-Code is used by CNC controllers to move the machines and make them do their work). I have found 2 such plugins so far. The first on is Gcodetools. You can find it and install it here (clicky).

The second one is found here! Yes, its an Instructables page! The first one I read about this topic!

So, why it works?

Inkscape might look like Windows Paint but it isn't. Actually it is much better than Paint (as anything is better than Paint). That is because every line you draw (be it straight or not) gets translated into vectors. If you were wondering why is Linear Algebra taught even in bartender classes you can see for yourself. IT IS DAMN USEFUL!

If you save an Inkscape image you can see it is an *.svg file. The extension svg stands for Scalable Vector Graphics and you can read about this format here. You can even open an *.svg file with "notepad" and it is basically text!

So, the plugins like Gcodetools translate this text to instructions to draw the described vectors. Lets praise for the guys that made those things, and kept (legally) our budget for CAD/CAM software to an astonishing 0€ !!!

The pictures show how some drawings (a duck, a heart and a grid to engrave to the Machine bed for more precise placement) can be opened by LinuxCNC program. Note that even the duck is 250 lines of gCode. Rethink about that Mach3 50 line demo...


What to say about this thing... The handheld lasers and the CD/DVD/Blu-Ray drives use some thingies called laser DIODES. They are widely sold on e-bay and many e-shops. I bought a NICHIA NDV 4542 TO-38 diode. This one emitts 200mW of 405nm wavelength (violet, near UV, color light). 200mW is really something. Keep in mind that the widely sold small handheld lasers (the ones that you drive your cat crazy with) are rated at 1mW. Also bought an Aixiz module.
Many things about how to make a laser diode work as intended (I found out that it can work as fishing lure too!) can be found in this instructable and some related ones. The casings needed, heatsinking, focusing, diode diameters, driving (this is the most important if you want it for lasing and not fishing).

If you happen to want to learn more about lasers just visit the Laser Pointer Forums. There is everything you may want to know. And the most useful thing to know is the "protect your eyes or you will be blind for ever plus you go to hell, wear goggles, and 'don't look into the laser with remaining eye' quotes everywhere". So I bought goggles to not get blind and it worked! I am still not blind!!! In the video you can see the difference between the bare eye and the goggled eye.

prices: Laser Diode 10€ Aixiz module with questionable lens 3.80€ So 13.80€ to arm the gantry... Not bad but here a 30€ diode would be more than twice as good so maybe someday...

Step 6: Result:

Picture of Result:

So that is it. I added a fan because wood and plastic that burn this way smell like old pee. It is also toxic so I need to make a ventilation system (the boring part). I replaced rack and pinion with (el cheapo spindle screw)-lead screw in the X axis to make the gantry stop dancing can-can when working for me...

In the pictures it is the built. In the video you can see it working on a random line test. They are quite bad quality because I have to use my phone. And phones are invented for calling and (later) texting people! Not for selfies.

In the second picture you can see the lead screw coupler (yes those costed some money too), and in the third one it is a close one to the gantry where the laser is waiting for its transistor to fill it with electrical current so it can burn some wood and make my home smell like an indian toilet...

Thanks for reading my first Instructable. I hope you enjoyed it!


FirsheI (author)2017-05-30

Hi John may i have a link download Yet Another DIY diode Laser Engrave because the link in Instructables is Error ty John

AlexS154 (author)2017-03-19

that rack is overkill but just what i was looking for in one of my projects , thanks

RobotEyes (author)2016-09-03

Take a look at my new Engraving software

Robot Laser Project page :

At the moment the software is WORK IN PROGRESS currently, in ALPHA testing.

ALPHA and BETA Versions are totally free.

Please send an email at with your opinion, thanks.


jpx2008 (author)2015-02-05

Hi, would you know which laser diode should be used for engraving pens specifically. I'm a complete newbie to this field. I'm looking to make a small metal laser engraver. Your help would be appreciated. Thanks

john1a (author)jpx20082015-02-06

I believe that if want to engrave metal a diode is not powerful enough. And copper can't be engraved, keep that in mind...

ace_17_2008 (author)john1a2016-04-18

Have you tried marking copper with black sharpie? I use a Rofin laser welder and with silver and sometimes even rose gold, you have to mark it with black marker before it welds. It's also using a high watt UV laser module for the weld pulse. Not sure if that'd help ya out any.

jpx2008 (author)john1a2015-02-06

Thanks, what would I need?

gul.m.rafiq (author)2015-02-22


I am working on the project titled LASER ENGRAVING MACHINE. My primary targets are wood and acrylic on which i have to engrave. I am facing few problems completing my objective. I will be thankful if anyone help me.

Firstly i have made the circuit that i took from here: fun of DIY: A Raspberry Pi controlled mini CNC Laser engraver [last update Jan 18,2014]

Laser that is used in this circuit is extracted from DVD RW. Now, the problem is laser is running but it is not upto desired power output.

i haven't used lens yet is this can be problem ? or what else? what should do now to achieve my result ?

john1a (author)gul.m.rafiq2015-02-22

First of all welcome to the CNC world!
I will start with my opinions in this project:
Using a Raspberry Pi micro computer just to drive some pins is a waste. Use something less powerful for a trivial use like this. An arduino mini or the Computer Parallel port.

Now some solutions:
USE A LASER MODULE. Don't use the diode alone. It is a bad idea and it will die soon. So use a module for 2 reasons:
provides a heatsink to the diode and
supports lens which is a must for a job like ours...

Be sure that you use a laser driving circuit. Not just a resistor. Laser diodes are really good at dying prematurely if you treat them bad. Not using a constant current driver is bad treatment...

You may want to see my other instructable about making cheap (~2,50 euros) stepper motor drivers.

Good luck with your project!

Dayzz (author)2014-12-25

When I read about the price of your rack and pinion, my heart was bleeding. A very cheap and good method is to use a fishing line and let the stepper motor wind it on its shaft or (since 28BYJ-48 has no round shafts) on a little tube which you put onto the shaft. Works great also with my 3D printer. Here is a pic from someone else:

And I didn't understand why you use the 28BYJ-48 motors without the drivers you usually get together with the motors. The cheap drivers plus any Arduino board work perfectly fine.

But thanks a lot for your article! I will build one by using the ideas of both of us. :-)

john1a (author)Dayzz2014-12-26

I didn't get the driver with the motors. I have seen the nylon string - motor tuple myself working in a video of a homemade PCB maker (check my other CNC instructable). The rack and pinions were a bit pricey but they are pretty much needed when mounting a mini mill in the gantry (in my other CNC instructable too).

If you make something CNCish please post a link here or at least a picture of it!

MatthewD8 (author)2014-12-02

Do you have a video of it working? How is the speed with the small/cheap motors?

Do you have an example of something you made with it? I would think the tolerances are pretty lose with how you did your rails but when going cheap you ahve to sacrafice somewhere.. I'm tempted to try this!

Thanks for the Instructable! Awesome job!

john1a (author)MatthewD82014-12-02

I haven't any video of it as I disassempled it months ago to upgrade it. The update is in my profile. The cheap is actually good. Like 25mm/sec. But speed is laser dependent.

The reason of the upgrade was indeed the tolerance. I used drawer slides instead and it improved dramatically...
The motors aren't so bad. They aren't that trustful but they work. They not stall when configured correctly. I have a dedicated hardware system (cheap too) to drive those motors nicely. It is also in my profile.

Absolutely try this. You will learn a lot. The electronics are a bit confusing but, in my other instructable I give a shot to explain them as simply as I could...

starplayer (author)2014-11-17

1 meter of rack 16€? 1 gear 2€? Where mate?

john1a (author)starplayer2014-11-18

In greece, Spirou Patsi street, Athens...

MrRyzz (author)2014-11-16

Congrats!... I believe i can make this instructable next months. Im waiting for my laser diode which same as yours. But i have question about driver? Which laser driver can i use for 5v or 12 v pc power supply output?

john1a (author)MrRyzz2014-11-17

I used an external power supply of 12V. You need between 2 to 3 Amps.
The laser should perform the same with both 5V and 12V but the motors won't. The motors have to get 12V to be powerful enough.

You can make yout driver really easy or buy one.

MrRyzz (author)john1a2014-11-17

Thanks a lot . I will give this driver 5 volt and i wont use laser switch .

First i wil try with 6 diode circuit and see how many current used.

Ndv4542 laser diode use 125 ma ? in cw?

whamodyne (author)2014-08-24

Very sweet! I am also looking at the NDV4542 laser diode in a CNC engraver. Could you tell me what current you are running at? 100ma? 125ma? 200ma? Thanks!

john1a (author)whamodyne2014-08-24

Sure! It is about 125mA. I have run one at 180mA, but it died (LEDed is the laser enthusiast word) after 2 days.

All sellers have a "<200mA" or "<250mA" warning but the real datasheet (embedded here for you) has a different opinion about the subject: 130mA MAX current at Continuous Wave (that's what CW stands for). You can also PWM the diode with higher current. If you don't know what this is you probably don't need it. I always use CW though.

Be careful with the amperage and measure it using a "Laser diode Test Load circuit". Just google it if you don't know about it. It is an "under dollar" circuit to test the exact amperage of your supply at any possible voltage you will need using a Digital Multi-Meter.

Also use a Constant CURRENT (not voltage, because laser diode resistance isn't fixed - goes down with high temperature and ups current) supply. The lm317 IC does the trick for me (see schematic).

I have also uploaded my (variable current - you may want a different diode sometime) driver circuit with the on/off switch that goes straight to the parallel port (I use a TIP121 NPN transistor instead with a 1kΩ resistor at gate).

john1a (author)john1a2014-08-24

I also supply the LM317 circuit with 12V. But 9V is equally good.

halamka (author)2014-07-03

Make the laser cut silicon chips. Since the beginning wires had to be welded onto a substance stranger than glass. Using a match etc. fuse aluminum powder onto a siliocon wafer side. Then cut individual diodes.

halamka (author)2014-07-03

Does arduino make you an enslaved Microsoft user? Did paul allen think of arduino to stave off BASIC computers that simply bypass Microsoft? I have an Atari 2600 and a card that says BASIC on it. I will try it somtime. The ASCII code for return is 0000 1101. Now think of a flat surface with flow chart symbals. Think of a memory block that can hold BASIC program lines that you have just typed in.

samern (author)2014-06-22

OMG, I so miss Greek. I grew up in Athens and just love to hear it....even more so in an Instructable. Your απλή ντίζα (Axis Drivers), that white pipe, in the US and likely the UK is PVC pipe, which is also a plumbing supply and for us would be a Home Depot purchase. Having built a few things like this, you need to make sure there is no 'slop' in your carriage, and what I suggest is at the same store you bought your pipe you buy metal tube and metal rod. Where we are, you can go to Home Depot and buy 3ft (0.9m) of steel tube and 3ft of steel rod that fits exactly in the tube. This way you have no need to tension the x or y carriage and there is no 'give' in either direction. Now your engraver is not taking a load because it is a laser, but if you stiffened the structure, you would get the ability to replace the diode with a rotary tool or spindle and have a CNC machine as well.

Apithano δουλεια!

Poppy Ann (author)samern2014-06-25

home depot in UK is B&Q or as close as you can get and not steel the name as well, same racks same set up same items for sale but at much higher prices, i wish Home Depot would open up over here and keep the same prices as they have in USA.

samern (author)Poppy Ann2014-06-25

If shipping rates were reasonable I could make a killing sending parts from Home Depot here to all of you in 'Old Blighty' or anywhere else. Alas, this is one of the reasons I never built anything worth anything when I was living in the UK. Just couldn't afford it, let alone house it.

nmylonas (author)2014-06-24

Thanx a lot. I'll look into it. Thank you for the response.

Nate_Bro (author)2014-06-23

This is great!

I want to invest in a good CNC PCB mill, large CNC Router/Mill, and a 3D printer. but the problem is to build those items I need parts. I have almost all the parts you listed in this build waiting for me at home. I can build a cheap CNC mill (maybe 3D printer) using these parts, and build some crude parts so I can make some decent equipment. I can imagine this thing would be a bit slow, but its better then what I have now. and I could even print my own PCB for the electronics.

Even if I can get 0.06" tolerance on this version I could build something better then using a jig saw!

I must have missed something, how are we hooking up the motors to the computer?

SolidRaven (author)Nate_Bro2014-06-23

You'll probably have to switch to a more powerful stepper for a CNC mill though, and a pretty good motor to rotate the cutting tool. FR-4 is a nasty material to cut that's pretty harsh on the processing equipment. We use an old guillotine for thick pieces of cardboard to cut PCBs at work, you do have to sharpen it once in a while. For more precise cuts a CO2 laser is always a good option.

john1a (author)SolidRaven2014-06-24

A CO2 laser needs half a room of space to set up. It needs serious ventilation, (water) cooling and more. It also needs optics to transfer the beam from the tube to the material. Expensive things... If you want to build one search for the "2.x laser CNC" open source, open design project. It even has the same LinuxCNC interface with mine.

It is a complete project of hardware (schematics, templates) and software (LinuxCNC plugin for rastering, Pulse per Inch...) and completely free. Many people have made it...

SolidRaven (author)john1a2014-06-24

Half a room is overkill, it really depends on what you're going for exactly. I think you're confusing the laser necessary to cut a PCB with the one you need to cut through thick steel sheets. And eitherway, using a Nd:YAG for FR-4 isn't the best of ideas.

john1a (author)Nate_Bro2014-06-23

It isn't slow. Not one bit. It can run with 30mm/sec. That's pretty fast...

You can design a CNC with changing gantry. This way you can build a PCB Mill and 3D printer while only creating 2 gantries and 1 CNC table...

The bigger builds need some Aluminium (and up) frame and *of course* greater motors(I believe 3 Amp motors will do the trick for 1m X 1m build).

I used the LPT port to connect the motors. The sparkfun easydrivers need step/dir signals that LinuxCNC provides automatically in the Parallel Port, given you have configured (via some nice GUI that lets you test everything) which pin goes to which signal.

thelordofthebits77 (author)2014-06-23

good job

Sock Puppet (author)2014-06-23

Nice one. I hadn't heard of LinuxCNC but I'll be taking a look at it - thanks.

Granzeier (author)2014-06-18

Very nice - and well presented (although not too sure about the cat - then again, I am not a "cat person") ;-)

Thank you for this - I think that it is time for me to make one of these laser engraver/cutters.

john1a (author)Granzeier2014-06-19

Happy to hear that! Don't forget to return with an "I made it" answer and pictures...

Also check again the Step 2 as I have added a way to reduce the cost by about 15€ (link to another of my Instructables)

The cat, as you know, is an internet joke, but this particular one helped me with the motor adjusting. If the motor was moving really slow *that I couldn't realize) the cat would just stare at it so I knew that the step signal was slow. If it wasn't moving at all the cat wan;t interested... He is an engineer too!

padbravo (author)john1a2014-06-21

I wonder... why the cats are an internet joke?
I am a "cat person", but, did not know about that a cat was some sort of joke..

Battlespeed (author)padbravo2014-06-23

Not really an Internet joke - more like a YouTube meme. Over time, so many funny cat videos have been posted to YouTube that they make up a fair chunk of its content, and people just started including cats in their videos just for fun.

rafununu (author)padbravo2014-06-22

We miss a lot of details and pictures as well, can't you be more precise. About cats, they are the best mix of freedom and intelligence.

john1a (author)rafununu2014-06-22

You are right. It isn't *that* "step-by-step"... The reason is that I didn't know the instructables before I assembled the whole thing. So I haven't many photos and videos to show you with the machine half-assembled, axis tests, stepper driver circuit assembling, and such things...

Plus that if I restarted a similar project I would do everything in a much different way. So I believe some parts of the project aren't that good to actually show and teach how to do them, because they seem wrong to me now...

Either way, you can always ask me in the comments for everything you want and I will answer.

henrikas (author)2014-06-22

Where did you buy rack and pinions?

john1a (author)henrikas2014-06-23

Generally you can find racks buy writing "rack and pinion CNC" in ebay search textbox...

There you will find pricey stuff. They should work but they are expensive for a <100euros project... It is better to stick with lead screws (threaded rods) as they are easier to find and cheaper too...

Also search for 3D printer parts. There is an open "Reprap" project (read about reprap and bootstrapping, it is really great discovery) that uses 3D printers to print 3D printer parts. As all those motion mechanisms are needed to 3D printers too, you will be able to find many things this way (they are almost cheap too): motors, lead screws, axis rods, timing belts...

schmitta (author)2014-06-22

Yes it was a good instructable. Lots of useful information

wisconsinjimmy (author)2014-06-22

Just Cool, but I cannot find where to get the rack and pinion how bout a heads up as to where to find or buy.


mist42nz (author)2014-06-22

Where do you get rack and pinion ? It's not something that my local plumbing shop stocks :)

john1a (author)mist42nz2014-06-22

Searched for hours in industrial places. If you can't find that you can absolutely use timing belts (you can find on ebay a bunch)...

baecker03 (author)2014-06-22

love this instructable project. I'm using low price steppers from mach machinery.. low torque isn't necessarily a problem as there are work a rounds such as gear reduction with a worm gear etc. might have to try this, although with a higher power laser.

john1a (author)baecker032014-06-22

Low torque isn't a problem if your gantry doesn't interact with the material you work on. I believe that making a CNC mill with those motors is nearly impossible (a CNC router is absolutely impossible).

But laser just points at the material show it works greatly!

Richi30s0 (author)2014-06-22

Great project! Just had a question, when you used the Arduino to test your motors, did you remove it from the circuit once you figured out the problem? I would like to make a build similar to this one but I do not want to use a pre-assembled board. Thanks.

john1a (author)Richi30s02014-06-22

You don't have to use such board! I didn't either!

Just breakout a Parallel Port Female plug with female headers (or even optoisolators if you are that picky!) and connect everything there...

About This Instructable




Bio: I study Computer Science and generally tinker with stuff. Be it software or hardware. I have my software periods and my hardware periods.
More by john1a:Repurposing my Laser CNC into a multi-tool CNCHow to make PCBs easilyHow to make your own AVR programming station for under 8 bucks
Add instructable to: