# Simple laser cutting and engraving capabilities for a 3D printer with a 450nm diode laser

04 Dec 2022 - tsp
Last update 23 Dec 2022
27 mins

## Introduction

So there I’ve got this new laser diode and thought about building a laser cutter / engraver - but that takes some time. So what is more logical than to mount your diode simply on your existing over-engineered pencil holder, i.e. your 3D printer or CNC mill? Especially since Marlin is a general GCode interpreter and runner so one can use it to execute one’s laser tool paths. As it turns out this works pretty well and there is already a huge number of possible tool-sets available out there for laser cutting..

### The diodes

Over the course of writing this article I’ve used three different diodes. The first diodes are rated 5.5W optical output power (20W electrical power; 405nm and 450nm), the second is a dual diode module rated 40W optical output power.

The 450nm diode modules (or at least modules that are equivalent) are also available on Amazon (note: affiliate links, this pages author profits from qualified purchases):

As one can see the specifications of manufacturers in the DIY segment are also not really reliable. Sometimes they specify optical power, sometimes they specify electrical power and when shopping on some other platforms they also often specify fantasy numbers. Basically for 450nm diodes available on the consumer marked are usually either 5.5W diodes like most of the time the NUBM08 (available in China for around 25-30 Eur) or diodes rated around 7W like the NUBM44 or NUBM0E (costs around 70 Eur or more in China). Diodes for 405nm are usually not found at higher power levels on the marked as of today so these are custom semiconductors and also diodes in the range of 20W or 40W optical power are not out there, those ratings are usually the peak electrical power consumed by the laser modules. Usually for higher powers serious companies build laser modules housing multiple diodes - these are then usually fiber coupled and cost a few thousand of Eur. The dual diode modules built around the NUBM diodes are about the most powerful diode solutions available on the DIY consumer marked as of today. They are not able to output a collimated beam, they only allow focusing - but that’s what one wants for laser cutting applications anyways.

In case you’re searching datasheets - they are hard to get for the NUBM diodes. The first thing one has to know is that they are usually not sold as single diodes but as modules (the NUBM44 and NUBM47 modules only differ by the number of diodes but carry the same diodes for example). And then the datasheet for the NUBM44 will not be found under that name anyways due to industry-trade-secrecy-reasons.

The important information though that one is able to determine about typical behaviour of those diodes also shows that most of the commercially sold modules really overdrive diodes (keep in mind that one should usually run them at 80% of their designed power, not above - in case one values lifetime or wants to reach near the 2000-20000 hours of lifetime and now have a dead diode a few days to weeks later on. So make sure to measure the settings on delivered modules and change them to sane values except you really only need high power for a short time). The lifetime one can expect is about 1000 hours with 99% of likelihood when never exceeding 3A of supply current and a temperature of 70 C and about 20000 hours with a likelihood of 50% under the same conditions (this would equal to 41 days of continuous operation / a third of a year for 8 hours daily with 99% likelihood and more than two years with continuous operation and more than 7 years with 50% likelihood with 8 hours a day of operation). In case one drives the current higher (for example at 3.5A) th expected lifetime cripples rapidly (this goes exponential with temperature and thus current - one can model the expected lifetime using the Arrhenius model - and as one would expect the time to failure $t_f \propto e^{\frac{E_a}{k_B T}}$; this of course means that $ln(t_f) \propto \frac{E_a}{k_B T}$)).

The most important takeaway from the Arrhenius model is, that one can use the knowledge of the activation energy at a given temperature to the increase or decrease in lifetime:

[ \frac{t_{f,1}}{t_{f,2}} = \frac{c_1 e^{\frac{E_a}{k_B T_1}}}{c_1 e^{\frac{E_a}{k_B T_2}}} \\ \frac{t_{f,2}}{t_{f,1}} = e^{\frac{E_a}{k_B} * (\frac{1}{T_2} - \frac{1}{T_1})} \\ \frac{t_{f,2}}{t_{f,1}} = e^{\frac{E_a}{k_B} * \frac{T_1 - T_2}{T_1 * T_2}} \\ \frac{t_{f,2}}{t_{f,1}} = e^{\frac{E_a}{k_B} * \frac{- \Delta T}{T_1 * T_2}} ]

