The software part of a 3D printer can be divided in to two parts; the software on the host computer (slicer), and the software on the printer itself (firmware). In this post we will discuss how you can configure and optimize your software for metal 3D printing (FDM).


The top layer of the software chain is the CAD program. In this program, the 3D model will be created.

When designing a part for FDM printing, it is important to keep in mind that this technique has some major physical limitations. To start with the most obvious one: wall thickness. When extruding, a “bead” of the molten material will form. The width of this bead is dependent on several factors, namely: extrusion feed rate (mm/s), movement speed (mm/s), and voltage setting. The previously mentioned factors also affect the height of the bead.


The slicer will slice the CAD file (.stl) into layers and save it as a G-code file. To generate a valid G-code the slicer has to be configured correctly. When printing metal, it is important to keep the printing speed constant.


We wrote a plugin for Cura (host software/slicer). This plugin will add increasing delays between every layer so the molten metal can cool down, additionally it adds a G-code command to turn on/off a relay on port D11 to control the torch/extruder. We did not have the time to find out how to delete the E (extrude) commands from the gcode file, so we do that by hand after the gcode is generated. This step is necessary so that only the printer moves and the extruder code (plastic) does not limit or influence the print speed. The plugin can be found on the download page. It could probably be possible to use GRBL instead to get rid of all the special (polymer) 3D printer code that we do not use.


We used the Repetier firmware with our 3D printer. This software is versatile, well documented, and easy to configure. We used the Repetier firmware configuration tool to configure all the settings, the settings file can be found on the download page. As mentioned above, it would be easier and more straight forward to use GBRL firmware/hardware instead of Repetier+Ramps1.4. We used Repetier and the Ramps hardware because it came with our Prusa i3  kit. An Arduino uno + GBRL shield would be cheaper than a Ramps 1.4 kit too, and we did not use all the extra features of the Ramps hardware. So keep that in mind.

– The Metalprinters