Introduction: Frankenstein Laser Engraver

This Frankenstein Laser Cutter was built out of an old scanner and printer.
The whole thing evolved around the instructable of Groover and his 'Pocket Laser Engraver'.
This is a Making-Of. Although a lot, if not everything, of the mechnical construction requires ingenuity I tried to document the complete build process as much as I could. Every scanner and printer mechanics are different so this could not be used as a step-by-step guide. More of a "how it can be done"-guide. I try to cover the questions that could arise in the process of making.

I had absolutely no clue about electronics. All I knew was that RED is (often) + and BLACK is (often) Ground.

Therefore I have learned a lot in this project. Starting from mechanical stuff like self-replenishing brass bearings to electronical stuff like stepper motors and the difference between bi- and unipolar motors to soldering and etching my own board.

The work area is 270mm x 200mm. Just about right do cut some flip-flops for the summer.

It is able to cut :

  • foam rubber
  • tape
  • vinyl
  • paper (nearly every color but white/red)
  • several plastics (could require several runs depending on thickness)

It can engrave:

  • light wood (Balsawood/Poplar)
  • leather
  • bone
  • horn
  • plastics
  • some varnishes
  • blank cds/dvds (purple/blue)
The color is quite important. White and in general bright colors are hard if not impossible to work with.
Those colors reflect the red laser beam to much.
Red(ish) colors are a problem as well as they reflect all light in the red range spectrum.

The building costs (without mispurchase [easydriver clones were for the trash can]) is around 45-55 €.

Arduino(clone) 10 €
Easydriver x 2 20 €
Electronic bits and pieces 10-15€
Aixiz housing /w lens 6 €
Alu-profiles 5 €
------------------------------------- ----------
Total 46-56€

Well I forgot the Laser Safety Glasses (THIS IS A MUST!!):


Laser safety glasses 50 €
New total100 €

Build time with knowledge acquisition and waiting for shipping was around 4 month...
I am constantly updating this so be sure to come back from time to time for further improvements.

May, 9th 2013 : Updated Step 14 : The Laser diode (pictures and some focus hints)

May, 13th 2013 : Added Step 17 - Links and files section

Added Step 18 - Take it to the next step (Improvement - optional)
Updated BOM list. Now contains more stuff you need
May, 20th 2013 : Corrected mm/sec to mm/min ! Seconds would be very very fast.

June, 1st 2013 : Added Step 13 - Alternate laser driver shield (Easylaser Shield)
December, 4th 2013: Updated Alternative Easylaser Shield schematic/layout with the help of jduffy54.

Step 1: Indentifying the Salvage Loot

Before you go an a salvage rampage consider the following hints:

  • The older the printer the better.
  • The newer the scanners the better.
Scanner stepper motors are often superior to printer steppers. They do have more steps in general.

The newer the printer, the lesser is the chance of getting steppers out of it. 
All scanners have stepper motors. The older the more likely you are getting a unipolar stepper which we can't use in this project.


Identifing the parts of old devices is often a pain but I had luck with at least the scanner stepper. For the printer I had found a service manual. But this didn't helped me alot.

Scanner / X-Axis
The scanner is an old Tevion 2400 dpi scanner. Equivalent to a Microtek Scanmaker 5800.
The stepper is a 96 step bipolar stepper motor. It's description is NEOCENE 2T354207.
Do not believe anyone other that says this is a 100 step motor. It is not ! It has 96 steps. Not more not less.

I used the bed of the scanner as the basis of the whole construction.
The rail and the timing belt aswell as the sled which carried the photoelectronics is used.
Though the sled needed to be trimmed to give more space for the laser.
There is something special about the stepper. It has a 4 gears mounted on its foreplate.
The gear ratio is luckly negligible.
If you are still curious how to calculate a gear ratio have a look at this page.
It is in german but the math shown there is a universal language (or use the google translator)
The scanner stepper serves as the x-axis.

Printer / Y-Axis
The printer was an old Epson Stylus Photo 925.
The stepper I salvaged is oddly described in the Service Manual.
It says it is a  4-phase 48 pole bipolar stepper motor for 42V (??) but as it is a bipolar stepper there must not be 4 phases but 2.
Turning the shaft by hand and counting the steps I came up with 48 steps.
This motor (and plates for printer head) serves as the y-axis.
In the end I realized that the 48 steps or the motor itself are the weak spot in this built. It moves slower than the scanner stepper and clatters on the rod. No brass fittings here. Vaseline should dampen the negative effect.

Stepper motor specifications:
  Tevion 2400 dpi / Microtek 5800 Epson Stylus Photo 925
Phase   2 2
Step angel   3,75°/Step = 96 steps 7,5°/Step = 48 steps
Voltage   5 V 5-12 V
Current  ? ?
Resistance   5,5 Ω 7 Ω
Holding torque  ? ?

Later in the process I found out that both motors draw less then at least 300 mA.
The Easydriver V4.4 still has the bug with the silk print on it mixing MAX and MIN of the poti.
So in V4.4 they switched the print on the PCB but simultaneously replaced the poti with a reverse poti.
At least this is what I have read in some forums or the comments over at Sparkfun. 
Smart :)

