3W 4'x4' Arduino Laser Cutter/Engraver




About: Designer / Electrical Engineer specializing in Lighting

In this tutorial you will learn how to make your own 4 ft by 4 ft, Arduino controlled, 3 watt laser engraver / cutter (for thin materials) for around 300$. The main thing that separates this tutorial from other laser engraver tutorials on here is the roughly 42 x 42 inch cutting/engraving area. This project arose when I was trying to create a 20 x 15 pixel coffee table. I needed to be able to cut my own fairly large foam grids in order to make the light separation to create the "pixels". One of the most expensive parts to creating your own pixel table or wall is creating the grid, most have theirs laser cut out of foam by some sort of online laser cutting service. The only problem with the online service is that it isn't cheap, and I'm a broke college student. The only alternative I saw was building my own laser cutter.

This particular laser cutter is rated for a maximum of 3 watts, even though that power is nothing compared to industrial Co2 laser cutter, which typically starts at around 40 Watts to 500+ watts, the 3 watts is more than enough power to cut thin materials such as foam board, balsa wood, plastic, and cardboard. Even though 3 watts may not be enough to cut through your thicker materials, its more than enough to engrave images on almost any surface (shown in the pictures above).

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 Materials

In total your materials (depending on where you buy them from) should come to about $300. Attached is the full bill of materials (B.O.M. V1) for all of the materials I used, including links to each. Remember you do not have to use these exact materials, there are lots of different components that will also work for this build. This B.O.M. does not include the price for bolts, screws, and wood.


  • Arduino R3
  • Proto Board
  • Stepper Motors
  • 3W Laser
  • Laser Heat sink
  • Power Supply
  • DC-DC regulator
  • Logic Level MOSFET
  • Stepper Motor Driver
  • Limit Switches
  • Project Box (Something large enough to contain everything in this list)
  • Timing Belts
  • 10mm Linear Ball Bearing
  • Timing Pulley
  • Ball Bearings

Not included in B.O.M.

  • 2 - 53"x 4" x 3/4" Sheets of wood
  • 2 - 49.5" x 4" x 3/4" Sheets of woods
  • 4 - 3/8" Steel Round rod
  • Various bolts and nuts
  • Screws 1.5"
  • Liquid Grease white Lithium
  • zip-ties


  • Computer
  • Circular Saw
  • Screw Driver
  • Various Drill Bits
  • Steel fine grit sandpaper
  • Vice (optional)

Step 2: The Circuit

The circuit is pretty straight forward if you follow the diagram posted above. There are however a few technical details you do need to pay close attention too:

  • The Stepper Motors: You may notice that two of the stepper motors are run from one driver. After trial and error (and suggestions from other builds) you do need in fact need two stepper motors for one of the axis's (two stepper motors from one driver). This is so one side of the axis does not lag behind the other. The two combined stepper motors are wired the exact same with one of the two stepper motors coils reversed. This is so that one stepper motor runs in revers to the other, causing them both to pull the belt in the same direction.
  • Laser Power: When adjusting the DC-DC step down supply make sure you DO NOT exceed the specs for your laser, this will fry your laser and you will have to purchase another. The laser I am using is rated for 5V and up to roughly 2.4A. Therefore I have the current limited to 2A and the voltage just below 5V.
  • Logic Level MOSFET: The MOSFET in this circuit is very crucial, It turns the power to the laser diode itself on and off. A Logic Level MOSFET turns fully on or fully off when very low current is applied to the gate, this is perfect for controlling it with an Arduino because the Arduino sends a very low current to the MOSFET. If you tried to use a standard MOSFET or transistor the laser would not get full power because the Arduino does not supply enough current to fully close the connection between your laser and its ground. In the circuit above the MOSFET is inserted between the laser and ground on the DC-DC step down supply.
  • Cooling: One big problem I ran into when I first put this together was the laser diode overheating if I ran it for too long. The heat-sink is NOT sufficient to disperse all the heat from the laser, to fix this issue I added a small computer fan mounted right next to the laser. After this addition I haven't had any problems with heat even when running it for 9+ hours straight. I also added a fan next to the stepper motor drivers because they also produce a lot of heat even when the laser cutter not running, if the power is on these guys will get very hot.

Step 3: The Assembly

Attached I have included a 3D design for the laser cutter in order to show you the general frame for the project (created in DesignSpark Mechanical). The design is to scale and shows you how to assemble the laser cutter.

  • Building the shuttles: This includes the shuttle that holds the laser (the Y axis in this example), and the two shuttles that make the X axis. No Z axis is required, instead of a Z axis (like a 3D printer) the laser will be turned on and off. In the CAD pictures above I've given you all the dimensions you should need to be able to assemble the three shuttles, if you have any questions on the dimensions please refer to the attached 3D Design. All the holes drilled for the round rod to fit into the side boards or shuttles are 1/2 inch deep. Make sure you pre-drill all the holes in the shuttles to prevent risk of the board cracking.
  • The Round Rod: I purchased 3/8" steel (Aluminum would work better but steel is cheaper and easier to find) rod from Homedepot, the reason I went with the thicker 3/8" was to prevent and sagging on the rail. The rod came coated in a grease like substance, this needs to be removed before you can use the rod. Steel sanding pads, steel wool or high grit sand paper should work, after sanding the steel it should be very smooth and look like it does in the pictures above. After everything is assembled the rails need to be coated with white lithium grease, this prevents rusting and helps the shuttles glide.
  • The Belt & Stepper Motors: When it came to mounting the stepper motors to the base and attaching the timing belt I used what tools I had at hand. The stepper motors and bearings should go on first before you worry about putting the belt on. In order to mount the motors to the wood I cut a rectangular piece of sheet metal the width of the motors and about twice the width for the length. I then drilled 6 holes, 4 for the top of the motor so you can screw the sheet metal to the stepper motor, and 2 holes on the far side of the sheet metal. I then bent the sheet metal 90 degrees and screwed the sheet metal to the wood. On the opposite side from the stepper motor is where you mount your bearings. Each pulley/bearing set consists of one bolt, 2 bearings, a washer, and sheet metal. I simply drilled two holes in opposite ends of the rectangular piece of sheet metal and one smaller hole in the middle. Then bent the sheet metal into a "C" shape, put the washer on the bolt first followed by the two bearings and finally put the bolt through both holes on the ends of the sheet metal and tightened it down with a nut on the bottom. The sheet metal then gets screwed to the wood using the hole drilled in the center of the sheet metal. As for the timing belt I put a screw through each end of the belt and then screwed each end of the belt to a small piece of wood attached to the corresponding shuttle. You can get a much better picture of what i'm describing in the pictures above.

Step 4: The Software

The required software to run the laser cutter is thankfully free and open source to all. Below are links to each along with the laser engraver extension that is attached to this step.

Required Software:

To start off download all the required software and put it someone you're not going to loose them (A designated folder in my documents for example). Install Inkscape then extract the laserengraver.zip file. After the laserengraver.zip has been extracted open up the folder and copy all of the files inside to C:\Program Files (x86)\Inkscape\share\extensions. Take a look at the commented picture above for more help on what files to copy. Next you want to install the Arduino IDE and GRBL Library (These must be done separate). I wont go into how to install the GRBL Arduino Library there are plenty of tutorials out there. Finally, extract UniversalGcodeSender-v1.0.7.zip to its own folder. The Universal G code sender is the software that sends the design information to the Arduino. After you extract the .zip file you will find a file called start-windows.bat, double click on this file to launch the software.

  • Configuring the Arduino GRBL settings: First things first you need to upload the GRBL code to the Arduino. This is the easy part, open up the Arduino IDE click Sketch/Import Library then select grbl at the bottom. A long list of #include<> 's should be loaded onto your sketch now all you have to do is compile and upload. For more information on importing and uploading the library please visit the link "With the GRBL Library" above in the required software bullets. After the code has been uploaded to the Arduino you will now need to configure the settings to match your laser cutter. https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9 This link does a great job of explaining what each one of the setting does and how you configure them. http://homepage.ntlworld.com/r.j.noble/ShapeOko/grblcalc/ This link will help you calculate values for each one of your settings based on the materials you used.

Step 5: Creating a Design

Acquire An Idea: One thing you need to remember when thinking of a design is that the laser cutter will not fill in a picture if its supposed to colored. It simply does the outlines, if you take a look at the first image above you can see an example of what i'm talking about. Inspiration can come from anywhere when you have unlimited possibilities for a design. The other day I was watching a Ted talk, jotted down some notes and created what you see in the second image above. I also attached the .svg for the design so that you can edit/use it for yourself. A .svg is not your normal picture format like a .jpeg, its a vector image. This means the entire image is made up of points instead of pixels, making it totally scale-able without loosing its definition.

Create Design: After you've got some sort of idea on what your about to make you'll need open up a some form of vector based software. For example Inkscape or Adobe Illustrator is what I use, programs like Photoshop or gimp will not work for creating vectors. You can either create your own images from scrap or user existing images online and convert them to a vector which I cover more in the video above. Go Media also sells vector packs which I would highly recommend, these make creating a design very simple.

Convert Design: Once you have your design you now need to convert it to a format the laser cutter can read. This is where the Inkscape Laserengraver extension comes in handy. Select your design and convert it using that extension. In the video above I go over all of these steps in much greater detail.

Step 6: Setup & Printing the Design

In the video above I go over how to connect the laser cutter to your PC, adjust the software settings, and prepare for a run.

Adjusting software settings: Mainly making sure your Max X & Y rates match what speed you set during conversion of your vector.

Adjusting the hardware: You can see in the picture above exactly witch POT I am adjusting to lower the current, this step is not necessary its just an easy way of focusing your laser without burning the material.

The Print: Make sure the speed is set, the laser has been focused and aligned with the bottom corner of the piece you'll be burning. Now hit send and sit back and watch!


BE VERY CAREFUL when around the laser while it is running, I would highly advise reading through this Wiki page to get a better understanding at just how dangerous the laser radiation really is. May cause burns to the skin and blindness if used incorrectly. Please click the link below and read before operating the laser.

Laser safety

Thank you all very much for reading through this instructable, a great deal of time has gone into creating this. If you would like to see more projects that we've been working on swing over to our website at Famousmods.com

Also please vote for us in the CNC challenge, Guerilla Design Contest and the Tools Contest!!

Thanks everyone!

CNC Challenge

First Prize in the
CNC Challenge

Tools Contest

Third Prize in the
Tools Contest

Guerilla Design Contest

Participated in the
Guerilla Design Contest

5 People Made This Project!


  • CNC Contest

    CNC Contest
  • Make it Move

    Make it Move
  • Teacher Contest

    Teacher Contest

165 Discussions


4 years ago on Step 6

Nice build, it is certainly going into my project list. Have you tried running it vertically instead of horizontally? That would be a real space saver if possible.

4 replies

Reply 4 years ago on Step 6

Vertical would sortof work, but you have to be aware of what kind of work you are doing. For etching, you basically just have to be sure your work is secure. For cutting, you have to make sure any cut-out pieces won't fall onto the laser or x/y carrier. For wood, the smoke may discolor more area since the smoke will stay close to the work, and the upper portion of the cut/etch might burn wider than intended.

Personally, I'd make sure it was sturdy enough to store vertical, and pull it out horizontal for use.

You could solve the smoke and cut-out debris issue by tilting the unit 15°-20°, and it would make supporting work pieces simpler.


Reply 4 years ago on Step 6

That makes sense. Vertical storage is a better solution. Maybe put it on a hinge and lower it for use.


4 years ago on Introduction

Great job in explanation. I wonder if the stepper motors could be replaced with motors and drives from CD-ROMs? I suppose that would just scale the size down. A lot. But the ideas could be there. Also I wonder about the lasers in the CD-ROM, do they have enough power to engrave anything? In any case, this is a very good project. You have my vote!

2 replies

CD-ROMs and laser printers all have very weak lasers. They are only about 5-35mW. The laser FamousMods is using here is 600 times more powerful. A CD-ROM laser won't burn anything, not even black paper.


Reply 4 years ago on Introduction

Im sure that is possible but you are right that it would scale the project down quite dramatically, and you wouldnt get any cutting power from the laser inside the CD-ROM unless you're only trying to cut black paper.


4 years ago on Introduction

Just an update guys i forgot to attach the DesignSpark model! Just uploaded the full 3D model, you can find it in step 3! Thanks again for the views and support everyone!!!


4 years ago on Step 1

Hi awesome project. I am the creator of the Laser Ink kickstarter project https://www.kickstarter.com/projects/1923304356/la...

You may find some interesting information there. Update #10 has reference to an open source version of grbl that allows you to do image rastering. Update number 4 gives a brief overview of the theory of operation. Additionally we have created a full software stack that could control this machine.

Additionally I would recommend using the Flexmod P3 Driver to control the laser power this allows the grbl to send an analog signal that is then used to set the pixels of the image.

Great job.

1 reply

Hey Nick. Where is your instructables you mentioned in your KickStarter Campaign that you were publishing in December? I would be interested in checking it out, but I can't seem to find it in all my searches.

"In December we will publish an instructables detailing how to convert a Chinese C02 laser to be controlled by an arduino + grbl."


4 years ago

have you or anyone tried cutting acrylic with this size laser? if so will it cut 1/4" or 1/8" or maybe 1/16"?? or do you need to be as thin as something like 18 ga for plastic or acrylic? please let me know, if i can cut at least 1/8th or 16th inch acrylic im making one this week! thanks allot for your contribution. awesome!

1 reply

Reply 4 years ago on Introduction

I have cut opaque 16th inch black acrylic, If you're trying to cut something translucent however this laser will only engrave the surface it wont cut through. I haven't experimented too much with acrylic though so theyre may be techniques i haven't tried out yet.


Question 7 months ago

I bought and assembled everything listed in this tutorial. Everything works great, but for some reason, when I attach the timing belt to the x or y axis, it seems like the stepper motors cannot move them. Any help on these stepper motors moving under little load would be great!


8 months ago

Verry Very great write up,the drawings are fantastic,Ihope you have switched over to arduino 1.1 ans set it up for laser,yes I am building a laser engraver/cutter however my unit is much smaller 6.0" square later on I will go larger.


Question 9 months ago on Step 2

Hi, I dont have much of electronics background. So, can you please tell me the detailed wiring of all the circuits please?


Question 9 months ago on Step 2

HI, what are those limit switches? any specifications on the limit switches?


10 months ago

Wonderfull, thanks ! As a first step I'm discovering DesignSpark Mechanical, and opening your file ask me for the two files "NEMA 17.rsdoc" and "9mm Laser.rsdoc", these are not in your zip... ? I can't found them on the .rs-online.com site, nor their partnership traceparts.com, ?


1 year ago

Great build, great instructable, and I'm looking forward to my parts arriving.

Since I'm waiting I thought I'd study your video on Inkscape, right down to using the same file for conversion. However I keep receiving this error doing the extension:

"Traceback (most recent call last):

File "laserengraver.py", line 3188, in <module>


File "inkex.py", line 283, in affect


File "laserengraver.py", line 3156, in effect

self.orientation( self.layers[min(0,len(self.layers)-1)] )

File "laserengraver.py", line 3080, in orientation

doc_height = inkex.unittouu(self.document.getroot().get('height'))

AttributeError: 'module' object has no attribute 'unittouu' "

Any thoughts? Could it be due to newer version than yours? If so any idea on a work around for it?



3 years ago

Hello there, it's a very good setup you have made there, I am making my project based on your hardware. Can you clear my doubts regarding your circuit diagram? The thing is I am unable to get what is connected to the power supply and secondly the connections of buck converter are also little bit confusing