Check out my update/remix that adds a Z axis and further improvements to this engraver!
Some time ago I built a small DVD-Laser engraver but it wasn't really usable. Now this new one became reality by chance. When I upgraded my 3D printer Prusa i3 MK2 to the newer MK2S version I had a few spare parts, namely linear rods and bearings. Additionally, a 1 W blue laser from eBay was lying around unused... this is the result. ;-)
This is the obligatory warning. Lasers with such high powers are dangerous and can burn or blind you, even from reflections. Don't attempt to build this if you are not familiar with high power lasers.
Good quality laser protection goggles are a must! Don't use cheap ones. And always wear them! Beware that the laser might turn on unexpectedly when the Arduino is booting (it shouldn't, but don't rely on it).
With the spare Prusa linear rods (370 mm and 330 mm) this engraver has a usable work area of 210x220 mm. You might even be able to get a few millimetres more.
The CoreXY system is loosely inspired by other systems, especially the excellent 3D printers Hypercube by Tech2C and Hypercube Evolution by SCOTT_3D. Some other details are also modeled after these printers, such as the belt spanner system on the X carriage.
While these two systems guide their belt on the inside of the printer I decided to move the belts on the outside to get the most usable area. Instead of proper belt pulleys or idlers I used 625 ZZ ball bearings to divert the belt. For now this is working fine.
The limit switches on the X carriage were originally supposed to be triggered by the Y carriage itself. However, when the switches finally arrived they differed from the my 3D model so the additional switch activators were added... it's not elegant, but works. ;-)
The engraver is controlled by an Arduino Mega + Ramps 1.4 board running GRBL 1.1f. These were spare parts I had in my drawer and I wasn't aware of the Arduino CNC shield when I began this build. Plus, the Ramps board seemed like an excellent choice. However, in retrospect, I would not use this board for GRBL again. There are several drawbacks compared the regular CNC shield.
- no Hardware limits (the limit switches are placed on pins that are not available for external interrupts)
- the spindle PWM defaults to a 12 V output. The laser driver however expects a 5 V TTL signal for power control (solved with a small GRBL patch)
Be aware that the GRBL version for the Arduino Mega has an issue when homing a CoreXY machine. It's axis locking mechanism prevents both motors to be moved at the same time when homing, i.e. the machine will move diagonally. There's a quick-fix available.
The modifications I made to GRBL are available in this fork on GitHub:
GRBL CoreXY Laser engraver
To actually use the engraver you'll need to generate the proper GCode somehow. So far I've found the following tools quite useful.
In addition to the printed parts you'll need the following parts, too. If anything is missing please let me know.
- 1x Arduino Mega / Uno
- 1x Ramps / Arduino CNC Shield
- 2x Pololu Stepper driver (A4498, DRV8825, SilentStepStick)
- 4x Endstops (Makerbot)
- 1x Laser with TTL driver
- 1x Power supply (e.g. old ATX)
- 1x Fan 12V (for the laser)
- 2x Nema 17 stepper motor
- 2x 8mm Rod, 370 mm (Y axis)
- 2x 8mm Rod, 330 mm (X axis)
- 8x LM8UU linear bearing
- 16x Ball bearing 625 ZZ
- 6x 5mm steel rod, 40 mm
- 2x GT2 Pulley, 20 teeth
- ca. 4m GT2 belt
- 2x Aluminum profile, 30x30 B (8 mm slot), 325 mm
- 4x Aluminum profile, 30x30 B (8 mm slot), 100 mm
- 2x Aluminum profile, 30x60 B (8 mm slot), 360 mm
- 12x Corner mounting brackets 30x30
- M6 T-slot nuts
- M6x12 screws
- M3x16 countersunk head
- M3x16 head cap screw
- M3x20 head cap screw
- M3x25 head cap screw
- TP screws, 2.5 mm (endstops, Arduino mounting, 2.5W laser driver)
- M3 square nuts
- M3 hex nuts
Note: The 5 mm linear rods I bought from eBay to mount the bearings had to be sanded down a bit to fit. Your mileage might vary.
After about a month of testing and tinkering I am quite satisfied with how this thing turned out. There are however a few changes / modifications I will probably implement some time in the future.
- Larger working distance
The laser is placed quite close to the workpiece. This is not bad as such but unfortunately I have to move the lens so far out that it sits quite loose, probably does not capture the whole beam anymore and one cannot engrave larger objects.
- Better end-stop placement
I really should have incorporated them at an earlier stage in the design process... ;-)
- Motorized Z-axis
I did not implement it in this design because it would have reduced the work area. Manually adjusting the lens works fine, however, a motorized z axis will make it a lot easier.
- Cable chains
While these were initially planned I chose to drop it in order to get the engraver done quicker.