So long story short:
The poti is set to a low resistance that means the steppers get a fraction of the current the Easydriver can deliver. Max 750mA per coil. The poti is set to roughly 25%. Just so that they dont scream in pain.

Stepper motor pinout:

On my journey through the endless deepth of the internets I often stumbled over question as how to get the correct pinout from the steppers. 
You just need to take a piece of wire and connect the pins. If you connect the correct pairs you should feel a resistance when turning the shaft of the stepper

Step 2: Scanner Massacre

As I guess you don't have the exact same old scanner and printer this step is more like a rough lineout of what needs to be done and what must be cared for in special. Different scanner or printers have different mechanics but all in all they have similar structure.
I reused the bed of the scanner and its slide that contained the photo-electronics. All the electronics and glass mirrors where removed. Use a screwdriver and wear protective gloves.

So in the end just the bare plastic remained and afterwards was cut into form to have a slightly wider space for the printer head carriage which later carries the laser module with fan.

Step 3: Printer Mayhem #1

This was the most tedious step in the whole project. Took me about complete 8 hours to complete with the help of an advanced craftsman (Father).

The plate of the printer which supported the print head and rod was excessively treated with my beloved metal saw.
I had to cut out pieces of the L-profile to get room for the stepper.

In the original printer structure there was a DC motor where now the stepper resides. Often (hopefully) the washer of the stepper, which is from the same printer, has the same spacing so it fitted nicely into the DC hole.

Step 4: Printer Mayhem #2

The rod on which the led the print head carrier had some decentered metal nobs on it. They could we easily removed by twisting them and pulling them off with a plier. They revealed very nicely centered metal tips.

I used two T-profiles and drilled holes in them. So I could just plug the tips from both end through and mount both profiles on the L-profile. This step needs to be precise as possible as later on the y-axis might drift off. This might distort the whole drawing/lasering process as the Y-axis isn't right-angled to the X-axis. Use a caliper is a must. Drawing by eye, too.

Step 5: Cabeling #1

Y-axis cables

As the motor moves with the Y-axis (obviously) I had to think about how to do the cabeling.
I used an salvaged 5-pin connector from an old mainboard and simply soldered it to the stepper motor wires. A 4-pin ribbon cable served as an extension to a little piece of stripboard which I mounted to the L-profile.
The stripboard is a "gateway" for all electronics on the movable Y-axis to the arduino.
I took the flat cable which used to be connected to the scanner sledge and soldered some female pin headers to it. Very crude job with room for improvement. If I would have been more cautious I could have soldered 8 pins to the flat cable but this is a very fragile task. You will see why later.

Step 6: Getting the Black Magic Stuff on the Magic Black Brick

To control the EDs you need to get grbl up and running on your Arduino.
I used GRBL 0.8c which can be obtained from
Scroll down to 'Downloads' and grab the 0.8c version. It is a precompiled hex file and can only be uploaded to the Arduino with an hex-uploader.
I used

To avoid the 'out of sync' error you need to modify the baud rate at whiche the uploader sends to the Arduino from 19200 to 115200. See picture.

To modify the pinout of GRBL you need to get the sources from above link and manipulate the file config.h and recompile it afterwards, of course. There you are able to relocate the pins as you like. This might come in handy if you use another stepper driver board.
To recompile type in the shell:

make clean
make grbl.hex

Step 7: Prototyping on Breadboard

Before making a PCB you actually want to try out if the stuff is working as you want it to.
So I put together all the electronics on a breadboard first. 
Only the motor part in this step.

In the top picture you can see that the Easydriver pins MS1 and MS2 are both connected to 5V. This means they are "pulled high".
The Easydriver is capable of doing mircostepping.
Microstepping means that the steps of the motor can be devided by either 2 for half stepping, 4 for quarter and so on.

A 96 step stepper motor can do with a eighth microstepping 96 x 8 steps = 768 steps.

MS1 & MS2 - low Full stepping
MS1 high Half stepping
MS2 high Quarter stepping
MS 1 & MS 2 high Eighth stepping

We want eighth stepping so both pins are connected to 5V.

The pinout from the Arduino is as following:

The steps/dir pins of the Easydriver are connected in the following manner:

Easydriver Arduino
X-Step        Digital 2
X-Dir            Digital 5
Y-Step        Digital 3
Y-Dir            Digital 6

For each Easydriver the pins MS1 and MS2 are conntected and are both on 5V. This tells the Easydriver to work in 1/8 stepping mode. The Easydrivers have a seperate power supply. Any 12V 600mA+ wall wart should work. Later on the shield the EDs are powered by the Arduino. As is the laser and the fan.

I took a short film from the running prototype. The Easydrivers can get quite hot. For continuously running them, a fan is required.
Ehem... The fan mount is a protoype as well...

Step 8: Calibrate

Before doing fancy stuff with the steppers they need to be calibrated. This is an essential step and must not be left out.
I have found a nice and explanatory video tutorial over at BuildYourOwnCNC

In generall it says you need to calculate the estimated step/mm.
From that point you move your desired stepper via gcode (x200 for example). Then you need to take the discrepancy and calculate your new step/mm until it moves the exact range you commanded. But see the video for more information ans some math. 
I suggest to create an excel sheet to save you some headache. 

You can use every kind of terminal tool to communicate with grbl. I used CoolTerm.
I guess you know how to load a terminal and connect to your Arduino.

In the picture you can see my current calibrated data.

Step 9: First Contact

To communicate with (and send gcode to) the Arduino and its stepper drivers there are several solutions.
You could check the GRBL Wiki. Scroll down and you'll find plenty of software that deals with GRBL and Arduino.
There are even some nice GUI tools. Nevertheless I used Groovers Gcodesender. Can be found on Groover's Pocket Laser Instructable (Step 7).

Go ahead and try some g-code commands.
Get your steppers in the correct starting position before powering them (e.g. zero position) and type

G91 G28 X0 Y0

This tells GRBL that the current position is the zero position.

X50 Y50

This moves the 'spindle' to the absolute position of X50 Y50

G01 X50 Y50
this would move the spindle 50mm on the X and 50mm on the Y-axis from whatever position the spindle currently resides. This is the relative positioning.

For more information on gcode commands, check the wikipedia page (link).

Step 10: Mt. Laserdiode

To mount the laser diode (or a pen for first use) the print head carriage needs to be modified.
I found those cover plates from a desktop computer quite nice that cover empty PCI slots. Besides, one cover just happened to lie in my line of sight. Poor thing.
Somehow I managed to bend, saw, drill and screw the plate to the carriage. Just be creative in this step and keep the precision up. Precision in building is your friend but can be your worst nemesis once you neglect it !

The carriage was not in a 90° angle to the scanner bed. Luckily a a little nut saved the day.
Before that I found a little pulley that used to hold the tape in a walkman. I installed it but realized it bumped against the x-axis rod. Had to remove it. But it is definitly worth to keep for later improvements.

Step 11: Etching the PCB

NOTE: I added an alternate laser shield. See step 13 for information and Eagly CAD layout.

After I managed to get my prototype breadboard running successfully some sample g-code I went on to create a PCB.
Never have done such a thing before but I am a  chemical laboratory assistant and chemicals do not raise fear in me.

Again I used Groovers lasershield layout. It comes in EagleCAD format.

I mirror printed the layout on ordinary paper and glued it to a photosensitive copper board and used my dremel clone to drill the holes. As I do not have a fancy exposure timer I took some alcohol and removed the protective varnish.
With a overhead projector pen and a ruler I traced the layout by hand. This pen gave a very nice shiny trace.
I also tried to use a thin permanent marker (acid-resistant / Edding 400 in Germany) but the result was a thick ugly line.
Although with the overhead pen I just needed to draw the trace once and not several times to get a nice coating.

To etch the layout I used Fe(III)Cl. Don't like the other stuff that is available. They could vaporate, they stink and stuff that contains peroxid can explode when kept in sealed bottles. So Fe(III)Cl is the most convenient solution to store and dispose.

Nevertheless : !! Don't pour it down the drain !! It is going eat your drainpipe if it is made from copper and it will definitely kill all the little usefull bacteria in your local sewage disposal facility.

Step 12: Laser Shield

I do not know how to solder the pins (that connect to the Arduino pins) from the wrong side so I just placed them on the top side of the PCB and pushed the tips through.

To safe some time I wrote on the PCB were the parts for the laser driver should go. Side note: for test runs without laser you can leave out the circuit for the laser for now.


Part     Value          Device            Package        Description           
VR05R051 RR1A           RR1A              RR1A           RELAY
C1       0,1uF          C-US075-052X106   C075-052X106   CAPACITOR
C2       47uF           CPOL-USE2.5-5     E2,5-5         POLARIZED CAPACITOR
D1                      DIODEDO-1N4148    DO-1N4148      Diode                                 
D2       SA15A          ZENER-DIODEP1-Z12 P1Z12          Z-Diode                             
FAN                     W237-102          W237-102       WAGO_SCREW_CLAMP                      
IC1                     LM317TS           317TS          VOLTAGE_REGULATOR                     
J1       J30MM          J30MM             30             Bridge                              
JP1                     PINHD-1X2         1X02           PIN_HEADER                            
JP3                     JP1E              JP1            JUMPER                                
LASER                   W237-102          W237-102       WAGO_SCREW_CLAMP                      
R1       3,9            R-US_0414/5V      0414V          RESISTOR
R2       2K2            R-US_0207/10      0207/10        RESISTOR
R3       51             R-US_0414/5V      0414V          RESISTOR
R4       1k             R-US_0414/5V      0414V          RESISTOR
R6       500            TRIM_US-S64W      S64W           POTENTIOMETER                       
SV1                     MA04-1            MA04-1         PIN HEADER                          
SV2                     MA04-1            MA04-1         PIN HEADER                          
T1       2N2222         2N2222            TO18           NPN TRANSISTOR                      
U$1      EASYDRIVER     EASYDRIVER        EASYDRIVER Easydriver v4.4
U$2      EASYDRIVER     EASYDRIVER        EASYDRIVER     Easydriver v4.4
U$4      ARDUINO-NOHOLE ARDUINO-NOHOLE    ARDUINO-NOHOLE Arduino Diecimila/Duemilanove/Uno
I have also included an exported shopping list from my electronic merchant as it is sometimes a bit daunting looking up all the parts with different descriptions.

