DIY 3D Printer Software

A 3D printer needs special 3D printer software to run.  Actually, the whole process involves 3 different pieces of software.  Here is a description of the different types of DIY 3D printer software.


On the printer, there is an Arduino board – as I mentioned in the post on electronics.  The Arduino uses an Atmel microcontroller, which, like your computer, needs some sort of program before it can do anything.  The program that runs on the Arduino handles reading the temperature, moving the motors, and does calculations to make the extruder move smoothly from one place to another and extrude the plastic evenly along the way.  It is called “firmware” because it stays in memory  on the microcontroller that doesn’t get erased when the power is turned off.  It’s not quite part of the hardware and it’s not really like other software – it’s somewhere in between.  This program is uploaded with a USB cable from a PC.

The firmware I am using for this 3D printer is called Marlin.  It is an open source program that is well tested and has a lot of support.

PC Controller Software

Sometimes you can run a 3D printer without anything else attached.  Usually this means there is an SD card reader and you have the file you are going to print loaded on the SD card.  I didn’t have an SD card reader, so I had to connect the 3D printer to an old laptop I had using a USB cable.  This isn’t so bad, the DIY 3D printer software on the PC makes it easier to control the printer and lets you see see some details you wouldn’t see otherwise.

The standard software on the PC side for Reprap and open source 3d printers is Printrun. It is a set of Python programs that run on your PC and allows you to control your 3D printer.  I had to install Python and some Python libraries first, but then I was able to install Printrun.

The main program in Printrun is Pronterface (The spelling looks strange, but it is correct.) Pronterface connects to the arduino on your 3D printer and sends commands to move the motors, heat up the extruder, and do other things.  It will also send a print file to the printer and let you monitor the progress as it prints.  It does all this with a nice and easy to use graphical interface.  Once I got it installed and connected the printer, I was able to move the motors and check that things were working the way they should.

Things were getting interesting!

The Slicer

The last piece of DIY 3D printer software to mention is the slicer.  The slicer doesn’t control the printer directly, it prepares the print file that the 3D printer will use.  In the slicer you have some options for quality, speed, and other things.  Youl also need to indicate in the slicer some things about the printer such as the size of the nozzle and print bed, and some things about the plastic you are using such as the temperature you want to print at and the diameter of the plastic.  The slicer takes all of that information along with the 3D object you want to print and it produces a file that contains all of the instructions the printer needs to print the object layer by layer.

I have tried a few different slicers – Cura, Slic3r, and KISSlicer.  Cura is probably the best one to start with because it handles a lot of the settings for you.  Slic3r has a lot of settings and gives you more control over various parts of the printing process.