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.
Remove these ads by
Signing UpStep 1Acquire the parts.
- 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.
| « Previous Step | Download PDFView All Steps | Next Step » |

















































1st of all this is the best explained tutorial for CNC (especially for the software part!)
Now to my questions
1st- so the 53.333 is the length of the axis, so if i were to make my laser engraver bigger thats the thing to change right?
and second: If I use the pin-out defined by Grbl i can just use your .hex file , right?
, oh and is the shield schematic you provided uptadet (with the correct pin-out's)
Thanks in advance!
Yes, schematics and hex file will be the correct pinout for grbl. Unless they changed it in the last year and you use the files from Grbl repository. They have come a long way in since this was written.
i can still use the small steppers to drive a bigger rig, right...or are they consuming more current when they are at greater effort
This is the reason you have to take great care when you create your g-code from your drawing. If your drawing is of a box 20cm by 20cm the controlling software will try to make that happen without knowing the physical limits.
The dvd reader have to be identical or i can use different, i see that there some with plastic screw and other metallic.
I'm having problems with inkscape. If I use the ellipse tool and the laser extension, I get the project to run ok. If I use the text or rectangle tool the laser extension produces only 1 x/y co-ordinate which is 0,0. I went through the Northern pacific tutorial and got that to work. I was just trying to draw a box but I can't get it to work. Any help would be appreciated.
can you help us please, thx :-)
Hello.....I want to help is necessary
in step6 (prepare you arduino)
and instaill Winavr and upload grbl.hex to arduino but when do make become error
make: *** [main.elf] Error 1
You may have to find more powerful drivers to replace the Easydriver but the rest of the setup would be rather similar to this one: Arduino runs Grubl and sends out STEP and DIRECTION commands. You just have to have a driver that converts these commands into proper stepping sequence sized according to your motors.
Also, you may not need an Arduino if you're running a CNC software on your computer, such as EMC2 (linuxcnc.org) - you'll need a parallel port on your PC in this case instead of USB.
Gruß Novadis
//////////////////////////
Very nice project, I've also copied. Have not done everything as it is there but it works well with my laser diode I practice at about 275mA 180mW CW. Thank Groover.
Greeting Novadis
In the process of working out kinks, I got stuck at the stepper motor control. I am guessing my issue is somewhere between the EasyDriver and the motors but maybe somewhere in the software, too, although I have to admit, I did not feel adventurous enough to just reflash my Arduino with Grubl and based everything on a (slightly modified) RepRap's Teacup firmware instead.
So, getting back to the steppers: I'm getting what I would describe as a very jerky movement. I'm using EasyDriver's default 1/8th stepping which would, in theory, produce the smoothest motion. However, from the looks of it, it appears that my motors are not responding to every 1/8th step.
If I were to guess, they might not even be responding to a full step - I am seeing pretty obvious sawtooth patterns on slanted cuts and the steps look like at the very least 1/2mm, which is just crazy inaccurate given that the lead screw pitch is 3mm. These are 20-steps-per-rotation (20 SPR) motors and I'm only getting about 5 or 6 SPR. How is that even possible?
Anyhow, I tried to look at Groover's original video to check if his cutter shows this jerkiness but the video is sped up 10 times, it's really hard to see how smooth it would have been in real time.
Can some of you guys who have already completed the build comment on the issue of resolution/accuracy/jerky movement/lost steps etc.?
Thanks!
P.S. This project turned out to be even more fun that I thought starting out almost a year ago!
Also, big thanks to bobpigford, changing the ports is what made all the difference, up till then I was having same issue, motor would only turn one way. Protip, even if it was by mistake.
For streaming a file to GRBL with G-code sender I not sure what to expect. I put your 2 sample line in, however G-codeSender only ever sends Row 1.
Is g-codesender waiting for some sort of acknowledgement before sedning the next line?