I have been trying to get my hands on a laser cutter for some time but they always seem out of reach. All the great things that can be done with a real laser cutter tickle the imagination.

I feel it's time to share my latest project - a low cost laser engraver,. The workspace is a bit small but none the less it works and comes so cheap that most will be able to replicate the result. I did take a few shortcuts, as I feel I don't have the knowledge to do all the electronics I opted for readymade but low cost in favor of trying to make my own (and most likely fail). All parts used are however easy to find.

I am pleased with the end result even if there is room for improvements. The small size and low power is a bit limiting but I have made allot of fun things already. Paper cutouts, plant markers and stamps among some. The engraver itself might not fit in a pocket but the workspace limits what you can do with it to fit in the pocket.

A word of warning is in place . This instructable is using a ~200mW red laser. It might nut cut through chunks of wood but it will make you go blind if you are not careful. Never look into the beam, even reflections can be dangerous if focused. Please be careful.

Step 1: Acquire the parts.

Most of the hardware comes from my junk bin. The aluminum profiles, the piece of MDF and various nuts, bolts and wires. But some things need to be acquired. Most of the electronics can be found over at Sparcfun and the rest on e-bay or a swap meet.

- Arduino - this is the heart of the control electronics.
- Easydrive - stepper driver.
- Two DVD-rom drivers - Maybe more if you’re unlucky, and at least one DVD-R to salvage the laser from.
- Laser housing - singles can be found on e-bay.
- Laser driver - There are lots of alternatives here, I use a simple LM317 based circuit.
- Various nuts, bolts and other building materials.

Step 2: Rip apart the DVD-Roms.

All you need from the DVD-Roms are the stepper motor assembly and one laser diode. I had a bit of bad luck and found that one of my DVD-Roms had a plastic assembly that would be very hard to work with. Thus I ripped apart three DVD-Roms and only used parts from two of them. It is pretty strait forward and most DVD-Roms I have opened works more or less the same way.

After removal of the screws at the bottom of the drive you can lift it of like a lid. Underneath you will most likely find two circuit boards and none of them are any use to us. But remember to salvage other useful parts that can be used for other projects. For example under the front circuit board there is a small dc motor worth saving. This is when it is time to remove the front together with the front of the tray; the front comes loose after you pull out the tray (just use a hairpin and the small hole in the front). The next step can include some screws and/or mild force. Remove the two circuit boards. Be careful with the ribbon cable to the stepper motor. If you turn the DVD-Rom right side up and remove the cover, you should find what we are looking for, the stepper motor assembly. Remove the screws and just lift it out.

Now that we have the assembly out it needs to be cleaned up a bit. Remove the spindle motor, it could be useful but I feel they are hard to drive and thus don't keep them. They are usually hold in place by three very small screws but sometimes they are part of a larger assembly so be careful that removing it won’t compromise the two rods holding the lens.

The lens is another story, just remove it best possible way, we need a smooth surface to attach other parts to later. Be careful to not harm the DVDR laser diode. It can come to good use if you don't want to buy a new powerful laser later. See the next step.

Step 3: Putting a laser together.

There are so many good instructables on this subject, I will just make this part a quick one and let the pictures do most of the talking.

Removing the laser from the DVDR is not hard but most lens assemblies look different. Locate the diodes (there will be two, one IR and one red) and remove them from the assembly. There are some optics and two magnets that can be saved for future projects. Once you have removed the two diodes you must be careful. The two diodes are very small and fragile. Remove the small connecting PCB strips from the diodes and use two AAA batteries to check for the red diode.

Now that you have the bare diode it is time to mount the diode in the housing. Place the diode in the housing and use the back of the housing to press down the diode very carefully using a vice. When you get this far you are on the home stretch. Solder the wires to the positive and negative pins, screw in the lens and you are done.

Step 4: Construct the mechanics.

To make this as easy as possible I got hold of a piece of MDF just a little bit larger than the DVD-Rom stepper assembly. This will work as the base to hold both the X and Y axis. I found some spacers to hold the Y axis but bolts with a couple of nuts would work just as well. The measurements here are not critical but it is important that every axis is square to the other entire axis. I found that mounting the first assembly level with the MDF would make it easier to align everything.

