2W Arduino Laser Engraver/Cutter




Introduction: 2W Arduino Laser Engraver/Cutter

EDIT 5/10/16: I've added a PDF made by Ed Powell which gives instructions on how to use Inkscape and Universal Gcode Sender to create and send images and text to the laser engraver. Check it out!

In my 4th level high school engineering class, we were given the opportunity to do an independent master project. Having used the class laser engraver extensively, I thought it would be a cool project to make my own, as it would combine several different disciplines including electrical and mechanical engineering. Of course, I was also motivated by the desire to have my own laser cutter.

After about four months of work, I'm very happy with the results! At only 2 watts, it's not terribly powerful, but it can engrave most wood and plastic and can cut balsa wood. It has already come in handy for cutting out templates to use in other projects. Finally, I've gotten around to making an instructable on it. Hopefully it will help and/or inspire some of you!

Here's a link to a mostly comprehensive bill of materials, as well as all the STL files used, annotated images showing parts, and circuit diagrams.

Step 1: Layout of Design in Inventor

I began by laying out the basic frame in Autodesk Inventor. The design was modified and added on to throughout the build process, but the frame remained largely the same.

Step 2: 3D Printing and Assembling the Y-Axis

The first part to be printed serves three purposes:

  1. Hold the y-axis stepper motor
  2. Support the steel rods of the y-axis
  3. Slide along one of the x-axis rods

After printing, two small bronze bearings are inserted. These bearings are impregnated with oil to reduce friction. I found them to be a cheap and effective alternative to more expensive linear motion bearings meant for 3D printers and the like.

The steel bars are simple 5/16" stainless steel drill rods, which work just fine. I cut one 36" rod in half with a hacksaw to make two 18" pieces.

Step 3: Finishing the Y-Axis

The laser I used was a 2W M140 diode. It comes with a metal casing and leads, but needs a heat sink to run safely without overheating. I made a simple heat sink out of a block of aluminum and some cooling fins from an old robot controller. I drilled a 31/64" hole in the 1" x 1" block for the laser, and also added a tightening screw to the side. I then bolted this to another 3d-printed part that would slide along the y-axis and clip onto the timing belt.

The completed heat sink assembly was slid onto the y-axis rods from Step 2. Then, the other end was fitted with a 3d-printed part to hold the idler pulley and slide along the other x-axis rod. The y-axis stepper motor was screwed into place, and the pulleys and timing belts were attached.

Step 4: Constructing the Frame and X-Axis

I constructed the frame out of wood (details in bill of materials). The most difficult part was making sure the two x-axis rods were aligned and perfectly parallel. Instead of using two motors to drive the x-axis, or using a complicated pulley and belt system to drive both sides simultaneously, I chose to have the x-axis motor and drive belt in the center of the y-axis gantry. It looks a bit ugly, but it's simple and it works.

At first, the cross beam connecting the belt to either end of the y-axis gantry was lazily glued on with superglue. However, this proved to be problematic, so as you'll see in later steps, this was eventually replaced with a more permanent 3d-printed L-bracket.

Step 5: Testing and Installing Electronics

The first picture shows the laser diode I used, the M140, available from DTR's Laser Shop, although he has even more powerful modules now. It requires a lens for focusing and a regulated power source, so I bought a driver and a G-2 lens as well. This was mounted in the heat sink with some thermal paste. Note that it's extremely important to use red laser safety glasses whenever operating these lasers!

I hooked up all the electronics temporarily outside of the frame for testing (circuit diagram attached). I also used a computer fan for ventilation. The machine is controlled by an Arduino Uno running grbl, and I'm using Universal Gcode Sender to stream gcode commands. To actually turn vector images into gcode, I'm using Inkscape with the gcodetools plugin. I used the spindle direction pin to turn the laser on and off, since that was easy to do with gcodetools.

The third image shows the successful first engraving. At this point, the laser engraver is technically done, but to make it look a little better and be much safer, next we'll build an enclosure around the entire thing.

Step 6: Building the Enclosure

I built the sides out of a whiteboard material, and screwed them on. for the back, I had to cut a rectangular hole since the stepper motor stuck out a little too far. I also cut holes for ventilation, for the power cord and USB port, and for the computer fan. The front and top was covered with white board material on the edges, while the center was left open for a transparent acrylic lid. Finally, a flat 1/8" wood platform was added over the top of the electronics to serve as the base on which engraved material would be placed.

The 5th picture shows me bending the orange acrylic that would become the lid. It is orange to block the blue light of the laser; even reflected rays can seriously damage your eyesight! I attached this with a hinge after cutting it to length, and voila! One finished laser engraver. It almost looks like something you could buy in a store.

Step 7: Testing

Here are just a few examples of things I've engraved with this laser engraver. The Mona Lisa didn't turn out very well, but for simpler, black-and-white patterns like the dragon, it looks quite pretty. It can also cut thin balsa wood, as you can see in the third picture. Thanks for reading my first inscrutable, and I hope you enjoyed!

Epilog Contest VII

First Prize in the
Epilog Contest VII



  • Tiny Home Contest

    Tiny Home Contest
  • Creative Misuse Contest

    Creative Misuse Contest
  • Fix It! Contest

    Fix It! Contest

83 Discussions