I did order the wrong relay from my electronic supplier so I ripped apart an old pc power supply I found in my electronic chest of wonderments. I am actually quite glad I keep alot of the "old stuff". Most of the electronics are still working. I rather keep them instead of making the recycling depot happy. They sell it to Africa as "2nd-hand" which is not realy the truth. 
Hence I have build this laser. Show people that "the old stuff" is no junk. In the right hands it is as precious as real money.

NOTE #2 (important):
When connecting the Arduino with installed board be sure to connect the external power supply FIRST.
I noticed that when connecting the Arduino to USB first with out power supply the motors start to scream. This does not sound healty. Remember the movie "Screamers" ?

Step 13: Alternate Laser Shield (Easylaser Shield)

The Lasershield by Groover is great but I found some things that didn't satisfied my style of operating the laser.
  • The laserhshield isn't capable of switching the microstepping modes for the stepper motors.
With DVD stepper motors he used there was no need to do so but when using different motors from different devices this can help to drive those motors correct.
  • The relay that controlled the laser to turn on and off I wasn't very happy with, too.
  • And lastly the wires from the drivershield to the laser diode were too long. Putting the driver next to the laser would be better I guess.

So Tl;dr :

I redesigned the lasershield from Groover.
  1. Removed the laser driver circuit - Replaced with a terminal clamp to attach a ready made laser driver. I got mine from AixiZ at ebay (link).
  2. Added jumpers beneath the Easydrivers to set the microstepping mode.


User jduffy54 was so kind to fix the easylaser shield. I updated the Eagle Schematics and Layout. The jumpers to adjust the microstepping mode should now work as intended.

Step 14: The Laser Diode

The laser diode I used here is pretty strong. Aimed at 300mW this red laser is a Class 3b laser which means goggles must be worn at all cost.
You will get pinkeye and a cataract. It is not like with smoking were you could possible get cancer. No, looking into the beam will definitly get you a cataract. Even the scattered light the diode produces when bouncing of surfaces is stronger then directly looking into the sun. You don't want to risk you sight. Period.


The laser goggles should filter 600-670nm (OD4+). Those glasses are not cheap but your eyes are precious !
OD4+ means that it does filter 10^-4 of the incoming (red) light.
300 mW * 10 ^-4 = 0,03 mW.

Laser diode pinout:
The first thing to do when having stripped the diode from an old DVD Burner or got it from the internet is to get the polarity of it.
I just took 2 AA batteries that were in a case with + and - and tried the pins of the diode until it lits up.

Laser diodes of this type are placed into an aixiz housing with heatsink. They often come with a focusable plastic lens. Glass lense are better as they give you about 10-20% more efficiency.

Adjust the power of the laser diode:
Before we want to hook up our laser to the circuit we want to adjust the "power" it will get.
With the blue potentiometer this is easy to do.
The red DVD burner diode can handle just about 300mV (respectively 300mA - with a load) but then I don't know how long it will last.
If you want to increase the lifetime you may want to reduce the voltage the laser diode gets to around 200mV (respectively 200mA - with a load).
Anyways keep your eyes on cheap or donated DVD burners. Sometime the local recycling plant has some of these pearls in their trash. Kindly asking the service personal may get you fresh meat for your laser grinder.
You don't want to adjust the power of the laser diode with the actual laser diode. Sounds strange but we will be using a so called dummy load.
A dummy load is placed in the circuit instead of the real diode. It acts as a load and you can steadily increase the power while measuring the voltage without damaging the precious salvage diode.
In the picture above you can see such a dummy load. This one simulates a red laser diode. If you are going to use a blue laser you simply need 6x 1N4001 diodes.

  Red laser diode dummy Blue laser diode dummy
1N4001 4x 6x
1 ohm Resistor 1x 1x
Again use your breadboard and put the diodes and the resistor in series. On the resistor I measure the voltage. It doesn't matter on which side you place the resistor. Set your multimeter to 2000mV and put it to the resistors' ends. Connect the laser pins from the lasershield to + and - on the breadboard.
Load up gcodesender or your terminal of choice and connect to the Arduino.
Send the command "M3" (Spindle/Laser on) and you should get some value on your multimeter.
Turn the potentiometer on your potentiometer clockwise untill it reaches the desired voltage e.g. 300mV. This corresponds to the mW the laser diode will get.
CW = increase voltage
CCW = decrease voltage
Send "M5" to turn off the laser.

Focusing the laser:
To focus the diode I first turned the lens until I got a very small dot on the wall. Then I tried to light a match.
To get a "rough" focus I taped a ruler to my desk with the laser housing at 0mm.
A black sheet of paper (thicker paper like 450gr photo carton) was placed in front of the laser and moved until it burned.
You may need to play around with the lens and the paper distance. 

To do the fine adjustment I proceeded similar again but this time I estimated the time it took the laser to burn a hole through the paper. This way you get very close to the perfect focus of the laser.

Step 15: Inkscape

Defining the area:
In Inkscape you need to set the dimensons of the working area. To do this hit:
File - Document Properties
and change the page to your size

One thing to know before starting the cutting mayhem.
How to get g code for your models.

My weapon of choice is Inkscape with Groovers modified Gcodetools (Metalevel 8).
Inkscape can be downloaded from their page.
Groover'g gcodetool is available on his Instructable.

The drawing needs to be mirrored before creating the gcode.
If you just plainly select all and mirror it, it could give you a strange output inside Inkscape
so before mirroring, select all (Ctrl + a) group everything (Ctrl + g) and mirror it ('h').
After it is mirrored ungroup everything (Ctrl + Shift + g) and convert everything to path again (Ctrl + Shift + c).

The gcodetools need to be copied to "...\Inkscape\share\extensions". 

To get the gcode I always do these steps:
1.) Ungroup all your objects (maybe need to do it twice)
2.) Strg + a (select all) - Path - Object to path
3.) Sill selected all -> Extensions - Laserengraver - Laser
4.) Under "Preferences" insert your output folder
5.) Switch back to "Laser" tab.  This is important !!
6.) Enter your desired speed. This can be overwrite with Groovers Gcodesender later.
7.) Enter filename  Hit Apply. Done
8.) Fire up gcodesender. Connect to your Arduino. Load the .nc file. Set speed if desired.
9.) Put on goggles. !!!
10.) Hit "Print"

Inkscape cheat sheet

Select all Ctrl + A
Group Ctrl + G
Ungroup Shift + Ctrl + G
Mirror (horizontal)
Convert object to path Shift + Ctrl + C
Align dialog
Fill / Stroke dialog
Shift + Ctrl + A
Shift + Ctrl + F

Step 16: Igor !! IT'S a LIVE !!!

Just some cuts and engraves.

The rocket model is from elabz.
He has some nice models on his website, too.

Here are some settings for cutting and engraving different materials:

Craft foam - 2mm - black - 75 mm/min

Balsawood - 1 mm - the dark lines were engraved with 50 and afterwards with 10 mm/min. The outer rings were drawn with 100 mm/min.

The calculator case was engraved with around 75 mm/min.

I have been a EvE player for nearly 8 years so this is my tribute. The blue sculpture is a spaceship called "Caracal / Cerberus" (Copyright @ CCP Games)
The model was sliced with Autodesk 123D Make Software

Step 17: Links and Files

Arduino Hex file uploader - used to upload the grbl hex file to Arduino (link)

GRBL - gcode interpreter for Arduino (Atmega328 compatible) - In this tutorial version 0.8c is used (link) / Wiki

Inkscape - open source vector drawing tool (link)

Gcodetools - Inkscape plugin to generate Gcode from vector drawings
modified Groover version (easy and fast) (download)
original Gcodetools (complex) (link)
Gcodesender - tool to send Gcode from PC to Arduino - by Groover (download) / (source)

Lasershield PCB layout - made by Groover (download)

EagleCAD - PCB layout tool - free version available (link)

Autodesk 123D Make - 3d model to sliced objects (link)

Gear ratio tutorial (link)

Stepper motor calibration video tutorial by (link)

Laser safety 

README please !!!! - Thread about eye damages done by lasers

Safety glasses - Shops:
Survival Laser - Shop  (US) (Germany)

Step 18: Take It to the Next Step (Improvements - Optional)

This steps are optional

Since I finished the Frankenstein Laser Engraver I did alot of engraving and made some improvements on the build. Or at least what I think could improve the whole machine. 

1. Replaced working surface
The back of the picture frame looks nice and does not get burned to strong by the laser. 
But fixing work pieces requires tape. Don't get me wrong. I like tape. Especially duct tape :) but there is a better solution.
I took the side panel of an old metal PC case and cut out a piece to fit on the scanner ground.
Using neodynium magnets helps fixing your work piece.
Especially harddrive magnets are usefull as they are strong and have a metal plate attached. I found some from old harddrives with 3mm and 4mm thick magents. Just perfect to hold different wood thicknesses.
However if your motors are not well shielded these magnets could cause interefences with them.

2. Shielded cables
I realized that when putting the cables from the motors and the laser to close together EMC troubles can occur.
Re-lay the cables in 90° to each other (motors / laser) minimizes these troubles. Anyway I stumbled over some old USB cables.
Those are often shielded (thick ones) and have 4 wires. The diameter of the cores are not perfect but should work okay.
In the picture where the pins are soldered to the wires I left out the shrinking tubes as it was too much of a hassle to solder the wires to the pins. I later on cut fitting shrinking tubes and sliced them on one side and slid them over the wires.

3. Case for the hardware
I found a site that offers a script to generate nice boxes that can be cut out and put together using box joints. This laser is by far to weak to cut wood but it can engrave it pretty good. I hammered in the dimensions of my desired box and got the pdf to download.
In Inkscape I realigned all the pieces to use the space more efficiently.
With a fine wood saw I sawed the vertical lines and used a jigsaw to do the horizantal lines.
I drilled some holes for ventilation and the cables and put a small PC (southbridge) fan on top of it.
One thing is important. The fan might cause interferences with the Easydrivers so they could loose steps or stop in the middle of the process. It is therefore important to place the fan in a secure distance to the motor drivers.