The workspace is mounted on the old laser diode assembly. Make sure it is flat and level then glue something on that will serve as workspace. I found a piece of 1/4" acrylic that worked out just fine. It made this workspace stable enough but as the laser can shine through it I was not sure if this would be a security hazard or not. Later I found the solution I think works out for the best. I cut a piece of the DVDR metal case to the same size as the acrylic and glued it on. This way it still very stable and you get a workspace that will be tough. One positive side effect is that you can secure whatever you are engraving with small magnets.

For the X axis I found some aluminum profiles in my junk bin but just about anything could be used as long as it is stable. Measure the height you feel will be right for what you want to engrave. I opted for 7.5" long pieces for the support. This would give me a little under 2" clearance.

One important thing, the mounting holes on the assembly are not symmetrical. Be sure to measure the distance from the bottom end of the supports to the linear guides. That way you will be sure to get everything aligned. Where you mount the X axis will be dependent on the laser mounting. The laser should be in the center of the work area when the Y axis is in the middle position. When you mount the axis to the base plate drill a small guide hole for the screws after you made sure that everything is square.

Now you should have the X and Y axis done and square to each other.

The laser mount does not have to be very sophisticated, mine is made from a small piece of plastic sheet and a clip then everything is glued together. Using a clip to hold the laser lets me change the focus point by simply slide the laser up and down. As with all other parts the size is not that important as long as everything is square. There are just one measurement you need to think about here, the laser should be in the center of the work area when the Y and X axis is in the center position.

Step 5: Electronics

I started soldering the steppers. I used a ribbon cable to connect the steppers and solder them to the existing connections from the DVD boards. On the other end I solder a four pin header so that it could be used with a breadboard. The same thing goes for the Easydriver, solder pin headers and use them with the breadboard. Ribbon cable can be found in abundance around old computer shops and service centers. All those old disk drive cables can be of good use.

In the schematics I have added a relay for use with a fan. This can come in handy as the engraving produces some smoke.

The Easydriver have two pins called MS1 and MS2, these sets the step sequence. Tie them both to the five volt output from the Easydriver. This sets the step sequence to micro stepping . The four pins from the stepper connect to the motor output. All steppers I have found have all had the same pinout on the small connecting PCB. Connect the pins in the same order to the Easydriver as on the connecting PCB. The control pins (step, dir, gnd) goes to the Arduino. Besides this the Easydriver needs motor power connected. I use a twelve volt wall wart that drives the motors, fan and Arduino. There is a potentiometer that controls the power to the motors, I just set this to the lowest setting and turn it up a tad if the steppers don't have enough force. I don't know the rating on the steppers, if they gets to hot you’re driving them to hard.

The fan just needs to be connected to the fan output. A small computer fan works well, just connect the positive and negative leads to the correct output.

The laser driver is an LM317 based circuit with no specials. This will work fine but it is far from optimal. I am driving the laser diode far too hard at about 300mA and if you do that you can’t expect a very long life for the diode. The best solution would be to find a stronger laser and better driver but to keep to the spirit of things I wanted to use the laser from the DVDR itself. Laser on/off is controlled by the same relay as the fan.

If you want to simplify you could skip the whole laser driver and use a readymade driver. Then all you would have to do would be to connect the power to the fan relay. Of course this would probably be a little bit more expensive.

The whole thing evolved into a new Arduino shield, the Laser Shield. I have included the schematic and board layout in Eagle format . Creating a circuit board is a bit out of the scope for this instructable, but there are lots of really good guides here on Instructables.
If you want to make your own layout with Easydrivers I have made a Eagle library with the driver, it can be downloaded here .

Step 6: Prepare the Arduino.

For the Arduino I started out writing my own software. But while searching for a good way to control movement from the serial port I stumbled upon something called "Grbl ". This is a g-code interpreter with lots of nifty functions. As I already had everything connected to the Arduino I had to ether change my connections or change the software. Luckily it is easy to change control pins in the software. I did however have to download Winavr and then the code from github.com . It is not that hard to do. After downloading and extracting the code you have to change the port numbers in config.h and make sure you get them in the right order. Then all you have to do is start a command window, enter the correct folder and type "make". If all goes to plan you should end up with a .hex file ready for the Arduino.

I have however changed the pin-out since then and here in the instructable I use the default pin-out of Grbl. This will make it a lot simpler to follow and setup. You can just download the prepared hex file from the Grbl download page .

The current version of Grbl (0.6b) has a bug in the queue system. The laser on and off (M3, M5) commands are not put in the queue and the laser will be turned on and off as soon as the Arduino receives the commands. This is resolved in the edge branch. You can download and the source from here , or grab the compiled hex I am using from here . This should resolve the issue until the next version of Grbl.

Any way you choose to do it you will end up with a .hex file that you must get into the Arduino. I have tried a couple of different ways and the one I like the most is by a program called XLoader . The programming is pretty straight forward; select the correct serial port for your Arduino. Select the hex file and type of Arduino and press upload. If you are using the new Arduino Uno the XLoader doesn’t work, you will get an upload error. In that case I recommend using ARP/Arduino Uploader but even this uploader has some issues with the Uno. When programming the Arduino select the com port and microcontroller in the respective dropdown. After that you will have to make a change in the “AVR Dude Params” text. Erase the “-b19200” (without the quotes) part and click on the upload button. In any case, a couple of seconds later you are done and are ready to try it out. Exit the XLoader and get to the next paragraph.

The Arduino needs to be set up for the job. Start your favorite serial terminal and open the port your Arduino is connected to. You should get a welcome message:

Grbl 0.6b
'$' to dump current settings"

If you enter $ followed by return you will get a list of options. Something like this:

$0 = 400.0 (steps/mm x)
$1 = 400.0 (steps/mm y)
$2 = 400.0 (steps/mm z)
$3 = 30 (microseconds step pulse)
$4 = 480.0 (mm/sec default feed rate)
$5 = 480.0 (mm/sec default seek rate)
$6 = 0.100 (mm/arc segment)
$7 = 0 (step port invert mask. binary = 0)
$8 = 25 (acceleration in mm/sec^2)
$9 = 300 (max instant cornering speed change in delta mm/min)
'$x=value' to set parameter or just '$' to dump current settings

You must change the steps/mm for X and Y axis to 53.333 on both. Just enter "$0=53.33" followed by return and then "$1=53.333" followed by return. Z axis can be ignored as it is not used. The acceleration can be ramped up to something like 100 ("$8=100" and return). As we move really slowly with this machine acceleration can be high. Another side effect of low acceleration can be that curves get a lot more burnt than straight lines as the controller constantly tries to accelerate and decelerate but never reach full speed. If you build this like me one of your axis might be mirrored. This is easy to fix. Option $7 lets you change direction on axis. I wanted to change direction on the X axis so I type in "$7=8" as I want to change bit 3 (8 = 00001000 binary) if you want to change direction on Y axis you type in 16 (00010000) or 24 (00011000) to change both. The complete documentation of the invert mask can be found here .

Now you are ready for the computer setup. If you want to try some movement you can type "G91 G28 X0 Y0 [return]" to zero the axis. Followed by "X10 Y10 [enter]". You should see 10mm movement on each of the axis.

Step 7: Getting the software ready.

I will just go through the basics here. What software you need, how to set it up and the basic tool chain. I will only talk about windows based systems, all you Linux people will have to do some digging around (even if Inkscape and the extension should work fine on Linux as well). First you will have to download three files:

Inkscape - this is open source vector editing software. (download )
Laser engraver extension - This generates the g-code needed to control the laser. (download )
G-code sender - A small windows program I wrote to communicate with Grbl. (download )(source )

Install Inkscape by following their instructions. This should be a pretty painless process. And any help on the subject should be easy to find in the documentation on their web page. Next up is the extension; this is a little harder but not much. Open the .zip file in your favorite unpacker and copy all the files to "c:\Program Files\Inkscape\share\extensions". You have to restart Inkscape for the extension to show up. The extension is a heavily modified version of "Gcodetools ". That is it for setting up Inkscape. You can leave the "G-code sender" on your desktop or any other place where you will find it later. It does not need to be installed.

One important word about the extension, I am not a python programmer and there might be some kinks in the code.

I assume you have everything installed and ready to use by now. Here is a quick screencast of the work flow.

I hope this was not too quick. There are loads of guides on how to use Inkscape out there. I will not go into any details on how to use it.

