RepRap Options

From RepRap
Revision as of 13:49, 8 September 2011 by Cisox (talk | contribs) (Converted image captions to appropriate wiki links)
Jump to: navigation, search

The following sections below attempt to make some sense of how all the pieces fit together to create a RepRap. However, if you want to skip all this stuff and get straight to getting your hands dirty then take a look at (in alphabetical order):

  • How to Build Darwin - The first RepRap Version I design, which is now legacy.
  • How to Build a Huxley - The successor to Mendel (a.k.a. reprap III) it is still experimental, not-yet fully documented, and a more travel-sized Mendel variant
  • How to Build a Mendel - The original RepRap Version II design.
  • How to Build a Prusa - The faster to print, cheaper to build Mendel variant, using only common easy to get stuff (Start here if you're new to RepRap).

Now, if you're interested, the way a RepRap works can be broken down into three major areas:

  1. The software toolchain that generates instructions for the reprap
  2. The electronics that read the instructions and handle the movement of the reprap
  3. The mechanical body that does the actual printing

Software Toolchain

The software toolchain can be roughly broken down into 3 parts:

  1. CAD tools
  2. CAM tools
  3. Firmware for electronics

CAD Tools

Computer Aided Design, or CAD, tools are used to design 3D parts for printing.


CAD tools in the truest sense are designed to allow you to easily change and manipulate parts based on parameters. Sometimes CAD files are referred to as parametric files. They usually represent parts or assemblies in terms of Constructive Solid Geometry, or CSG. Using CSG, parts can be represented as a tree of boolean operations performed on primitive shapes such as cubes, spheres, cylinders, pyramids, etc. Open source apps that fall into this category would be OpenSCAD, FreeCAD and heekscad

Another looser category of CAD tool would be apps that represent parts as a 3D Polygon mesh. These applications are meant to be used more for special effects and artistic applications. They also seem to be a little more user-friendly. Open source apps in this category would be Blender, Google Sketchup and Art of Illusion.


Most of the time 3D software apps save their files in a proprietary or application-specific format. There are very few interchangeable CAD file formats. The two most widely used interchangeable CSG file formats are STEP and IGES. The most widely used interchangeable mesh file format is STL. STL files are important because, as we will see below, they are used by CAM tools.

Mesh files cannot be converted into CSG file formats. However, CSG file formats can be converted into mesh file formats. Thus, if you're designing a part, it's a good idea to design it using a CSG CAD application.

CAM Tools

Computer Aided Manufacturing, or CAM, tools handle the intermediate step of translating CAD files into a machine-friendly format used by the RepRap's electronics.


In order to turn a 3D part into a machine friendly format, CAM software needs an STL file. The machine friendly format that is used for printing is called G-code. It looks like early versions of Repraps used a protocol called SNAP but G-codes are what's used now. To Convert STL files to G-code, you have to use one of the following 3 programs:

  1. Skeinforge or
  2. RepSnapper or
  3. RepRap Host Software

The STL to G-conversion slices the part like salami and then looks at the cross section of each slice and figures out the path that the print head must go in order to squirt out plastic.

After you have your g-code file, you have to run it through a G-code interpreter. A G-code interpreter reads each line of the file and sends the actual electronic signals to the motors to tell the reprap how to move. There are 2 different G-code interpreters:

  1. A program called EMC which runs on your computer or
  2. the firmware on the Reprap's electronics

To send g-code files to the firmware, you need to either:

  1. Stick the g-code file on an SD card if the Reprap electronics have an SD card reader or
  2. Drip-feed the gl-codes one at a time over the USB port using either:


The main files use by CAM tools are STL and gcode files. CAM tools convert STL files into gcode files. The official STL files for Mendel are stored in the reprap subversion repository. To get a copy of these files, run the following commands in ubuntu:

sudo apt-get install subversion
svn co

This will create a directory full of STL files that you can then give to your neighbor that already has a reprap and they can print out the parts for you. You will also notice that this directory contains AoI files. These files are for Art of Illusion. It is the CAD application that was used to design the parts and then save them as STL files.


Reprap electronics are controlled by an inexpensive CPU such as the Atmel AVR processor. Atmel processors are what Arduino-based microcontrollers use. These processors are very wimpy compared to even the average 10 to 15 year old PC you find in the dump nowadays. However, these are CPUs so they do run primitive software. This primitive software they run is the Reprap's firmware.

Of the entire software chain that makes the Reprap work, the firmware portion of it is the closest you get to actual programming. Luckily, there are many people that have done all the heavy lifting already so you don't have to do much or any programming at all.

To make the electronics work, you download the firmware for your controller's CPU, possibly make some configuration file changes, possibly run some commands, then install the firmware to your electronics. The installation process usually consists of connecting a USB port to your computer and running an application.

After your microcontroller has its firmware loaded, it is ready to accept gcode files which have the machine-friendly instructions on how to print your part.

The following is a brief list of the most popular firmware:

For all available firmwares see List of Firmware


To upload firmware to your arduino-based electronics, you use the arduino IDE that you can download from the arduino website.


The firmware files are usually PDE files. You open these with the arduino IDE which in turn sends them to the reprap electronics via a USB cable.


A place to start with this is "Official" Electronics and RepRapElectronics and StepperMotor.

This document describes the protocol that the Generation 3 Electronics uses to drip-feed G-codes from the PC to the firmware.

Mechanical Body

This is the part of the reprap most people are probably eager to build.

There are around 40 parts in the Mendel that you have to print out from an existing reprap. If you don't have access to another reprap (which is probably 99.9% of the people reading this), you'll have to make those parts by hand using wood or steel I'm guessing. If you don't have a wood workshop or CNC machine, I guess your best bet is to find a local machinist or carpenter that can make them for you.

A machinist or carpenter should be able to make parts from blueprints. Metal Mendel has some prints for a Mendel that should be useful.

To make prints for STL files, you pretty much have to redraw them in a 2D or 3D CAD app. If a 3D part is designed in Freecad, it can do the projections (prints) for you but you can't put any dimensions on the parts. According to the Freecad team, you'd have to export the prints as dxf files, and import them to QCad to add dimensions.

Bill of Materials

Other than the printable portions of the reprap, again, you'll need a spreadsheet listing parts to buy, suppliers, estimated cost, etc.

Building the Body

To build the body, take a look at the STEP file in the source code, look at videos and I think there's stuff elsewhere in this wiki.