4. Laser diode replacement
Typically laser diodes found in DVD burners are Small Closed Can-Types. Those should not exceed a current of 300mA.
I have found some interesting threads over at that talk about cheap red laser diodes.
So a good alternative would be the LPC 826 red laser diode. It can be nicley driven at around 300mA. Combined with a glass lense which delivers more optical power to the work piece would be a great improvement. 
Those laser diodes are 11$ / 8,50€ (free shipping) and might be worth it.
(eBay link to LPC 826 diodes)


casvandegoor made it!(author)2014-10-05

It's alive! :)

fletcherjeremiah made it!(author)2014-06-26

Good instructable! Thanks for all of the details.

elabz made it!(author)2013-05-02

Nice project! The scanner base gives a very nice area to work with. I've dabbled with DVD-RW based laser engravers/cutters (a lot) and their 1.5"x1.5" (38mm x 38mm) workarea is quite a limitation - I'm sure having 270mm x 200mm is quite liberating!
What are the accuracies you are getting with this setup (96SPR + pulley) - what diameter is the driving pulley and how close are you able to get to the max resolution with EasyDriver?

ianmcmill made it!(author)2013-05-02

Having such a big work area is really quite nice !

I am getting an accuracy of 1/10mm (0,0039"). The x-axis driving pully (scanner) is 9,1mm in diameter(0,358"). The y-axis pully has 6,4mm diameter.
For the resolution, the scanner stepper with 96 steps does very well with 1/8 stepping. The printer stepper is running in 1/8 stepping as well but as it moves the motor doesn't sound very "clean". Actually it has a nice accurarcy of 1/10mm, too. But 1/4 stepping would be better I think. Another option would be to replace the stepper with another, bigger (in number of steps) stepper motor but I havn't found any good replacement (slavage) by now. I am learning something new everyday and things get clearer the more I read and try.

elabz made it!(author)2013-05-02

I'm coming up with (9.1mm x 3.1415)/96 = ~0.29mm as the max resolution for the scanner motor with 9.1mm pulley in full step mode. I am curious if you're able to increase that by using 1/8th microsteps. Did you measure 0.1mm?

I've done such measurement before by cutting a line at a very acute angle. Say, you want to cut a line along the Y axis but have the X at the beginning to be 1mm off from X at the end. Doesn't matter, 1mm more or 1mm less, just has to be off. The longer the line the easier it will be to see the accuracy. Once you cut the line, you should be able to see quite clearly 10 saw-tooth like regions that break the straight line (hold it toward a light source to see easier)  if your accuracy is 0.1mm, 5 teeth if you accuracy is 0.2mm, 4 teeth if 0.25mm and so on.

I've done it for DVD-RW steppers with the stock 3mm pitch lead screw which in theory should have 0.15mm resolution (3mm/20SPR =  0.15mm per step) and I cannot see any improvement whatsoever in any of the microstepping modes. I've also played with the current setting of the EasyDriver - nothing I did could create any better resolution than what's available in full step mode. I chucked it up to my stepper being overloaded. I wonder if you get any different results from yours.

By the way, I actually found 0.15mm accuracy to be quite bad for my tiny cutter. The details I would want to cut were so small that I needed them to be extremely accurate and 0.15mm just didn't cut it (pardon the pun). See if you can cut yourself a tiny 1:212 scale  model of Lockheed P-38J Lightning from here out of 3mm craft foam - it only holds together without glue if the accuracy is better than approx 0.05mm. Same with the tiny rocket model there - if it holds together, it's at about the maximum resolution that you can get from this laser cutter. It will be really difficult to  focus the laser into a spot less than 50 micron anyway.


ianmcmill made it!(author)2013-05-03
Okay trying this one but I think the printer stepper is the crucial point or it's microstepping mode. I did the rocket you coded on your page and I needed some glue to hold it together.

you should be able to see quite clearly 10 saw-tooth like regions that break the straight line (hold it toward a light source to see easier)  if your accuracy is 0.1mm, 5 teeth if you accuracy is 0.2mm, 4 teeth if 0.25mm and so on.

You mean like "M3 X100 Y100". Cutting a diagonal line ?

elabz made it!(author)2013-05-04

G1 X1 Y100

I think this would be the right Gcode as interpreted by Grubl (if M3 turns the laser on, M4 off). In other words, the X travel should be minimal, ideally 1 mm.

I don't know idiosyncrasies of Grubl's processing of the Gcode. Perhaps the construct you gave will work but even then it would read as
M3 X1 Y100


ianmcmill made it!(author)2013-05-06

I had a chat with elabz and here is the result of his Gcode from above

Top lines show the accuracy of the Y-axis.
Bottom, that of the x-axis. The x-axis is pretty clean so far. But the y-axis lacks accuracy for now. Switching the stepping mode could help. Or some dumpster diving.

ianmcmill made it!(author)2013-05-06


ianmcmill made it!(author)2013-05-03

(9.1mm x 3.1415)/96 = ~0.29mm as the max resolution

Ah okay now I understand what you mean by 'max resolution'. The more I think about it, the more my "measured" accuracy cracks. I measured it with a ruler that has 0.5 mm steps (0,01968 inches) and I just estimated this 0.1mm.

