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:
- Hold the y-axis stepper motor
- Support the steel rods of the y-axis
- 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.
Attachments
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.
Attachments
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.
Attachments
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!

First Prize in the
Epilog Contest VII
82 Comments
7 years ago
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!!!
Reply 4 years ago
PLEASE for your own EYES....these things are nothing to play around with one wrong move and you are BLIND or someone walks into the room and they are blind...Put your hand in the wrong place and a hole is drilled into your hand oh no blood but it hurts real bad.Read first ,Learn all the safety rules first than take the big step.
7 years ago
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.
Reply 4 years ago
you need to take a serious look at laserGRBL....I use it with a small laser cutter and it works perfect and the arduino nano with two step sticks is a dream now I am working on a 2 foot x 6 foot xy table I just acquired the guide rods.
6 years ago
How exactly did you "hinge' the 2 pieces of orange acrylic? It looks super goood!
7 years ago
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?
7 years ago
can i cut cloth with this 2W laser ? I want to make if it can.
7 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,
joris
Reply 7 years ago
Generally speaking I would build a case out of polycarbonate. 3mm thick material should be good enough.
Reply 7 years ago
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.
7 years ago
Hello,
can we have the code on the arduino please. i cannot find them.
Reply 7 years ago
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!
7 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.
7 years ago
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
7 years ago
Awesome.great
8 years ago
what would be a estimated over all price? i have a printer
Reply 8 years ago
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)
Reply 7 years ago
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
8 years ago
Great Job, I have been wanting to do something like this. Best of luck to you in the contest!!!
Reply 8 years ago
Thanks!