What one knows on the other hand about those prominent InGaAs modules (that have been designed by the manufacturer for some laser video projectors from which most of the diodes that one can buy in China are simply pulled out of - there is up to my knowledge no way to buy them directly):

Quantity Condition Min, Max, Typical (NUBM08) Min, Max, Tpyical (NUBM0E)
Optical output power $I_f = 3.0A$ 4.35W typ. 5.0W typ.
Dominant wavelength $I_f = 3.0A$ 448nm, 462nm, 455nm 448nm, 462nm, 455nm
Threshold current CW operation 280mA, 480mA, - 220mA, 420mA, -
Slope efficiency CW operation 1.7 W/A typ. 1.8 W/A typ.
Forward voltage $I_f = 3.0A$ 3.6V, 4.8V, - 3.6V, 4.8V, -
Beam divergence (parallel) $I_f = 3.0A$ 0.65 deg, 1.05 deg, 0.85 deg 0.65 deg, 1.05 deg, 0.85 deg
Beam divergence (perend.) $I_f = 3.0A$ -1.0 deg, 1.0 deg, 0 -1.0 deg, 1.0 deg, 0

One should also honor the absolute maximum ratings:

Quantity Abs. Maximum (NUBM08) Abs. Maximum (NUBM0E) Comment
Forward current (at $22 C$) 3.5 A 3.5 A Never exceed the absolute maximum current. The diode should run at $3.0A$, for prolonged life at $2.5A$ (around $3.5W$ for the NUBM08 and $4W$ for the NUBM44)
Reverse current 85 mA 85 mA Even short exceeding this current kills diodes. A multimeter for measuring the resistance is usually enough to destroy them. Use a diode tester if necessary
Storage temperature -40 to 85C -40 to 85C
Operating temperature 0 to 70C 0 to 70C Looks like a wide range but sets the limit for cooling. A diode without proper cooling will not live long. The colder (above dew point) the better

When one wants to go to higher powers one usually also has to shift wavelength and take the route towards either CO2 lasers ($9.4 \mu m$ to $10.6 \mu m$) which are cheaply available up into the 150W range and are often found in hackspaces and cloth cutting industry or towards Nd:YAG lasers (primarily emitting in the 1064nm band as well as 946nm, 1320nm and 1444nm; those are usually pumped with either flashlamps or 808nm laser diode arrays) which get pretty expensive.

Using 450nm diodes one is able to cut wood, many types of cloth, paper and other non transparent stuff. One can even engrave soda lime glass with some tricks but one is not able to cut it (or work with Borosilicate glass). When going to Near IR like with Nd:YAG one is still not capable of cutting most transparent materials - in this case one would need a CO2 laser with sufficient power. In case one wants to cut steel one should really go either the CO2 (500W or higher) or an Ytterbium fiber laser (1030-1090nm) with 500W or higher and gas assist using oxygen - this is not a small scale home tool any more and does cost more than just a few hundred Eur. And they are by far no entry level devices either.

Note that for lasers it usually does not make sense to start talking about power until one has decided which material one wants to cut and thus which wavelengths make sense. You cannot just ask which laser power you need to cut some material, it’s always the absorption spectrum that’s most relevant; only after that the thermal conductivity determines the required optical power (which again is also linked to the used assist gas and the focus spot size).

## Warning

So first a few words of caution:

• Those diodes have massive optical output power. Even when the power rating does not sound huge in comparison what one is used to from lamps one has to note that these are coherent and collimated light sources at a specific wavelength - they deliver way more energy than any other light source into a single spot. We even take huge precautions against accidents when working with diodes in professional environment (physics labs) in the range of a few milliwats (like class 3R or class 3B) - and we do this for a reason and experience what can happen when one is not cautious enough.
• Any even so short mistake with reflecting tools or even indirect reflections at those power level can cost you your eyesight for the remaining life. Be careful. Use protective gear, check power rating and wavelength specification of your goggles. Wear them whenever power is applied to the laser and the inhibit on the diode driver board is not set or the power supply is disconnected just in case wires break or something wired happens.
• Never directly look into the beam, not even with your goggles.
• When aligning use the lowest possible power rating just above the lasing threshold (increase slowly to see when the diode starts to lase)
• Beware that most of the spectrum is not visible to you. Even when the light looks really soft and low there is enough power that even stray light might damage your eyes really fast. When using near IR or IR beams or near UV or UV beams use indicator cards that shift the beamspot into a visible spectrum to locate the beam. They only cost a few bucks - when one doesn’t use them one tends to increase the beam energy and widely opening one’s eyes to catch the remaining visible spectrum while huge loads of invisible spectrum damage the eye.
• Always fasten all components when operating so nothing can accidentally move. There is no “just putting the laser down on the table and turning on to quickly test” or moving around mirrors that are not fastened except for the single axis one wants to turn. Fasten the stuff tight. When something falls and moves the beam into ones eye via a reflective surface one might permanently loose one’s or someone others eyesight.
• Beware with reflecting tooling when moving into the beam area
• Keep your shades complete closed so the beam can under no circumstances evade the room you’re operating it inside. Though most lasers are delivered without a collimating lens (they use a focus lens instead) one should always follow this rule to prevent any eye damage to third parties. But keep your lights on, do not darken the room. Keeping the lightning in the room up and as bright as possible prevents one from widely opening the pupils - which is especially important when running nearly invisible or invisible high power lasers.
• Make sure no one can accidentally enter the room without wearing protection
• Operate the device in a fully enclosed enclosure that withstands laser irradiation over a longer time (usual procedure is testing for 8 or more hours at full power)
• Beware of fire hazard and poisonous gasses when cutting or engraving material. Even wood is not safe to cut in a not well ventilated environment. You only have one set of lungs.
• Make sure the laser is disabled when the device stops moving but design any protective equipment to also withstand a standing beam over longer duration.
• Beware that UV radiation also burns and damages your skin. Don’t work with exposed skin.
• Make sure other people that could under some circumstances enter are made aware of the lasers, the power rating and the wavelength (by warning signs, etc.)
• In case the machine runs unattended make sure there are interlocks and warning signs - the interlocks should disable the laser whenever someone opens the enclosure or any door to the room the machine operates in.
• Never operate high power lasers outside. And make sure you know the regulations (usually there are special ones regarding air traffic). Just operate them in closed well ventilated rooms without any possibility to leak the wavelengths you’re using.

Note that this list is nowhere near complete but one should get the idea. As one wise laser safety person once said class 4 lasers range from a region “not so bad” into the “death star” region so make sure you know what you’re dealing with before handling such stuff. It’s helpful to have heard a professional laser safety introduction before - but I think it helps to get the idea when one’s reminded that in professional environment even beams as low as 100 mW are threatened as huge potential hazard to eyesight - and they are already dangerous. And beware that some eye damage is not sensible immediately even though being present (small puncturing in the retina for example). Do not take this as some over-cautious list of possible problems - lasers often look harmless but they are definitely not - even not when you can freely buy them on the Internet.

## Wiring

Hooking up the laser to my custom 3D printer was pretty simple - I used the attachment point that I used previously for my capacitive tramming sensor (which was later substituted by my piezo bed leveling which works way more reproducible and reliable than the capacitive sensor - and which is also nice for this project also with non conductive surfaces put on top of the work surface).

