Yet Another DIY Diode Laser Engraver




About: I study Computer Science and generally tinker with stuff. Be it software or hardware. I have my software periods and my hardware periods.

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

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: 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

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

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

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:

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!



    • Indoor Lighting Contest

      Indoor Lighting Contest
    • Metal Contest

      Metal Contest
    • Make It Fly Challenge

      Make It Fly Challenge

    63 Discussions


    2 years ago

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


    2 years ago

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


    2 years ago

    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.



    4 years ago

    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

    3 replies

    Reply 4 years ago

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


    Reply 3 years ago

    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.


    Reply 4 years ago

    Thanks, what would I need?


    4 years ago on Introduction


    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 ?

    1 reply

    Reply 4 years ago on Introduction

    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!


    4 years ago on Step 2

    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. :-)

    1 reply

    Reply 4 years ago on Step 2

    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!


    4 years ago on Introduction

    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!

    1 reply

    Reply 4 years ago on Introduction

    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...


    Reply 4 years ago

    In greece, Spirou Patsi street, Athens...


    4 years ago on Introduction

    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?

    2 replies

    Reply 4 years ago on Introduction

    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.


    Reply 4 years ago on Introduction

    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?


    5 years ago on Introduction

    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!

    1 reply

    Reply 5 years ago on Introduction

    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).