GabrielB145 made it!(author)2017-03-09

hello can someone help me to wire this module laser and driver to my cnc machine? i have the laser module and laser driver but i don't know how to wire to arduino uno. look the pictures please. if someone know how can i make it please i need a wiring diagram

BenediktK7 made it!(author)2017-02-21


does the laserdriver works with a 1w laser too or did i havet o make some changes for it?

sturific made it!(author)2017-02-17

good work

andreas.log.borge made it!(author)2015-06-09

Why does 200mV over the 1 ohm resistor make it so the laser is <200mW ? I tried to calculate it using ohms law but that did not work at all somehow. I got
P = (200mV+4*0,7V) * (200mA) = 0.6W = 600mW. Do you have to calculate the rms value instead and divide by sqrt(2*pi) ?

SoccerDadof22 made it!(author)2015-10-22

Agree. In the picture, the current is passing through 4X diodes (each with a forward voltage drop of 1.0 - 1.1V). It also appears that the supply voltage is from the Arduino at 5V. Not sure why the 4X or 6X diodes...why not a resistor, potentiometer, or use the PWM function of the Arduino to give you the ability to adjust the laser strength in the text file.

ianmcmill made it!(author)2015-10-22

I don't know what I am doing there but I found this setup somewhere on the internetz. And then it must be true. Anyways works for me :)

Also I switched from this driver to a ready-made driver board you get from Aixiz for 5$.

dankozi713 made it!(author)2016-08-28

Awesome, Awesome instructable!

I have a question regarding the Aixiz driver. Did you use that same 4X diode dummy load circuit to set the potentiometer to 300mA on the Aixiz driver? And if so, How? I have been trying this and can only get to maybe 130mV on my multimeter before addition turns on the pot drop the voltage like a rock only to increase again to a max of maybe 130mV. I have even reached out to Aixiz about this problem and they sent me a replacement driver saying that that was odd that I couldn't reach the full 500mA they quote. The replacement had the same issue. I have the Arduino Uno driving the driver when I test it and I have pin 12, GRD and the 5V going to it. Any help would be greatly appreciated. I'm so close to my own laser engraver!!!

StuartB44 made it!(author)2016-04-25

You dont need to connect Easy Driver pins MS1 and MS2 to 5V.

The default setting is 1/8th stepping.

Quote from Easy Driver website:

The Easy Driver is able to operate in 1/8th, 1/4, half, and full
step (2 phase) modes. These four modes are selected by the logic
levels on the MS1 and MS2 input pins. Normally, the pull-up
resistors on the Easy Driver hold MS1 and MS2 high, which results in
a default setting of 1/8th microstep mode. You can pull either
or both to ground to select the other 3 modes if you want.

StefanoG made it!(author)2016-04-04

Hello, you thought to add a Lcd display i2c 16x02 to the machine?

Thanks, Stefano

suturb made it!(author)2016-03-02

Hi all, i have a similar laser (2.8 w, 450nm) engraver but I'm slightly worried about the safety. It came with goggles but im not sure whether they suffice.
Is an indirect beam of this laser dangerous?
Which type of material wouldn serve as a good safety screen for such a laser?
Thank you! *

mkarvonen made it!(author)2015-11-11

This is something i have been looking for! I think about upgrading my 3D printer with laser cutter and this is just what i needed!


Hello this is very nice project i like it and now i try to make it i read and make step by step. But have a problem i upload 0.8c hex file on my arduino but with default settings how to change settings like yors. I want to make like yours settings because i take printer and scener liker youra model. Or if is possible to send me file will be great for me. Thanks in advance.


Hello this is verrt nice project i like it and now i try to make it i read and make step by step. But have a problem i upload 0.8c hex file on my arduino but with default settings how to change settings like yors. I want to make like yours settings because i take printer and scener liker youra model. Or if is possible to send me file will be great for me. Thanks in advance.

EstebanK1 made it!(author)2015-10-25

what program you use to draw?

andrea+biffi made it!(author)2014-12-19

Ian, have you seen this?

ianmcmill made it!(author)2014-12-19

Also for 129$ I would not expect to have the laser glued with a hot gun to the sled.

JohnR122 made it!(author)2015-10-23

yea mate I bought one of them its pretty limited as to what it will do, the unit dosent work at the moment some thing stuffed up in the board some where and it hasnt done a lot of work as for the hot glue well at least you can reglue it easy the base board has fallen off a couple of times but it works

andrea+biffi made it!(author)2014-12-19

LOL I thought the same!

ianmcmill made it!(author)2014-12-19

Woah 129$ including safety googles. My safety googles were already 60$. Anyhow looks nice and once again proves that no one can beat chinese pri....wait they used my picture !

Should I know feel honored ? Actually all of their sample cut pictures are downloaded somewhere from the internets. Doubt the T-Rex fits on the working surface.

Thanks Andrea !

laith+mohamed made it!(author)2015-10-22

Very good work .

laith+mohamed made it!(author)2015-10-22

Very good work .

blabbersnitch made it!(author)2015-10-22


