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