How exactly did you "hinge' the 2 pieces of orange acrylic? It looks super goood!

I want to make some rubber stamps for my wife (card making) and I want to know if I can make them with a 2W laser? Can they only be make with a 35W laser and up?

Some time ago I built a Laser Engraver with this GearBest Kit.

Unfortunately I have not found a software acceptable and easy to use, so I wrote my own.

My software allows to load a picture and send it to the laser engraver quickly and easily.

My software is written in a generic way for almost all machines with standard GCode firmawre.

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

As I needed to modulate the laser power (I have a 5500 mW one) I used GRBL firmware version 0.9 (other versions are ON / OFF, 0.9 is PWM)

Here the Robot Laser Project page : http://www.robot-eyes.com/en/RobotLaser/

I will update soon the page (for now very rough).

Please send an email at robotlaser@robot-eyes.com with your opinion, thanks.

can i cut cloth with this 2W laser ? I want to make if it can.


2 years ago

Hi Alex; absolutely love your project!!! I have a question though, I just bought my own desktop laser engraver (cheap Chinese one - 2,8 W, 450 nm), but it came with safety goggles only;

as my eyes are precious to me; I want to cover the laser engraver itself with a safety screen. which material should I use for such a screen? how can I make sure that it's effective?

thank you so much for your advice.

kind regards,


2 replies

Generally speaking I would build a case out of polycarbonate. 3mm thick material should be good enough.

I used https://www.inventables.com/technologies/transparent-orange-acrylic-sheet, which is supposed to block UV light, but I've found it works well for 450 nm light as well. It's not exactly designed for laser safety though, so if you're really paranoid, I'd stick to wearing the goggles.

Hi!! I want to buy my own laser cutter machine... but I have no knowledge about it.. I want it to make jewellery.

Can you give me some advices? plz!!!


can we have the code on the arduino please. i cannot find them.

1 reply

There's no actual arduino code, per se. You have to install grbl, which can be found here: https://github.com/grbl/grbl/wiki. You'll also need to install Universal G-code Sender to communicate with the arduino, which can be found here: https://github.com/winder/Universal-G-Code-Sender

That first page also has instructions for configuring grbl. You might have to change it depending on the dimensions of your machine, but the settings I used were as follows:

$0=10 (step pulse, usec)

$1=25 (step idle delay, msec)

$2=0 (step port invert mask:00000000)

$3=0 (dir port invert mask:00000000)

$4=0 (step enable invert, bool)

$5=0 (limit pins invert, bool)

$6=0 (probe pin invert, bool)

$10=3 (status report mask:00000011)

$11=0.020 (junction deviation, mm)

$12=0.002 (arc tolerance, mm)

$13=0 (report inches, bool)

$20=1 (soft limits, bool)

$21=0 (hard limits, bool)

$22=1 (homing cycle, bool)

$23=1 (homing dir invert mask:00000001)

$24=25.000 (homing feed, mm/min)

$25=1000.000 (homing seek, mm/min)

$26=250 (homing debounce, msec)

$27=1.000 (homing pull-off, mm)

$100=20.000 (x, step/mm)

$101=20.000 (y, step/mm)

$102=250.000 (z, step/mm)

$110=5000.000 (x max rate, mm/min)

$111=5000.000 (y max rate, mm/min)

$112=500.000 (z max rate, mm/min)

$120=500.000 (x accel, mm/sec^2)

$121=500.000 (y accel, mm/sec^2)

$122=10.000 (z accel, mm/sec^2)

$130=280.000 (x max travel, mm)

$131=280.000 (y max travel, mm)

$132=200.000 (z max travel, mm)

You can view the settings by typing the command "$$" in G-Code Sender. To change a setting, just type "$<number> = <value>". For example, to change the x-axis step/mm setting, type "$100 = 20.000". Hope that helps!


2 years ago

I can't seem to get the links to the .stl files to work. When I click on them all I get a text file. I tried 'right-clicking', but that doesn't get me anything either.

Could you elaborate on how the laser is powered? What psu did you use? Did you use a relay? Can your setup control varying laser intensities? I have this same diode from dtr and the driver and such. Still learning and trying to understand pwm and controlling laser intensity


2 years ago


what would be a estimated over all price? i have a printer

2 replies

sorry for not looking at the doc befor i asked in case anyone is wondering i calculated $272 for electronics (i already have a uno)

printrbot932, your looking in the wrong places.

the pricey parts are the laser and the steppers.

folgertech.com has NEMA 17 steppers for only $8

all the rest of the electronics minus the laser i found for only $21 (including the arduino) on aliexpress.com

the laser i found on eBay for only $56

only folgertech charged shipping, $7

thats $100 for all the electronics

for $7 more aliexpress has the G2 belts and pullies too

Great Job, I have been wanting to do something like this. Best of luck to you in the contest!!!

1 reply

I noticed the place you got your laser now has 6w diodes. What would you change in your setup to accommodate a higher wattage laser like this? What materials and thicknesses would this open up?

1 reply

Don't expect any drastic improvements, but you'll probably be able to cut some slightly thicker balsa wood and engrave on lighter (more white) surfaces. You still won't able to make a mark on metal or anytthing like that. However, this is just conjecture; if you try it, be sure to post your findings!