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 :
It can engrave:
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!!):
--- SEE STEP 16 FOR LASER SAFETY GLASSES ---
Laser safety glasses 50 ˆ New total 100 ˆ
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
RULES OF THUMB
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.
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
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
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
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
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
I used GRBL 0.8c which can be obtained from https://github.com/grbl/grbl
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 http://www.ngcoders.com/downloads/arduino-hex-uploader-and-programmer/
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:
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
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
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 Y0This tells GRBL that the current position is the zero position.
X50 Y50This 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
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
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)
So Tl;dr :
I redesigned the lasershield from Groover.
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
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.
BE CAREFULL !!
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
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 +.nc. 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
Function Shortcut Select all Ctrl + A Group Ctrl + G Ungroup Shift + Ctrl + G Mirror (horizontal)
V 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 filesSoftware
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 BuildYourOwnCNC.com (link)
README please !!!!
Laserpointerforums.com - Thread about eye damages done by lasers
Safety glasses - Shops:
Survival Laser - Shop (US)
Step 18: Take it to the next step (Improvements - 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 Laserpointerforums.com 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)