3D Printer Software

From Open Source Ecology
Jump to: navigation, search

{{Hint|Outdated but kept for legacy purposes. 3D Printing software current as of 1/19 is at D3D v18.01


This sofware was used for the March 19, 2016 Prusa i3 Build. Evolution is continuing for future 3D printers - see 3D Printer Roadmap. One can either use the ISO below or download and install individual software packages:

Current ISO Repository

This is used to generate a USB stick for running a separate operating system with all control software.

See https://github.com/tobbelobb/D3D-Porteus


  • Firmware - Marlin, uploaded via Arduino IDE interface. Firmware is used to only communicate with software, to interpret g-code as related to the geometry of the 3D Printer - for example delta vs. right angle configuration.
  • Software - on host computer - Repetier. Calls upon Slic3r for slicing strategy. Appears to control various 3D Printer parameters.
  • What settings are adjusted in the firmware, and what settings are adjusted in the software?
  • Note that firmware may have to be updated based on the specifics of the 3D printer. So for example, we may not be able to use the same Marlin as Prusa i3 Marlin - so we download one version already set for ours - Folgertech 2020 Prusa i3 Marlin. (it turned out that most of the motors were reversed in this firmware compared to original build from the Folgertech instructional, and the x endstop had to be changed from its position of MIN to MAX as in the Improvements section above.)
  • Marlin is one option for firmware. Others are Repetier Firmware, RepRap Firmware, Teacup, Franklin.

Live Linux

In order to eliminate any software issues, OSE is preparing a Live Linux on a USB stick so the printer can be run from a USB stick, regardless of computer platform. Our software has all the required programs and settings for running the 3D printer.

Get the software download at D3D Live ISO.

Initial Tests

After downloading the Folgertech 2020 Prusa i3 Marlin, installed Repetier on an Ubuntu operating system. Dragged it to the sidebar (Unity launch bar) after installing via commandline, so clicking on the Repetier icon opened up Repetier.

Repetier kept crashing (apparently due to bad baud rate setting) se we switched to Cura, Lulzbot edition, which did not crash but allowed no settings to be changed. So we went to Pronterface as the most robust solution, which did not crash and allowed the baud rate to be changed. By this testing, Pronterface is thus our default choice, based on best initial performance.

So back to Pronterface. After installing on the Desktop, and going into its directory and running it by typing in Terminal: ./pronterface.py (can't run .py by double clicking it on the used Ubuntu system) (see to the right).

Raw Pronterface 3D printing interface after running, prior to connecting a 3D printer.
  • Upload Marlin first. Afterdownloading OSE Marlin, extract on desktop, open Arduino IDE, and open Marlin, which is in the Marlin folder -> marlin.ino.
  • To upload via Arduino IDE - select Tools -> Port -> Com1, and select Tools-> Board -> Arduino Mega.
  • To connect to Pronterface, baud rate should be 115200 (matching the baud rate specified in Marlin's Configuration.h file), and then you can hit Connect to 3D printer.
  • Tested axes by moving them manually in Pronterface. Went back to Marlin to reverse the axes, until all motion worked and homing was proper. Uploaded OSE Folgertech Prusa i3 Marlin - this works with a build following the instructions and wiring exactly as the Folgertech Build Guide.
  • Pronterface has a Gcode command line that allows you to provide commands. For example, it has a special code for cold extrusion - ie, bypassing thermal requirement for testing the extruder. See G Codes in Marlin.
  • To test extruder, I stuck in a thread and hit the extrude button cold. Is sucked the thread out, so I reversed its direction in Marlin firmware, configuration.h file (using Arduino IDE)- by changing line 320 to #define INVERT_E0_DIR true.
  • Note that machine will not let you travel away from endstops unless the machine is homed. So home the x, y, and z axes in Pronterface. Then you can travel freely by hitting the travel buttons in Pronterface.
  • Download 10 mm Calibration Cube - and sliced it within Repertier Host -
    First test print g code generation using Repertier Host.
  • Pressed print on Pronterface and it worked on the first try. see images.
    First 1 cm calibration cube on Folgertech Prusa i3.
    Dimensions are good to +/- 200 microns on base and +500 microns on top where filament lifts off.
  • Glory.
    3D Printing is mature techology. Parts can be sourced at low cost and readily, and 3D printer build yields satisfactory results on the first try.

Reprap Wiki Page on Gcode

Maps how gcode is implemented in different firmwares. - http://reprap.org/wiki/Gcode For something on how firmwares' implementation of gcode could be improved regarding modularity concepts, see Gcode_Modularity.