I then reused the GPIO pin 4 as PWM output and hooked the diode driver board up to the 12V supply - since this will at maximum draw around 50W (i.e. 4 ampere) the same 12V supply as for the steppers and - in parallel unused - hot end could be used. The only drawback with this method is that the GPIO pin is floating on machine reset and power up and thus the missing pull down on the diode driver board lead to 100% PWM cycle for optical power which would be a health and fire hazard - a high ohmic pull down solved that problem. To switch the pin I simply used the M42 commands:

• M42 P4 S0 disables the laser
• M42 P4 S255 switches it to maximum duty cycle
• In between the S parameter allows one to switch the power in steps of 0.39% tough the lower levels are of course not accessible due to lasing threshold of the diode

One caveat that I stumbled over was that Marlins GCode processing is that this works - obviously - asynchronous. Commands like M42 get executed exactly when the decoder sees them and not after the previous command has been finished by the motion planner. In this case one has to insert M400 finish moved statements immediately in advance. This was not a problem during the first tests when I used fine grained circles since the delay way nearly not noticeable but when I started to use my own script generating simple rectangles it even lead to the cutter only cutting half of the rectangles

## First test in 4mm plywood

Running some test structures shows some thresholds for cutting in 4mm cottonwood plywood. The laser head has been positioned 19mm above the surface (focal length 20mm), the cut diameter is around 0.3mm.

1 no cut only engraving
10 starting from 6th cut (64%, S163, 3.52W optical power) not worse than higher powers and repeats
25 starting from 3rd cut (36%, S94, 1.98W) ok
50   aborted somewhere in between, inconclusive

On first sight it looked like the surface had only been engraved but lifting the wooden board shows that everything except the single pass that only engraved did a clean cut - at least at the highest energy setting. Note that the structure on the backside are no cutting artifacts but remains of the previous try on the other side of the board.

A closer look shows that all rings starting from the 6th cut worked perfectly well with 10 passes - this has been around 64% optical output power (3.52W):

On the 25 pass structure everything from the 3rd cut has succeeded:

I’ve interrupted the cut of the 50 pass structure due to long cutting duration so there is no conclusion from this structure:

Below the plywood I used another board of plywood wrapped in 4 layers of aluminum foil since the 450nm laser will not be able to cut through aluminum foil. One can clearly see residue of the burnt non organic components of the wooden boards:

## Cutting in 4mm and 2mm plywood

This works pretty well with a lower power 5.5W 450nm diode. The cuts are not as good as with a 405nm diode but they are cheaply available at higher powers. Most of the cuts have been made with one pass at 50% of power for engraving and between 10 to 15 passes with 100% of power for cutting. Additional tuning will be required though since there are some marks of burnt fumes on the edges of the wood though.

Note that the closed build surface provided a air vent through a activated carbon filter to neutralize the burnt adhesives (usually phenol or urea formaldehyde resins) as well as the burnt tar - do not threat this gasses thoughtless. Either provide really good ventilation or other safety measures.

## Used tools

### Printer control and firmware

The printer was used unmodified with Marlin as firmware on an AVR board and Octoprint as networked printer controller so one can use the device independent of any other machine. This is something that’s less important for laser cutters than for 3D printers since they might do pretty long print jobs (on the order of days) in an unattended fashion. Management of print jobs is again done using the MQTT interface and HTTP interface of Octoprint as is done with 3D prints. I just had to disable the Filament Manager plugin that keeps track of used filament rolls during prints since the laser cutting GCode does not include any tool movements that this plugin recognizes which would lead to the plugin preventing one from starting the print.

### Initial calibration and parameter test structure generator

So the first tests went not so great due to determination of correct parameters for the respective materials. To aid this a little bit I decided to implement my own simple test structure generator. The structures consist of nested rectangles that are drawn with increasing power from outside inwards. The basic idea was to see when a clean cut allows one to directly remove a part of the material or when it’s just perforated. In addition the generator generates a set of power sequences for different numbers of passes on the specified area.

The (rather crude) code is available as a GitHub GIST

### Inkscape and the Inkscape-Lasertools-Plugin

The first tool that has been used to do 2D vector graphics is the really great vector graphics program Inkscape. It’s open source and allows simple editing of vector graphics in it’s native SVG format. In addition there is a great plugin - the Inkscape-Lasertools-Plugin that one can then use to convert paths into generic GCode sequences with some configurable settings like GCode used to turn the laser on or off, cutting speed, Z stepping on each iteration as well as two different laser powers for infill regions and cutting regions which is interesting when engraving. Unfortunately one cannot really decide which paths to use for engraving and which for cutting - but one can easily generate two different GCode sequences when one wants to do both and then perform first engraving, then cutting.

### Valentina / Seamly2D

Not directly working with the laser cutter but the head of the tool chain I use for fabric - Seamly2D, previously called Valentina as one of the best open source and free pattern drafting tools (which also offers management of measurements with SeamlyMe so you can adapt your parameterized designs to different people) allows exporting it’s paths as scalable vector graphics (SVG). This can then be imported in Inkscape and exported as GCode again using the Inkscape-Lasertools-Plugin. Of course cutting fabric only became more interesting after scaling up the working area of the cutter a little bit …

### A custom GCode combination and analysis toolkit

Over the course of time also a small custom GCode combination and analysis toolkit emerged. The basic idea was to have a tool that:

• Is able to combine engraving and cutting codes into a single GCode file
• Allows one to decide over the used power levels during the combining step so one can use a GCode repository with different materials and power levels
• Allows one to combine multiple print jobs onto a single surface to use the whole area of the source material. This should also be possible via batch processing of a simple job queue.
• Generate job files that describe all engrave and cutting steps using JSON. This is also thought for the batch processing mode later on - they can be stored in conjunction with the source GCode to allow easy modification of settings applied by the post processor.
• Modify z stepping in between different cutting steps.
• Provide a quick summary of GCode files to check all movement margins lie within the supported print area and also only cover the desired material.

The tool has been developed in Python and only supports a really small subset of GCode - it’s available on GitHub

## Material data

The following material list is just a collection of some experiments that I’ve done myself. It will grow over time, is by no way complete and should not be seen as an authoritative source for reliable information. As one can see there are also some fun records in there.

### Wood

Laser Wavelength Material Speed (cutting) Speed (travel) Iterations Power Result Product link
5.5W 405nm Plywood (cottonwood) 300 mm/sec 3000 mm/sec 1 100% S255 (5.5 optical power) Engraving (also works with ~ 20% power)
5.5W 405nm Plywood (cottonwood) 300 mm/sec 3000 mm/sec 10 64% S163 (3.52W optical power) Cuts 4mm plywood, about 0.3mm cut diameter; 19mm above top surface

### Plastics

Laser Wavelength Material Speed (cutting) Speed (travel) Iterations Power Result Product link
5.5W 405nm PMMA, transparent 300 mm/sec 3000 mm/sec 1 100% S255 (5.5W optical power) No sign of any cuts; plywood below would burn and cause residue on the PMMA surface; maybe a light shadow around the cut region
5.5W 405nm PMMA, transparent, painted with black permanent Edding 300 mm/sec 3000 mm/sec 1 100% S255 (5.5W optical power) Cuts as long as paint is present (burns paint), cuts a few tenth of millimeters into the PMMA (upside and downside works)
5.5W 405nm PLA, 7mm BQ coal black 300 mm/sec 3000 mm/sec 1 100% S255 (5.5W optical power) Engraving a few tenths
5.5W 405nm PLA, 7mm BQ coal black 300 mm/sec 3000 mm/sec 10 40% S102 (2.2W optical power) Clean cut after 10 iterations at 40%

### Biological and Various

Laser Wavelength Material Speed (cutting) Speed (travel) Iterations Power Result Product link
5.5W 405nm Leaf of a tree 300 mm/sec 3000 mm/sec 1 100% S255 (5.5W optical power) Hard to focus, leaves burnt track, possible that multiple passes cut as for plywood (most likely)
5.5W 405nm White bread (dry) 300 mm/sec 3000 mm/sec 1 100% S255 (5.5W optical power) Leaves marks as on plywood (engraving)
5.5W 405nm White bread (dry) 300 mm/sec 3000 mm/sec 10 100% S255 (5.5W optical power) Around 3mm deep cut, heavily burnt
5.5W 405nm White paper 300 mm/sec 3000 mm/sec 1 100% S255 (5.5W optical power) Way too slow, fire
5.5W 405nm White floor impact fall insulation 300 mm/sec 3000 mm/sec 10 100% S255 (5.5W optical power) No visible effect

### PCB

Laser Wavelength Material Speed (cutting) Speed (travel) Iterations Power Result Product link
5.5W 405nm Copper coated FR4, Copper side 300 mm/sec 3000 mm/sec 1 100% S255 (5.5W optical power) No visible effect

### Glass

Laser Wavelength Material Speed (cutting) Speed (travel) Iterations Power Result Product link
5.5W 405nm Microscope slide (Borosilicate) 300 mm/sec 3000 mm/sec 1 100% S255 (5.5W optical power) No visible effect
5.5W 405nm Microscope slide (Borosilicate) 300 mm/sec 3000 mm/sec 10 100% S255 (5.5W optical power) No visible effect

### Cloth

Laser Wavelength Material Cotton Polyester Elastan Viscose Polyurethane Acetate Speed (cutting) Speed (travel) Iterations Power Result Product link
5.5W 405nm Cotton beige 100%           300 mm/sec 3000 mm/sec 3-4 100% S255 (5.5W optical power) Works Stoff4You
5.5W 405nm Cotton battist white 100%           300 mm/sec 3000 mm/sec 7 100% S255 (5.5W optical power) Works Stoff4You
5.5W 405nm Viscose pattern blue       100%     300 mm/sec 3000 mm/sec 4 100% S255 (5.5W optical power) Works
5.5W 405nm Sweatshirtstoff sand 60% 40%         300 mm/sec 3000 mm/sec 2-3 100% S255 (5.5W optical power) Works, burned at more than 5 iterations Stoff4You
5.5W 405nm Crepe Chiffon rose   98% 2%       300 mm/sec 3000 mm/sec 1 100% S255 (5.5W optical power) Works Stoff4You
5.5W 405nm Vichy Karo green-white   100%         300 mm/sec 3000 mm/sec 1 / 30 100% S255 (5.5W optical power) green works with 1 iteration, white not at all or at 30 it. Stoff4You
5.5W 405nm Cotton Jersey black / brown 100%           300 mm/sec 3000 mm/sec 1 100% S255 (5.5W optical power) Works
5.5W 405nm Universal cloth black   100%         300 mm/sec 3000 mm/sec 1 100% S255 (5.5W optical power) Works Stoff4You
5.5W 405nm Viscose Jersey red     8% 92%     300 mm/sec 3000 mm/sec 1 100% S255 (5.5W optical power) Works
5.5W 405nm Crepe Georgette bordeaux   97% 3%       300 mm/sec 3000 mm/sec 1 100% S255 (5.5W optical power) Works Stoff4You
5.5W 405nm Bekleidungsstoff Acetat           100% 300 mm/sec 3000 mm/sec 1 100% S255 (5.5W optical power) Works Stoff4You
5.5W 405nm Bekleidungsstoff Stretch Viscose beige   64% 4% 32%     300 mm/sec 3000 mm/sec 3-4 100% S255 (5.5W optical power) Works Stoff4You
5.5W 405nm Artificial leather brown   29%     71%   300 mm/sec 3000 mm/sec 5-6 100% S255 (5.5W optical power) Works
5.5W 405nm Artificial leather black   29%     71%   300 mm/sec 3000 mm/sec   100% S255 (5.5W optical power)