This is my 4th prototype of a metal 3D printer, it is made of PLA and uses 3 NEMA 17 stepper motors with GT2 belts.
The powder is melted using a Nichia laser array unit, capable of producing 95W of optical power.
This is something you should not mess around with, so if you want to try, buy at least OD7 protection glasses (they should be rated OD7 at the wavelength of the laser you are using, so around 450 nm in my case, the helmet you see me using is just to limit side reflections, under it there is a pair of certified laser safety glasses) and a good respirator unit, be always cautious to be alone while testing or with other people with the right protection gear, no animals, no kids around, and be sure that nobody has access to the room where you are testing unless the laser is off or unless you have a full opaque enclosure of your printer.
If you are thinking about building something like this, start with less reactive metals such as steel, and choose a particle dimension not too small (50µm or more) this will limit the oxidation capability of the powder.
The optics I'm using are coated aspheric lenses to focus the array to a small spot since the laser I'm using has already collimated beams with gang lenses.
Remember to choose lenses that have a clear aperture larger than your laser array diameter, and coated for the specific wavelength you are working with (this is to eliminate nasty reflections).
The aspheric lens must be placed at 1 back focal length distance from the surface of your laser, after that, you can adjust the lens holder distance from the build plate by losing the screws and putting the laser at minimum power, moving back and forth until you find where the laser spot is the smallest, then tighten the screw.
The control unit is an Arduino Mega with the Ramps shield 1.4 and A4988 drivers.
In my last iteration, I'm also using the piston axis with a ballscrew to have the right precision, since you should be very cautious to have the right layer height (20 to 70 micron is the right range for this type of laser).
The powder reservoir (right triangle shape) uses an electromagnet to attach itself to the cartesian system when the powder is needed, making a pass on the piston section which has gone one layer height down. After the powder pass, the reservoir goes back in his parking space, deactivates the electromagnet and the cartesian system moves around the laser with the lens to scan a new layer of powder.
All of these processes can be easily controlled using the Cura slicer and the post-processing functions to add Gcode.
The firmware I'm using is Marlin, the only modifications are normal changes such as the steps per unit and the dummy thermistor (with the dummy thermistor it will not wait for a nonexistent extruder to reach temperature).
I made some prints before cooking my lens and my lens holder, making a few lines printed out of stainless steel SS316L, and I have to say I'm proud of it as the first result.
The issue now is that the substrate is deforming under the heat of the laser, so I'm now getting my machined aluminum piston and a thick machined substrate made out of steel.
Those are quite pricey but it's part of the prototyping process...
I'm happy because I will be able to make longer prints with those, not being constrained by the limits of PLA melting or thin metal substrates deforming.