RepRap Options

From RepRap
Revision as of 20:33, 6 March 2012 by Bubbapizza (talk | contribs) (Belts and Pulleys)
Jump to: navigation, search

This page attempt to make some sense, in general, 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 your best bet is to take a look at The incomplete reprap beginner's guide. In addition to that guide, you may also want to take a look at the links under the Models section below.

That being said, to get a higher-level overview, we must start with discussing the different models of repraps, then go on to the three main components of a reprap:

  • the software toolchain
  • the electronics
  • and the mechanical body.


Here is a list of repraps and links with more details on how to build them:

  • 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).

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. Technically, the term for what you are doing with firmware is called cross compiling.

This process more or less consists of the following steps:

  1. install the Arduino IDE on your PC
  2. download some firmware source code from a website
  3. make some minor changes to the source code to specify what hardware you have
  4. compile the firmware using the Arduino IDE
  5. connect the controller to your PC via a USB cable
  6. upload the firmware to your controller's CPU.

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 compile and 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.



In general, all reprap electronics are broken down into 5 different areas:

The controller

The controller is the brains of the reprap. Almost all reprap controllers are based on the work of the Arduino microcontroller. While a lot of variations exist, they are exchangeable and basically do all the same. Sometimes the controller is a stand-alone circuit board with chips on it, sometimes the controller is an Arduino Mega with an add-on board (called a 'shield'). Find more at List of electronics.

Stepper Motors

A stepper motor is a type of electric motor that can be accurately controlled with the controller. Most repraps use 4 to 5 stepper motors. 3 to 4 motors control the x/y/z axis movement (sometimes the z axis is controlled by 2 motors) and 1 motor controls the extruder.

Stepper Drivers

A stepper driver is a chip that acts as a kind of middle-man between a stepper motor and the controller. It simplifies the signals that need to be sent to the stepper motor in order to get it to move.

Sometimes the stepper drivers are on separate circuit boards that are linked to the controller via cables.

Sometimes the stepper drivers are on small circuit boards that plug directly into the controller itself. In this case, the controller will have space for at least 4 of these small circuit boards (one for each stepper motor).

Finally, sometimes the stepper drivers are soldered right onto the controller itself.

End stops

An end stop is a very small and simple circuit board with a switch of some sort on it that tells the reprap when it has moved too far in one direction. Thus, there's normally 6 of these: 2 for each axis. A single end stop connects via wires to either

  1. the controller or
  2. a stepper driver board.

Heated Bed

The heated bed is an optional component of a reprap. This is what the reprap's plastic parts get printed onto. Without a heated bed, parts can have a tendency to cool down before the print is done and warp, as well as fall off the bed.

More Info

To see more details about reprap electronics, take a look at the List of electronics page.

Mechanical Body

Belts and Pulleys

This is extremely poorly documented in the wiki but when it comes to accuracy, THE MOST IMPORTANT PART of your reprap is your belt/pulley combination. To get the best accuracy, you want a GT2 belt, along with a machined GT2 pulley that matches the exact bore size of your stepper motors (normally this is 5mm).

There are generally 3 types of belt/pulley combinations:

These are metric belts and the pulleys themselves can be printed. Using a printed pulley will give you approximately the same results as if you use an MXL pulley/belt combination with the wrong bore size. These belts are harder to get in North America
This stand for "mini extra-light". These belts are common in North America because they use imperial sizes. The distance between teeth is 0.08". You *may* be able to find pulleys that have a 5mm bore but it seems difficult. Most stepper motors have spindles that are 5mm in diameter.
unlike the MXL and T5 belts, GT2 belts have round teeth with very low backlash. T5 and MXL are both timing belts so they have trapezoidal teeth and deliberate backlash to reduce belt wear and noise for uni-directional applications. These are hard to find everywhere.

For more info see Choosing Belts and Pulleys.

Other stuff

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.