Having made a Groover-based laser engraver of my own, I like to see how others go about it too. I really like how you have used the printer/scanner to increase your work area. Well done.

I thought I would add a few things I have found in playing with my engraver.

I use the LPC826 laser diode. I believe that was the LD that came in the DVD burner I hacked up. After I zapped it by not treating it well, I bought some online. I have been driving them at about 380mA for a while. They seem to be quite happy there.

I found that when I thought my laser was best focussed with the smallest dot, I was wrong. I did some tests where I would repeatedly try to cut a shape from foam and incrementally raise the laser each time. The best cutting at the highest speeds was not where I thought it would be. I think that although the laser 'dot' at that height was larger, the tiny center-point was better focussed.

Another thing I did was have a steel bed (like you). I drew up a grid in Inkscape the same size (approx) as my work area and saved it as a template. I then covered my steel plate with white masking tape and burned the template into the tape. Now I can position things accurately before engraving or cutting. (To burn the template into the masking tape, I laid down a piece of black paper for the laser to burn through, otherwise the white tape would not burn). I only burned small crosses at the grid crossings. If you burn the grid lines you will get a whole heap of little black paper squares that will move as you cut and stuff things up!
Also, you can set the grid as a separate layer to your designs in your Inkscape file, so when it comes to converting to code, you first hide the grid layer.

JaydenLawson made it!(author)2015-10-22

Wow save $2000+ from buying the and build your own!

jshelton8 made it!(author)2015-10-22

I see you cut Vinyl , Warning do not cut vinyl with any laser as it omits a toxic gas.

ianmcmill made it!(author)2015-10-22

Yeah smelt pretty hazardous. Don't do this!

jamesi3 made it!(author)2015-10-22

Me and my friend are planning on building this for a senior project and maybe building some for us as well as long as we get the first one working. Would you be willing to videoconference or email with us or something so we could talk about techniques? We would really appreciate it. I am a bit rusty with pcb's but i have all the most common electrical components and a couple spare arduinios laying around, and plenty of tools available. I have several areas i can check for the stepper motors, and the other parts. Your instructable is fairly clear but i just want to make sure we do this right the first time. It's hard to be the salvage king I am because my parents don't like clutter. If the first one or two work we will be donating them to our school to work in tandem with the 3d printers they have but then we also want to make our own, so hopefully we can get the first to work. My phone is currently broken because my cousin ran it over in my 3/4 ton truck but i still have skype, email, and a webcam with audio so whatever works for you! I live in NM currently.


Kirand1 made it!(author)2015-10-21

Great work dude great project !!!

kambizdehghani made it!(author)2015-08-18

hi,thank you so so much for nice job.i make it and now i have a
problem.i can not Conversion my picture to g code .please give me a
softwar for Conversion any picture to g code and sending g code to my

please tell me how i can conversion text to g code with inkscap softwar

suckerp made it!(author)2015-08-02

just wondering would this work on the uno r3 version of arduino as thats the one i have and also different driver too i also have a laser driver my mechanical setup is almost the same as yours but my electronics are all different will this make much of a difference in getting it to work


Jdukate made it!(author)2015-06-26

when I hit ratnest on eagle the entire image turns blue apart from the traces and then the holes don't show up either. am I doing something wrong?

dapiguy made it!(author)2015-06-07

Can you provide a link to where you bought your laser driver? I'd really appreciate it.

MichielD99 made it!(author)2015-03-02

Excuse me for my dumb question but why can't i just use a relay to power the laser?

wainwrightdesign made it!(author)2015-02-24

This is by far the most comprehensive and best tutorial on the subject of laser cutters on instructables!! Good on ya! I'm just learning about this and wow, am I glad I found this tutorial.

NURKABIL made it!(author)2015-02-03


what the type of laser can i use

i want to know if the laser removes the powder coated paint from the surface of the Zippo Lighter to reveal the bare brass metal underneath.

like this video on youtube

ianmcmill made it!(author)2015-02-04


I managed to engrave a vanished metal sheet of an old PC case with my diode.

The result from that shown in the video may vary though.

NURKABIL made it!(author)2015-02-04


can i see The result from a vanished metal sheet of an old PC case with your diode

ad image pleas

MarkL9 made it!(author)2015-01-24

I don't understand how the laser diode can stay on for so long. Normally laser diodes die after 10 minutes if only cooling is simple heatsink.

soilwork made it!(author)2014-12-31

i'm trying to make somethin some similar with my small desktop cnc, and this my first question , how do i adjust the lense , just an error and trial ?. i'm talking if there's a way to get an optimal result on laser wood burning, i bugth a 1w 445nm blue laser

RenalsH made it!(author)2014-11-21

Almost all of the motors I am reclaiming are 5 wire steppers. Is there a way to make those work for this with the easy driver? Sorry but this is my first Arduino project.

KrisCross93 made it!(author)2014-03-04

Hi, I'd like to make the lasershield, but can't find the download for the fixed version. What exactly is wrong with your orignial layout?

Cheers Kris

About This Instructable




More by ianmcmill:Things to build out of CD/DVD-DrivesBuild your own 3d printer filament factory (Filament Extruder)How to repair your worn out solder tip
Add instructable to: