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

04 Dec 2022 - tsp
Last update 21 Mar 2023
Reading time 27 mins


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) Min, Max, Typical (Sharp GH04C05Y9G)
Optical output power $I_f = 3.0A$ 4.35W typ. 5.0W typ. 5.075W to 7W typ.
Dominant wavelength $I_f = 3.0A$ 448nm, 462nm, 455nm 448nm, 462nm, 455nm 440nm
Threshold current CW operation 280mA, 480mA, - 220mA, 420mA, - -, 370mA, 0.45mA
Slope efficiency CW operation 1.7 W/A typ. 1.8 W/A typ. 1.45 W/A min to 2 W/A typ.
Forward voltage $I_f = 3.0A$ 3.6V, 4.8V, - 3.6V, 4.8V, - 4.0V, 4.6V, 5.3V
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 4, 10, 16
Beam divergence (perend.) $I_f = 3.0A$ -1.0 deg, 1.0 deg, 0 -1.0 deg, 1.0 deg, 0 35, 43, 53

One should also honor the absolute maximum ratings:

Quantity Abs. Maximum (NUBM08) Abs. Maximum (NUBM0E) Abs. Maximum (Sharp GH04C05Y9G) Comment
Forward current (at $22 C$) 3.5 A 3.5 A 3.5A 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 -40 to 85C  
Operating temperature 0 to 70C 0 to 70C 0 to 60C 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 sign

Laser warning sign

So first a few words of caution:

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.


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:

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

Failed test structure engraving and cutting

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.

Repeats Threshold for cutting Comments
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

Result of the first test cut

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.

Lifting the board on first test

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):

10 passes

10 passes

10 passes

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

25 passes

25 passes

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

50 interrupted passes

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:

Residue of the burnt board

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.

Temporary laser cutter setup with the 450nm diode

Laser while cutting

Laser while cutting

Final result of a test cut

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.

Test structure engraving and cutting

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:

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.


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  


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  


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  


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  


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)    

This article is tagged: Hardware, DIY, Laser, Projects

Data protection policy

Dipl.-Ing. Thomas Spielauer, Wien (

This webpage is also available via TOR at http://rh6v563nt2dnxd5h2vhhqkudmyvjaevgiv77c62xflas52d5omtkxuid.onion/

Valid HTML 4.01 Strict Powered by FreeBSD IPv6 support