The G-code sender is another story; there is no documentation as I just made the program. All the documentation is in this instructable, but feel free to ask if you have any questions. When you open the program it should be pretty self explanatory. The only strange thing is the radio buttons "\n\r" and "\r\n". Depending on what version of Grbl you are using the line ending are different. If the one doesn't work try the other one. Choose your serial port, and if you do forget to plug in your laser engraver, plug it in and hit the refresh button and your serial port should show up. Hit the "open" button to open hailing frequencies. Once the port is open you can type in commands like any terminal software in the text box above the open button. To start engraving a file you can ether type in the file path or click on the browse button and select a file.
When you click on "print" your file transfer will begin. The file will be transferred until the buffer on the Arduino is full, about 20 rows or so. When the buffer is ready for more data another row will be transferred. When you hit stop the transfer will end but the Arduino will not stop until the buffer is empty. When you hit the "close" button or exit the program the serial port will be closed and any transfer will be stopped.

Sometimes there will be a G-code that Grbl can’t interpret and will return an error. Most of the times these errors can be ignored but they will show up in the sender. This can be comments or the start and end "%" sign. If there is a comment after a command there will be an error but the command will still be executed. For example "G21 (All units in mm)" the G21 command will be executed but the comment will give an error.

Step 8: Final assembly and extras.

To finish the small engraver I made a small box from the Masonite board I found in a picture frame. It is just glued together. In the front there is a small fan from an old graphics card. The cooling is necessary for the Easydrivers when you mount them in any kind of housing. They get hot when out in the open and even hotter in some sort of housing. In the box I glued some threaded spacers; this allows me to screw on the bottom. The Arduino is in turn screwed to the bottom. It makes the engraver into a useful and easy to handle little tool.

Some small extras have been added along the build. First of is the fan that keeps smoke away from the workspace. This is a small 40mm computer fan connected to the laser relay that I wrote about in the electronics step. The fan is pointed away from the workspace and gently sucks away smoke.

Another small but very useful extra are the magnets to hold down paper and other light weight objects. I got these from an old toy . After gluing some nuts on top of them they are done.

To change the focus you can screw in and out the lens. Or you could set the focus once on the workspace and then slide the laser up and down in the mount. This is how I do it. I have a set focus when the laser is at the lowest possible position in the mount. Then all I have to do is measure the thickness of the material and raise the laser the same amount. Most times I just hold the material next to the laser mount and move the laser to the correct height.

Step 9: Final results.

Here are some of the things I made with this little engraver so far. I will let the images tell most of the story. The only limit is your imagination (besides the low power and small work area).

Key chain.
I found some paint stirrer sticks at my local DIY shop. I liked the look of the wood and they were cheap. I saw of a piece and drilled a small hole. After some sanding I engraved the Binford logo from the sitcom "Home improvement".

Plant marker.
A normal Popsicle stick engraved with the plants name.

Personalized matches.
I'm just trying to show off ;)

Memo note holder.
A clothespin engraved and with a small neodymium magnet glued to the back makes a great way to stick a bunch of notes together on the fridge or any other metal surface. I like clothespins they are very versatile.

Cut out of a small foam sheet and glued to a piece of Masonite.

Thanks to scriptster who made the G-code for the model. Check out his model here .

<p>Hello you could spend some graphic as you do on and off the laser diode? I think it is a LM317</p>
<p>Hi Groover, nice pocket laser engraver. I would like to know what the work area is as I could find it in your instructions. Thanks</p>
<p>You dont really need to connect MS1 and MS2 on the Easy Driver to 5 Volts.</p><p>The default step setting is 1/8th step.</p><p>From Easy Driver web site:</p><strong>The Easy Driver is able to operate in 1/8th, 1/4, half, and full<br> step (2 phase) modes. These four modes are selected by the logic<br> levels on the MS1 and MS2 input pins. Normally, the pull-up<br> resistors on the Easy Driver hold MS1 and MS2 high, which results in<br> a default setting of 1/8th microstep mode. You can pull either<br> or both to ground to select the other 3 modes if you want.</strong>
<p>Whats Soft i can use WITHOUT Isnkape? It was very stuped on my PC</p><p>Maybe to be any List of soft on PC for using with <strong>GBRL v09.j</strong> (for Arduino Uno library) ?</p>
<p>@jm.instructable</p><p>I think that the &quot;Adafruit Motor / Stepper / Servo Shield for Arduino Kit - v1.2&quot; you're trying to use is simular to the &quot;Velleman KA03&quot; I have experimented with. I coulden't get this one going as well because one cannot send Gcode to it, it seems. </p><p>You can get the steppers running using the Arduino Sketch, but you have to use GBRL and Gcode to stear the steppers in this project. The easyest way for you I think, is to buy two SchmalzHaus EasyDrivers (the're not expensive). This works! </p><p>See the detailed plan in my comment below and the one of Groover above to lighten up things. In my comment you can also see the adjustments you have to make to a few programs to get them correctly running. </p><p>Greets, </p><p>Venkes.</p>
<p>Hi dear, I'm really excited about your project, I have read and searched for information to use GRBL but I can not make move my engines with it, will that use &quot;Adafruit Motor / Stepper / Servo Shield for Arduino Kit - v1.2&quot; if engines run libraries move, but if I do not work for me GRBL.<br><br>Do any of the users has made this project using the shield named?<br><br>Thanks I hope your understanding and prompt reply, thanks.</p>
<p>Thanks Groover, you've get me going. After a search on the internet your design suits me the best. I've made it mostly like you did but with a few differences.</p><p>First to mention is the laser. I've used a blue laser pulled out of a RGB laser pattern projector. The power lies on approx 250mW, I think (I don't have a LPM). Blue light transfers more energy so there is more burning power. Even on white! paper.</p><p>The programs I used:</p><p>-<strong>GBRL v09.j</strong> (for Arduino Uno library) *</p><p>-<strong>Inkscape 0.91</strong> (for pc)</p><p>-<strong>LaserEngraver</strong> (plugin for <strong>Inkscape</strong>) *</p><p>-<strong>UniversalGcodeSender v1.0.9</strong> (for pc)</p><p><br>Due to version differences of the programs I had to make some adjustments to some of them:</p><p><br><strong>GBRL</strong>, to switch the laser on and off (Gcode M03 and M05) the following has to be done before installation:</p><p><em>1a. Download <strong>GRBL</strong> sourcecode from github ( </em><a href="https://github.com/grbl/grbl" rel="nofollow"><em>https://github.com/grbl/grbl</em></a><em> )<br>2a. Extract zip File<br> 3a. Use Notepad++ and open the file called config.h (Folder: grbl-master\grbl)<br> 4a. Search for a line, that starts with &bdquo;#define VARIABLE_SPINDLE&ldquo;<br>5a. Comment this line out ( Use a double Slash // )<br> 6a. Save the File</em></p><p><br>-<strong>LaserEngraver</strong> plugin for <strong>Inkscape</strong> has a bug, to solve this read the following:</p><p><em>If you&rsquo;ve tried to use the modified Inkscape laser engraver plugin mentioned in this blog post about building an engraver, you may have run into an error trying to do the export. It&rsquo;s something like &ldquo;AttributeError: &lsquo;module&rsquo; object has no attribute &lsquo;unittouu&rsquo;&rdquo; or &ldquo;unittouu not part of inkex module&ldquo;. Here&rsquo;s the fix.</em></p><p><em>The bug is on line 3080 of laserengraver.py and broke due to an Inkscape change. Old line:</em></p><p><em>doc_height = inkex.unittouu(self.document.getroot().get('height'))</em></p><p><br><em>New line:</em></p><p><em>doc_height = self.unittouu(self.document.getroot().xpath('@height', namespaces=inkex.NSS)[0])</em></p><p><br><em>Be sure to have the exact same number of spaces/tabs on this line. In Python, whitespace is important, so you can&rsquo;t mix and match spaces and tabs, and all code blocks must have the same whitespace alignment.</em></p><p><em>Problem solved!</em></p><p>Your Gcode sender does not work so I have downloaded <strong>UniversalGcodeSender</strong>. This works fine and is simple to use.</p><p>I've added some foto's to show some details and a Youtube video where you can see some examples of engraving and cutting I did with it.</p><p>Now I know what to do I wil scale things up and start a new project with two flatbed scanner interiors an my 2W blue laser.</p><p>https://youtu.be/6A7YREqS-w8</p>
<p>Thanks Groover, you've get me going. After a search on the internet your design suits me the best. I've made it mostly like you did but with a few differences.</p><p>First to mention is the laser. I've used a blue laser pulled out of a RGB laser pattern projector. The power lies on approx 250mW, I think (I don't have a LPM). Blue light transfers more energy so there is more burning power. Even on white! paper.</p><p>The programs I used:</p><p>-GBRL v09.j (for Arduino Uno library) *</p><p>-Inkscape 0.91 (for pc)</p><p>-LaserEngraver (plugin for Inkscape) *</p><p>-UniversalGcodeSender v1.0.9 (for pc)</p><p><br>Due to version differences of the programs I had to make some adjustments to some of them:</p><p><br>GBRL, to switch the laser on and off (Gcode M03 and M05) the following has to be done before installation:</p><p>1a. Download GRBL sourcecode from github ( <a href="https://github.com/grbl/grbl" rel="nofollow">https://github.com/grbl/grbl</a> )<br>2a. Extract zip File<br> 3a. Use Notepad++ and open the file called config.h (Folder: grbl-master\grbl)<br> 4a. Search for a line, that starts with &bdquo;#define VARIABLE_SPINDLE&ldquo;<br>5a. Comment this line out ( Use a double Slash // )<br> 6a. Save the File</p><p><br>-Laser Engraver plugin for Inkscape has a bug, to solve this read the following:</p><p>If you&rsquo;ve tried to use the modified Inkscape laser engraver plugin mentioned in this blog post about building an engraver, you may have run into an error trying to do the export. It&rsquo;s something like &ldquo;AttributeError: &lsquo;module&rsquo; object has no attribute &lsquo;unittouu&rsquo;&rdquo; or &ldquo;unittouu not part of inkex module&ldquo;. Here&rsquo;s the fix.</p><p>The bug is on line 3080 of laserengraver.py and broke due to an Inkscape change. Old line:</p><p>doc_height = inkex.unittouu(self.document.getroot().get('height'))</p><p><br>New line:</p><p>doc_height = self.unittouu(self.document.getroot().xpath('@height', namespaces=inkex.NSS)[0])</p><p><br>Be sure to have the exact same number of spaces/tabs on this line. In Python, whitespace is important, so you can&rsquo;t mix and match spaces and tabs, and all code blocks must have the same whitespace alignment.</p><p>Problem solved!</p><p>Your Gcode sender does not work so I have downloaded UniversalGcodeSender. This works fine and is simple to use.</p><p>I've added some foto's to show some details and a Youtube video where you can see some examples of engraving and cutting I did with it.</p><p>Now I know what to do I wil scale things up and start a new project with two flatbed scanner interiors an my 2W blue laser.</p><p><iframe allowfullscreen="" frameborder="0" height="281" src="//www.youtube.com/embed/6A7YREqS-w8" width="500"></iframe></p>
sry for Spam
und dann kommen die dioden tum Vorschein
be carefull theres a screw behind
first try with dvd drive and am cd
<p>hello, can i use laptop CD drives for this project?</p>
<p>Thank's, very nice job!!<br>Just question, how to differentiate the two led laser in DVD graver ?<br>The red laser we need has &quot;325...&quot; wirte on his case ?<br><br>And sorry for my bad english!</p>
<p>Thank you, sir. Nice job.</p><p>The EasyDriver board is available from www.banggood.com for $2.45 USD. I have purchased from them many times and they seem quite reliable.</p>
<p>Hi!!!</p><p>I made it!</p><p>Thank you Groover!</p><p>I use 2 DVD for X Y axis, arduino nano to control it.</p><p>Base from old FloppyDD</p><p>https://www.youtube.com/watch?v=FmCIZO7if4I</p>
<p><iframe allowfullscreen="" frameborder="0" height="281" src="//www.youtube.com/embed/lnjzDOvffsQ" width="500"></iframe></p><p><iframe allowfullscreen="" frameborder="0" height="281" src="//www.youtube.com/embed/IqdoYIK9t4w" width="500"></iframe></p>
<p>Correct link </p><p><iframe allowfullscreen="" frameborder="0" height="281" src="//www.youtube.com/embed/Rmt_z8QhTWg" width="500"></iframe></p>
<p>Hi,i try to make this project and i have a question for you , what is meen FAN from electronic schematic </p>
<p>hi, i have a problem like this. i dont find answer in internet (google) , please help me!! </p><p>already thanks for all support :DD</p>
<p>SOLVED! Just download older version (32bit) of inkscape. Worked for me on win10</p>
<p>Change your file path ,liks 'C:\Users\admin\Desktop',I think some </p><p>permissions that</p>
Same problem.
<p>Getting the same error messages. I can't get the gcode prog to function properly either. I'm experimenting with J tech's inkscape plugin, but it's weird when I use a universal gcode sender program, the steppers move, stop and then move SUPER slow, like almost unnoticably slow. After about 40 seconds, they start moving fast again, then slow down all over again.</p><p>the link to the inkscape plugin:</p><p><a href="http://jtechphotonics.com/?page_id=2012" rel="nofollow">http://jtechphotonics.com/?page_id=2012</a></p>
<p>Since any printer has already made x/y axis base i used it :) one problem is that if you want to cut out lots of small pieces some of them tend to get stuck in there. Also added cheap 28byj motor to have z axis pen :) </p>
<p>Hello, </p><p>I have assembled the mechanics, but nothing seems to work the right way... I put in GRBL 0.9 and that works with Grbl controller program, but the inkscape plug in doesn't work - I get some error and the .nc file is not created and the g-code sender does not work either. I have tried making the code with CAMBAM suggested in the comments together with Grbl controller and got it to draw me a square (though forgot to check the size so it went overboard...). But like someone mentioned, my laser also does not burn anything... It was the right one, because the other one does not produce visible light at all. Also my question is - if i set the where the zero coordinate is, should it &quot;remember&quot; that? because after making an object it does not go to zero and I have to move it manually. It also seems to ignore the max travel distance setting... Also, how do you get the laser to turn on and off? mine is always on as long as the arduino is on (High on D12). Should I have changed something in the code for the microcontroller?</p><p>Thank you</p>
Got it moving right with grbl 0.8. Tried new laser, but so far still no burning. Moved it up to 0.4 amps. Still nothing. Anyone have any ideas?
What type of material are you trying to engrave and what is the color of your material? Try testing your laser by aiming it at some black electrical tape.<br>Did you put your laser diode in a housing with an adjustable lens? Try tweaking the focal length so that it burns the tape properly. <br>If you did all these thing, but while running gcode it still doesn't burn like it should, maybe you're moving too fast and need to slow the movement down.<br>
<p>Hey, finally got it to burn last night. I have it in a housing yes. Tried 3 different diodes. I was trying to burn paper and after testing various types (what i found on my desk), apparently not all papers get burned. I suppose the nice white paper reflects the laser beam or something. But now some other issues arose... When the gcode is being sent, I always get an error when it tries to define the speed (G1F5.00000). Is it something wrong with the syntax? Also sometimes get an error in the movement code in one command which is no different to me than the rest of them, so its probably just a glitch or something. Also, some parts dont get burned for some reason. The laser passes them, but doesn't burn. Weird. <br>Also, the laser driver with the LM317 is not working properly. when I try to adjust the current (measuring at the laser) it starts on very low end (20 mA) and then jumps up to 250 mA at the very end. No gradual rise is achieved. Any thoughts?</p>
<p>Yes, the problem is, the fixed resistor is 10 ohms and the tunable resistor is 100 ohms. That is a bad design as far as I am concerned. So the range of the trimmer is too large. 8 Ohms fixed and say a 4 Ohms trimmer would be better! </p>
<p>This might better explain what I mean by not cutting parts. The &quot;D&quot; in the &quot;wings&quot; is supposed to be cut out. And some other parts are missing too...</p>
<p>After some digging, it appears that the grbl version was at fault. After upgrading to 0.9 (you need to disable the PWM function they installed) It works Fine. However, The plugin for inkscape in this post need to have one line changed to work on the 0.91 inkscape and the jtech one has a a programming error. It uses G0 instead of G1 for parts that you need to engrave, which causes missing or crappy straight lines. If anyone needs a fixed .py file, pm me. Also GRBL 0.9 has a bug - the dwell function is in seconds, not in milliseconds as it should be. So 100 ms delay is actually 100 s. I also have a fixed code file for that and a .hex for Uno if anyone wants. (PM)</p>
<p>Thanks a lot for mailing me the fix!</p><p>I got it running now too, without the laser(my goggles still haven't arrived T.T).</p><p>But I can see it working properly with a fineliner pen!</p><p>Will let you know when it starts cutting :)</p>
<p>I have uploaded the fixed files to tinyupload, since the OP is not responding. The archive contains fixed plugins for inkscape and fixed grbl 0.9 source and hex</p><p>http://s000.tinyupload.com/index.php?file_id=15359939908683250552</p>
<p>Great project and I got it working. Some hints for other builders:</p><p>1) Use dark paper when focussing the laser. It burns much quicker, so easier to focus.</p><p>2) I used My Larser software (google is your friend), but had problems with the steps per mm settings. Using the GPLcontroller software, that can be fixed.</p><p>3) I found a laser on Aliexpress with the current controller built in, very handy!!</p><p>4) I tested several lasers and as already suggested before in the postings, not all lasers and not all lenses are suitable...</p><p>2</p>
<p>Sort of working :D</p>
Would I be able to engrave a piece of aluminum?
No. <br>Much of the laser's energy will be reflected, and what energy is absorbed will be quickly dissipated due to the aluminium's conductivity.
Hi, great instructables.<br>Can you post models ss STP or IGES files so can be opened in creo or solidworks.<br>Tnx
<p>hi, i made the engraver but i am facing a problem, the motion is working fine just needs some calibration but the laser is not burning anything. it is being turned on and off but it just doesn't burn anything what can be the issue</p>
A few things come to mind:<br>1. It is underpowered. How much current are you passing through it?<br>2. It is unfocused. Do you have a focusing lens? Have you tried adjusting the focal length to suit you rig?<br>3. It's not the right laser. Where did you get it? If you got it from a DVD burner, did you pull out the right one?<br>4. It has 'gone LED'... as they say. If you mistreat a laser, it fails and just becomes a nice bright LED.<br><br>There might be other reasons too, that's just what I can think of right now.
<p>How does this work without limit switches? I dont want the motors to run past the length of the rail, causing problems! Also, how do you calibrate the speed of the print, say if you are using a more powerful laser (1.0 W) and you dont want to set stuff on fire... No limit switches are used here so how do you zero the axes and keep the print from going larger than the print area? Also, how do you calibrate the step/mm because with the 53.333 step/mm command given in the project the movements is not properly scaled to the commands. If i put in X10 it will move more than 10mm... Thanks...</p>
<p>Does anyone know if Marlin could be used on the Arduino to process the Gcode?</p>
Marlin will work fine. You will have to make sure your g-code matches the Marlin setup, i.e. you will have to choose a Marlin output to drive the laser, and if you choose a fan control signal (for example), then the 'laser on/off' codes in your g-code file will have to be changed to 'fan on/off'.
Cool, thanks. I've seen references before to people using the fan control to drive the laser, but I've never attempted to hack raw Gcode before, so I'm a little out of my depth. Do you just slice an STL as close as you can to one layer thick, and then just crack open a text editor and roll your sleeves up with find/replace? How would it work if you wanted to use the fan speed to give a grayscale output for the laser?<br><br>
<p>Raw G-code is mostly quite simple, They are basically codes telling the laser/print-head/etc to move from A to B, and how fast. Open one with a text editor. Look here for some explanations and a look-up table for the codes: http://reprap.org/wiki/G-code</p><p>I use M106 to turn on/off a fan output. (Yep, &lsquo;find and replace&rsquo;)</p><p>I don&rsquo;t use a slicer for laser engraving. I use Inkscape. it&rsquo;s free and the tools are there for g-code generation. I wrote about it here previously. Look through the recent comments to find it. It was a response to StuartB4&rsquo;s question about Inkscape and text. </p><p>As for greyscale, either the laser burns or it doesn&rsquo;t, no greyscale by adjusting intensity. You will have to dither it. I haven&rsquo;t tried it but I think the &lsquo;Raster 2 Laser Gcode Generator&rsquo; can do it.</p>
<p>I have problem with G-code sender when i'm using GRBL v0.9i. I thing it may be the baud rate that is 115200 in v0.9i and in previous versions it was only 9600. What should i do to make it work?</p>
<p>Will this engrave metal? Like a zippo lighter?</p>
<p>While you couldn't directly engrave the metal, you could probable paint it and engrave that.</p>

About This Instructable




Bio: I'm just a poor lonesome cowboy... Not really, I am divorced and live in the cold country of Sweden. I am not much of ... More »
More by Groover:Steampunk instant soundsStamps from craft foam.Pocket laser engraver.
Add instructable to: