THIS page is an extremely rough draft. You can help us improve it.
(Someday this page will document many of the known-working systems. A few known-working systems are already documented at RepRap Options).

This page has been flagged as containing duplicate material that Firmware/Alternative also attempts to cover.These pages should be merged such that both pages do not attempt to cover the duplicate topics.

Contents

Overview

The software used for RepRap can be divided into two categories: CAD (Computer Aided Design) and CAM (Computer Aided Manufacturing). Once you have created or downloaded a CAD file (in .stl file format), you will use some combination of CAM software to print it. A complete RepRap CAM toolchain consists of all the software elements needed to create printed 3d models from CAD models to firmware. To help visualize this for new users, consider the flow chart below:

The firmware installed on your printer determines how the printer controller reacts to the GCODE you send it. (ex. Sprinter, Teacup, Marlin, or your very own!)

The lists below contain various toolchain components available and provides a comparison of their features, compatible components and how to get them.

It should be noted that a comparison of CAD modeling programs is outside of the scope of this article. CAM toolchains are generally CAD program agnostic because they can accept standard STL models as input which almost all CAD programs can export directly or through plugins. See Useful Software Packages for a list of various CAD related software

G-code, Etc. Compilers

A slicer takes a 3D CAD model, usually in the form of an STL file, and creates the toolpaths neccessary to print this model. RepRap uses G-code as the standard format for toolpath information.

Note: "Host" drivers such as the RepRap Host Software are listed here and under RepRap Drivers below, as they serve both functions. For comparison purposes however, their features have been split into the relevant tables.

RepRap Drivers

A RepRap Driver (also called a controller or G-code sender) is the program which sends G-code commands to the firmware installed on the printer. The driver serves as the user interface for the printer.

Note: Drivers with Modern RepRap listed under Compatible Firmware(s) are all firmwares which do acceleration on the controller, like Sprinter, Marlin, Teacup, Repetier, Smoothie, ...

Note: "Host" drivers such as the RepRap Host Software are listed here and under GCode compilers above as they serve both functions. For comparison purposes however, their features have been split into the relevant tables.

Firmware

Firmware is installed on printer itself. It controls the motors and heating elements, and monitors the thermistors and endstops. Here is a brief list of active firmware for RepRaps: