The incomplete RepRap Prusa Mendel beginner's guide

From RepRap
Jump to: navigation, search

Warning: This guide is for an older RepRap model which has been superseded by several new models and information may not be up to date or accurate.

The incomplete RepRap Prusa Mendel beginner's guide is an attempt to gather in one document all the information about RepRap Prusa Mendel, that is available on the Internet.

The reason for doing it, is that it is sometimes more practical to have some basic information gathered in one place, than trying to get fast and accurate answers in IRC or anywere else on the Internet, for issues that a newbie cannot even understand and express.

Mostly this work is a ‘copy&paste’ of sites' critical info, links with useful material, and some of my experience.

This guide was firstly authored at OCTOBER 2011 and is updating since then.

Although it is focused on the Mendel Prusa model, I hope it may be useful for builders of other models.

This guide can also be used as a portal to other links such as Thingiverse, Richard Horne's blog, Slicer-Cura-Craftware etc, Marlin-Sprinter, Repetier etc.....

Under no circumstances can this document be considered complete. If you find and old link that is not working, please try to find a replacement first before deleting it. I think this page helped many reprappers and makers to enter the 3d printing world easily, without the fuzziness of the early years, where the information that is gathered here, was a privilege of the few, not because of purpose, but because of the very few information channels of that time. Please support the page, if you have some spare minutes and add a link that you think it is useful for the community.

By COS_ (Konstantinos Tziampazis). You can download this document (v2)here


What is 3D printing?

…“3D printing is a form of additive manufacturing technology where a three dimensional object is created by laying down successive layers of material. 3D printers are generally faster, more affordable and easier to use than other additive manufacturing technologies. 3D printers offer product developers the ability to print parts and assemblies made of several materials with different mechanical and physical properties in a single build process. Advanced 3D printing technologies yield models that can serve as product prototypes.”
…“A large number of competing technologies are available to do 3D printing. Their main differences are found in the way layers are built to create parts. Some methods use melting or softening material to produce the layers, e.g. selective laser sintering (SLS) and fused deposition modeling (FDM), while others lay liquid materials that are cured with different technologies. In the case of lamination systems, thin layers are cut to shape and joined together.”
…“Industrial 3D printers are made by companies such as Objet Geometries, Stratasys, 3DSystems and Z-corp. The average price of such a printer is €10,000 or more.”

(- Wikipedia; 3D printing)

RepRap Mendel prusa is an FDM (Fused Deposition Modeling) 3D printer. Here are some videos on how FDM works:

You can find many more on youtube.

Videos of some commercial 3d printers:

What is RepRap?

“RepRap is a free desktop 3D printer capable of printing plastic objects. Since many parts of RepRap are made from plastic and RepRap can print those parts, RepRap is a self-replicating machine - one that anyone can build given the time and materials. It also means that - if you've got a RepRap - you can print lots of useful stuff, and you can print another RepRap for a friend... …RepRap is about making self-replicating machines, and making them freely available for the benefit of everyone……RepRap was the first of the low-cost 3D printers, and the RepRap Project started the open-source 3D printer revolution. It is described in the video on the right.” (Main_Page)

… “RepRap is short for Replicating Rapid-prototyper. It is the practical self-copying 3D printer introduced in the video on the left - a self-replicating machine. This 3D printer builds the parts up in layers of plastic. This technology already exists, but the cheapest commercial machine would cost you about €30,000 and isn't even designed so that it can make itself. So what the RepRap team are doing is to develop and to give away the designs for a much cheaper machine with the novel capability of being able to self-copy (material costs are about €350). That way it's accessible to small communities in the developing world as well as individuals in the developed world. Following the principles of the Free Software Movement, we are distributing the RepRap machine at no cost to everyone under an open source license (the GNU General Public Licence). So, if you have a RepRap machine, you can use it to make another and give that one to a friend... …The RepRap project became widely known after large press coverage in March 2005, though the idea goes back to a paper on the web written by Adrian Bowyer on 2 February 2004.” (About)

Adrian Bowyer explains his 3D printer RepRap:

There are various RepRap models such as:

  • Darwin (the father, where it all begun)
  • Mendel (by Ed Sells, the successor) AND RepRapPro Mendel introduces Prusa's 2 z motors and uses bowden extruder, resulting to a new model. This work is done by Adrian Bowyer and his team.
  • Huxley (by ErikDeBruijn, the smaller) AND RepRapPro Huxley is a recent improvement of Huxley, by introducing Prusa's 2 z motors and using bowden extruder, resulting to a new model. This work is done by Adrian Bowyer and his team.
  • Prusa (by Josef Prusa, the faster&easier to build&print Mendel)
  • Prusa V2 (by Josef Prusa, newer, better, with new RP parts, and many old but optimised)
  • Tantillus (by Sublime, the fully printable portable RepRap!)
  • Prusa i3. The i3 incorporates lessons learned from the previous two Prusa designs, as well as other popular modern RepRap designs.
  • Makergear Prusa (By Rick Pollack, a commercial sold prusa kit with some RP parts modded for best performance )
  • Wilson ( Prusa with frame made of 2020 aluminium extrusions, initial design by mjrice)
  • Wallace(by whosawhatsis, is loosely based on the Printrbot, but is a complete redesign in [OpenSCAD] to be more robust)
  • Prusa Air 2 (by Mecano, some transparent plastic gives prusa an extra air)
  • Rostock (by Johann, is a delta robot 3D printer with build volume 8x8x16 inches or 200x200x400 mm. Although its design does not resembles at all like a RepRap, it is a DIY 3D printer that uses RP printed pieces like RepRap).
  • FoldaRap (by Emmanuel, the foldable-portable RepRap!)
  • Morgan (by Quentin Harley the Uplift Prize Winner!).
  • Simpson (by Nicholas Seward, is characterized by a delta infrastructure with only simple revolute joints, pretty neat to see it print!)
  • R-360 (by Replicator Warehouse, is the first polar printer with rotating bed!)

Below, you will find Mendel-like or Mendel clones that are sold in kits commercially, and have slight build differences than the original mendel: (These models are the product of development of respective vendors)

NOTE: you must have in mind that choosing a Mendel-like model, may be hard to find specific parts when these will/may brake.

The RepRap Family Tree shows the development and variations of the RepRap project, and RepRap Family DB is a spreadsheet which lists the developments as they occur.

Ok, I want one

Well done! Before you make up your mind you need to make some research on the subject. After all you are a newbie …..( since you are reading this).

Before reading further, you must understand that RepRap is an open source project that is under development, and requires some technical skills (from soldering to crafting). If you are excited with 3D printing only and NOT with building, I suggest you buy a pre-assembled, commercially sold machine and don’t bother reading the rest of the document concerning building and fine-tuning.

Remember …“it's generally suggested not to buy a full kit because you will have a hard time finding someone to repair the machine once it does break. All 3d printers eventually break."

Below you will find commercial sold 3D desktop printers, ready to print:
*M(aka Mosaic)
These printers have significant design, FW&host s/w and build, differences than the original RepRap concept, 
however they are suitable for those who want to enter 3D printing just for printing. All the above printers,
consist of build components that cannot be replicated using the printer itself, which is a major aspect that 
differentiates RepRap printers from the others. These printers are not RepRap.

For assembled-ready machines please read chapter 2.

If you are reading this, then I assume you have decided to enter the rabbit hole.. This means that you not only are interested to have 3D prints but you also like the voyage of making your own RepRap. In order to succeed in this voyage, you need to make only 3 stops...

1st stop Is the website of Here, you will find almost anything, although some info may be obsolete, other may be up-to-date.

I suggest you read A LOT. You can use the glossary to familiarize yourself with new terms (, select one of the ‘how to build’ pages ( just to get the taste of what awaits you…. Also there is a search engine within the website that you will find very useful, since the tons of info cannot be easily found through page browsing. For example, type in the search field: object, extruder, etc. I found it quite useful as a dictionary for unknown technical words (i.e. heated bed, squished frog, stepper driver, etc.)

All the necessary information about building can be found here:

2nd stop is irc:// (for chatzilla) or a simple browser-based chat interface.

Those with IRC clients, simply select the freenode server, then the #reprap channel.

In IRC you will get help right away, by very experienced users. Just introduce yourself and ask your question. In IRC, information is up-to-date, although sometimes you may find difficult to explain exactly what is the issue that you are experiencing. This can happen because of language barrier and lack of technical experience. But don’t worry, almost everybody is willing to help.

3rd stop Is the RepRap forum at Here, your question may have been already answered. Check this thoroughly.


RepRap options

You have 3 options:

  1. buy a fully assembled Mendel
  2. buy one complete Mendel (or Mendel-like) kit
  3. build one (buy all the parts from different dealers)

Category 1 usually applies to models of category 2 but the models are sold already assembled. However, I wouldn’t recommend it since they are delicate and heavy for shipping:

check the More information you can find in the IRC channel.

Category 2 is the playfield for the average amateur who does not know much about electronics, crafting, soldering, engineering, programming, or does not have easy access to all the parts needed to build a machine. It is for those who have fun building plastic kit models, or for those who have some experience with tools such as screwdrivers, multimeters, dremel, solders, etc. It is for the majority (like me) who want to build a printer fast and easy.

The recipe is easy: the kit comes in a big and heavy box, you spend some time building it (lot of fun for model kit builders), you spend some time calibrating it, you spend the rest of your time printing and sharing our knowledge in #reprap.

check the

More information you can find in the IRC channel.

Category 3 is for the more experienced builders (ex-builders of category 2). Machines build that way cost considerably lower, about 50% less than category 2, but there is always the risk of finding parts with lower quality (like smooth rods that must be straight and very smooth). Nevertheless you have the overall quality control over each part, so you make your choices.

A RepRap consists of several different types of parts:

  1. Rapid Prototyped or "RP" parts (RepRaped parts that are used to mount the rods that make the frame, mount motors and x-y carriages). These are printed from another RepRap.
  2. Mechanical parts. Are the smooth rods (to slide the carriages) and threaded rods (to make the frame), nuts, washers, belts, bearings, springs, etc.
  3. Electronics parts. The controllers of the motors. All these are connected to a main “controller” that reads the gcode from the computer and translates to motor moves. Today, the most popular electronics are Arduino with pololu shield (called RAMPS ), or Arduino with Sanguinololu shield.
  4. Electrical parts. Like cables, power supply, stepper motors, endstops, etc.
  5. Hot-end parts. This is the most tricky part to find/make. More info at: HotEnd
  6. The printer firmware. Sprinter by Kliment is the suggested FW for Ramps machines. It uploads to Arduino via the Arduino control software
  7. The software. This includes: A) the HOST software that connects the PC with the printer (repsnapper, or preferably Kliment’s pronterface), and B) the application to convert the solid model into a series of gcode instructions that your printer understands (slic3r by Sound or skeinforge/SFACT-by Action68)
Spacexula, is trying to make a Step-by-Step cost-related guide

Since most of us cannot make our own hotend, here are some of the most well known suppliers:

Here is a detailed Hot_End_Comparison. In this list not all HotEnds are included (ie Prusa's Hotend is missing).

Check out this video comparison of the ParCan Hot end and the Reifsnyderb J-Head hot end by Rotorit.

Also check the Sourcing Guide for building a RepRap 3D printer.

If you wonder how the hotend can fail, check this video


To make a RepRap print an object you need to:

  1. build the hardware
  2. build the electronics (Category:Electronics; RAMPS, Sanguinololu, etc.)
  3. wire the motors, fans, endstops, thermistors, hotend to electronics
  4. upload firmware to electronics
  5. load Host to PC and connect printer
  6. use a slicer program on PC(skeinforge/sfact , slic3r) to slice an stl file (the object you want to print)and generate gcode
  7. load to your Host the generated gcode from the slicing program
  8. execute the 'print' command on Host

RepRapers toolkit

As a RepRaper you need a decent toolkit. No matter what option you choose. Even when you buy a fully assembled kit you need this for maintainance and (re)calibration. Having this ready saves you from frustration later. This page summarizes what you need: Required Tools


Finally, you need some plastic filament. For a list of companies(with reviews!) see the: Printing material suppliers page.
Please review your supplier as this will help others avoiding the bad ones and supporting the good ones!!


Assuming that you have all the needed parts, it is time to start building…. The BOM (bill of materials) is a list of all the necessary parts that you will need to build a prusa. This can be found in the prusa visual build manual mentioned below.

Manuals - Guides

Step By Step Instructions

  • The RepRap book. This is your first stop. A very comprehensive guide on building your own RepRap (Archived version from 2017-05-17, original from 2011).
  • Optionally, if you are making the WADE’s extruder, you will need this manual

Below, there is a series of instructions for Makergear Prusas. They are prusas with some parts modified for better. Makergear is also known for its good quality of hotends

  1. stepper plastruder instructions
  2. ceramic heater core instructions
  3. superpack instructions

After you have finished building, you need to calibrate the printer.

Here is Triffid Hunter's Calibration Guide.

Also, you need to read the Wiki Calibration guide.

The Rostock corner

Video Guides

The main source for video guides is (of course) You Tube. There are many people who share their experience by publishing videos. Below is just a little sample of what you can find.


  • The most up-2-date ultimate guide on builing any 3D printer (not specifically Prusa). David Florian, aka Dr. D-Flo gives a detailed guide on every part you will need, explaining also to the secrets behind each part. Although the video is almost 2,5 hours, is covers only the basic but most important stuff for the noob, only to give the encouragement for him/her to go deeper. Enjoy it HERE
  • How to build a RepRap Prusa i3, by engineglue

Preparing the printing surface


  • Note that some RepRap controllers like Generation 7 Electronics require no power supply preparations at all, you simply plug them in.

Hotend building

  • If you are experienced, you can make your own hotend. Wildseyed decribes how, in a series of tutorials



Guides, Tips, Tests and more

Thomas Sanladerer has done a remarkable work on the 3D printing insights. Its a great work, that will benefit both, amateurs and experienced Reprapers.

Maker's Muse channel provides unbiased and fair reviews of 3D Printers, 3D Scanners and Software. Mainly uses Simplify 3D as slicer, and a commercially build printer, he provides tips on printing and much more.

Teaching Tech. The channel features tutorials on 3D modelling, 3D printing, laser cutting, CNC machining, coding, robotics, electronics and graphic design.

The Rostock corner


Modern RepRaps (as of 2011) can choose from a pretty wide range of comparable electronics to control RepRap motors, sensors, etc... They all have the same basic feature set, run the same firmwares and differ in optional stuff like support for second extruders, only. I also would suggest to look into | Alternative Electronics.

  • Compact all-in-one board, all screw connectors, cheap: Melzi
  • RAMBo (RepRap Arduino-compatible Mother Board) : RAMBo
  • 4pi, a beautiful little 3d printer controller board by Kliment. 4pi needs its own firmware at github.
  • PCPowerSupply, if you have chosen to use it to power your RepRap electronics.

Note: When you ask kthx or someone for the cable color order for motors connection on electronics, you usually get 4 colors in particular order. It is presumed that you hold the electronics board at the right orientation, that is the orientation that allows you to read the letters or words that are printed on the board - not read the letters upsidedown!

Here are the main on-line electronic components distributors

  1. Digi-Key
  2. Farnell
  3. Mouser
  4. RS

For stepper motors try here and here

For Arduino here


All RepRap electronics are compatible to Arduino or are even stacked onto an original Arduino (RAMPS), making a sandwich. As such, the Arduino software and toolchain can be used to set them up.

Arduino drivers, control application, and install instructions (you need those to connect electronics with your computer and upload the firmware) Download page

Installation: Step-by-step instructions for setting up the Arduino software and connecting it to an Arduino Uno, Mega2560, Duemilanove, Mega, or Diecimila.


You need: 
#The HOST software (Pronterface, Repsnapper, RepRap, Repetier Host)
#The application to convert an object file into Gcode (Skeinforge/SFACT, Slic3r, RepRap, Repsnapper)
#Additional software (to create 3d objects for printing and then adjusting them on printing plate.
Note: for printing one object only, it is automatically set to center of print surface)

Here, is a Comparison of RepRap Toolchains (a toolchain consists of all the software elements needed to create printed 3d models from CAD models to firmware)

Host&slice Software

Repsnapper application, the host+slicer, manual and code for all available OSes

RepRap host software latest release , the original host+slicer by Adrian Bowyer's team. For installation instructions see:

and for user instructions see:

ReplicatorG Host+gcode application and manual

Host Software


is a simple to use host software, which is optimized to work with Repetier-Firmware. Other working firmware is Sprinter, Teacup, Marlin and all compatible firmwares around. There is also a slicing option. For slicing you can use the built-in Slic3r slicer or use the well-known Skeinforge. Main features are:

  1. Visual 3D preview of G-Code. You can even change the code and see the difference.
  2. Syntax highlighting and code explanation.
  3. STL composer - place, rotate and scale your STL files on your printbed and store or slice it.

Repetier-Host can be downloaded here.

OctoPrint differs from existing host solutions in that its major focus is to provide a web interface that allows controlling the printer remotely from anywhere on the network or even the internet while offering the same responsiveness and feedback options available on native host applications like the ones listed above.

Slicing Applications

Skeinforge gcode application and manual. Windows self-extracting here.Enrique's blog contains all the announcement and troubleshooting info about new versions of SF. Here is the ProfileMaker by Makerblock an online app to make SF profiles for you, powered by the formula in Dave Durant's Profileinator.

I have found these links on how to configure the skeinforge properly.

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]

Slic3r a promising gcode application by Sound, with the read me file. Here, is a very comprehensive guide on slic3r settings. Also, a Useful documentation for getting started and using Slic3r can be found here. There is a manual in pdf.

SFACT as mentioned previously, is an optimised version of SF with many parameters already preset-ed for you. Download it here. Also, there is a SFACT FAQ and SFACT in WIKI.

Cura is a project which aims to be an single software solution for 3D printing. While it is developed to be used with the Ultimaker 3D printer, it can be used with other RapRap based designs. Cura contains some of the Skeinforge engine, so it makes it somehow more mature and evolved than the other slicers. When slic3r cannot do my job, Cura will do it with the best printing quality. Just to be fair here, I did a comparison print using this dice; I sliced it with Cura, Slic3r and Craftware using same parameters everywere. Cura was the best by far (not mentioning FASTEST of all 3). You can do a similar test to verify it. Get it here.There is also a manual in pdf.

KISSlicer(Keep It Simple Slicer) is a new slicing programm that comes in two versions: free for single head, and PRO (not free) with multiple head and model support.Thre is a quick start quide, but no manual in English, just in German :-(

CraftWare is a brand new slicer, closed source at the moment, that initially is intended to be used with CraftBot, a 3D printer from Hungary. The software is very well written, it looks like Cura, but it does more...

You can even define support by hand, just like Meshmixer (!). It is fully parametric to suit your printer, since you can define nozzle, filament, print area, etc., and slices FAST! One could say that it combines CURA, SLIC3R and SCEINFORGE together! Get it here. No manual exists yet.

Simplify 3D is a leading Slicing S/W, that is not free. There is alot of support in the community, and is it does not cost too much. The cost can be justified by the print quality and suport.

Additional software

Art of illusion , the software that helps you to design your objects.

OpenSCAD, which is more focused on the design of non-artistic objects.

Blender can be used to arrange many objects in one print batch, like the platter found in pronterface. Also you can use it to rotate objects on the plate to meet your needs. A quick guide can be found here.

Meshmixer, by Autodesk 123D is a free tool for working with mesh models (like the ones you use for 3D printing). It is an excellent creative tool, great for mashing together existing meshes and also for preparing files (such as scans) for printing or fabrication.

MeshLab is an open source, portable, and extensible system for the processing and editing of unstructured 3D triangular meshes.

Netfabb Studio. A tool for repairing and manipulations of STL files. Netfabb Studio is free, but not open source. The "PRO" version (not free) comes with a professional slicer and many more.

3D object printing workflow:

3D Print Workflow
  • First, there is the NEED for a 3D object.
    You need an object, and you need it now.
  • Find or create object in digital form:

You can FIND it in a printable part sources such as Thingiverse, 3Dhacker, or anywhere else there are *stl or *obj files for download (free or not).
You can CREATE it using a Autodest 123D design, Sketchup, Blender, Solidworks, Openscad or any other 3d mesh software.
You can also create/replicate an object, if you already have a parent object, by 3D scanning or using its photos from various angles.
You can use 3D scanners such as MakerBot Digitizer, Fuel 3D (kickstarter funded), David-3D, or go to more professional systems (above $1000).
You can also use software that convert photos of various object angles to 3D mesh. You can use Autodesk 3D catch, Strata 3D CX

  • Repair / verify / manipulate mesh.

Once you have your digital model/object ready, you may need to verify visually its' mesh, or repair it. To edit / visually verify, you can use the 3d mesh design software mentioned above, or the Autodesk's meshmixer. Here, you can identify object's printing orientation and you can rotate it to its final print position.
It is common when you export meshes to stl or obj format, that your slicer will identify problems. To repair a mesh you need Netfabb.

  • Slice it!

Now, it is time to slice it. Use the slicer's parameters wisely. Always consult someone at #reprap. Always RTFM (if there is one).

  • Host the Gcode

Load host software, turn on printer, connect printer to host, load gcode file to host. Turn on hotends, fans, heaters, and whatever you use for printing. Verify object preview of host to what you expect.

  • Print it!

Watch the object while it is being creating.

Here is a page on Useful_Software_Packages with more description details and more links.


Current recommended firmwares for 8-bit Arduino-based electronics are Marlin and Repetier.

  • Sprinter firmware by Kliment and Caru, download it, unzip it, load it to arduino connection software, and then upload it. Remember to specify what Arduino you have, from the ‘tools’ menu. Please consult spacexula's video guide mentioned earlier.
  • Marlin firmware by EvdZ, is a mashup between Sprinter, grbl and many original parts. It is available for all hardware types (read the file). Marlin is configurable the same way as Sprinter. So, if you have already sprinter on your electronics you can paste most of your settings to Marlin. Main improvement over sprinter is the look-ahead function. The changes that need to do in marlin are about the same those given earlier for sprinter. Read the config.h carefully and make appropriate changes.
  • Sjfwis another firware by Scribblej, instruction can be found here.

Here, is a List of all Firmwares available, with more descriptions.

Note: before uploading your FW to arduino, you must make some changes in order to make it work properly. Just load appropriate *name*.h file on a text editor, or use Arduino's editor and make appropriate changes as suggested below:

  • Changes in "cofiguration.h" (these changes are compatible with sprinter. In Marlin, expressions may be slight differ but can be easily located. I have not tested other FWs)
    • set your motherboard (i.e.for RAMPS #define MOTHERBOARD 33)
    • set thermistors (i.e.for 100k #define THERMISTORHEATER 1 #define THERMISTORBED 1 )
    • Set your microsteps. See Triffid Hunter's Calibration Guide
      • For mendel with wade extruder: "float axis_steps_per_unit[] = {80, 80, 3200/1.25,700};"
    • verify resistors at endstops (i.e.#define ENDSTOPPULLUPS). also verify endstop flag (true or false depends on NC or NO connection, more for this chapter 4&5)
    • changes in "pins.h" (ONLY FOR RAMPS OWNERS, for sprinter & marlin)
    • Set your RAMPS motherboard version. Uncomment one of the following lines for RAMPS v1.3 or v1.0: "//#define RAMPS_V_1_3" or "// #define RAMPS_V_1_0)". Comment both for v1.2 or v1.1.
    • Set your bed dimensions to configure end-stop offsets and get prints correctly centered in the build area.


Flickr account. You need one in order to show your prints and printing problems
Dropbox. Share your files, you need this to paste your problematic gcode instead of inserting it to the IRC RepRap channel
The RepRap magazine
All about 3D printing
3dhacker is a free site dedicated to 3D printing. Members can showcase 3D printers, extruders, upgrades, 3D model designs, software, and even run a blog. In their site, they explain: "The beginnings for occurred when we had trouble sourcing parts for a Rostock Delta build, involving 8+ websites. This was a lot of effort and we thought "if many people are doing the same, a single source of 3D printing stuff categorized for the world might be needed." "
Instructables has gone 3D printing!

There is a lot of discussion about Thingiverse alternatives; Many people are very unsatisfied about recent Thiniverse's change of 'terms', and are looking for a new place to publish their creations .

Printable part sources
main: Printable part sources
Thingiverse, is the repository for 3d objects ready to print. You need it to download test pieces for your machine calibration. Also your main source for objects to print. This site is property of MakerBot industries.

Below you will find many new Thingiverse alternative sites. Some of them are not free. The list gets bigger day-by-day. The sites are listed in random order.

Yobi3D - 3D model search engine










Pirate Bay Physibles




My mini factory

Layer by Layer



Create this





Choosing Filament
A nice article on cooling fans mounted on extruders
In case you have made your own DIY filament maker you will need to add color to your pellets....
Filament Tolerances and Print Quality
Low-Cost Conductive Composite Material for 3D Printing

3D Printer Filament Types Comparison Chart

See Community portal#Getting involved.
There were simply too many bloggers, so somebody set up an aggregation pipe of all RepRap blogs.
Richard's blog on developments.
More in-depth info about your mendel at the hydraraptor blog
Research & Development
Conductive Silver Ink from a Ballpoint Pen, is an idea that can be used to printed cirquits
Build a Laser 3D Printer - Stereolithography at Home, an alternative to conventional 3D FDM printing.
MAKE | Homebrew Liquid Resin 3D Printer, a resin-based 3D priting using a DLP projector instead of a laser...
3D Printing with a Video Projector. Fllow the links.
DIY 3D scanner. Complete documentation + assemblying instructions. Because a RepRapper needs a 3D Repscanner...
Filabot, the desktop extruding system, capable of grinding various types of plastics, to make spools of plastic filament for 3D printers. Also check the open source files here
LYMAN FILAMENT EXTRUDER v3, is a machine that extrudes filament from pellets for use in a 3D Printer. It can extrude 1.75mm and 3mm filament with easy nozzle exchange and sends it directly to a spooler. The videos show that this machine actually works!! it is DIY too!!
Mini shredder, for all the bad prints to be recycled, by using this cute-awsome-little-powerful shredder.Then, use the filament extruder to produce recycled filament for your printer. No scrap prints any more!
utilizing RepRap to make 3D sugar templates for making vascular tissues for research in regenerative medicine
Ceramic 3D Printing Extruder
DIY Pick and Place Machine called the redFrog. Just think that this machine could be a RepRap or a Rostock... ;-)
3D Printing of Liquid Metals at Room Temperature. This method allows you to creat wires, construct models, anything a RepRap board needs!
Alternative Filaments for your 3D Printer. Rich Olson tests many types of filament, other than the usual PLA. The results are quite interesting. All his prints are done without HBP.
Universal Pellet Extruder for 3D Printing is a quest of Richard Horne to revolutionize 3D printing by printing directly from plastic pellets rather than from plastic filament. I have to say... "he's almost there....."

Academic research on FDM. There is done some serious work on FDM created parts behaviour. Please find some of this work, from my very good old friend and university colleague, Markos Petousis:

On the Strain Rate Sensitivity of Abs and Abs Plus Fused Deposition Modeling Parts
On the compressive behavior of an FDM Steward Platform part
ATDNFAE (AnythingThatDoesNotFitAnywereElse)
If you choose to power your printer using an ATX power supply, like those that use the PCs, you will need to go to "How to jumpstart atx psu". The wiki page explains more about Power Supply psus.
Josef Prusa’s calculator. You need this in order to insert correctly your microsteps in firmware.
Create a folder in your hard disk named RepRap or whatever you like, in order to keep there everything related to RepRap; from software to tutorial videos and docs for future reference. Subfolders named software, objects, videotutorials, manuals, irclogs, etc. to keep everything organised.
The Essential Calibration Set is what you need after building. It is advisable to regularly print some after major or minor changes to hardware or software. Also advisable when you have printing problems. Get it here
Mendel videos of the wiki. Scroll down on printing tips by Adrian Bowyer
The complete parts set in one zip file.All the stls or scad files you need for sae or metric prusas.
Prusa V2 files.
Check the blog, the RP differences and download the files.
If you want to see the future in RepRap printing, Printing circuit boards on Mendel is a good start...
RepRap live FAQ
Material Safety Data Sheet for PLA [13]or [14] and ABS [15] or [16]
Plastic Extrusion Problems and Solutions
You may want to scan objects for printing... check this site. You can make a 3d scanner on your own!


After getting enough info on what you are about to do, it is time to actual start building... I will try to describe the steps I followed to build and finally do my first print.

Building tips

  • I recommend you should first read the RepRap book to familiarise yourself. Then, read the visual guide while watching the video guides of spacexula. In this way you will understand fully the visual guide. I found some supplemental build details here and here.

Note: Don't be afraid of mistakes! Excluding exceptional cases, RepRap is VERY FORGIVING if you make any mistake. Bolts and screws make any joint temporary, so a mistaken placed part can easily be fixed. The same applies to soldering: always have the desolder with you...

Exceptional cases in my point of view can be considered:

  1. Heatcore overheating due to faulty/disconnected thermistor
  2. Liquid or loose bolt&nut drop on electronics (you need to find some cover after finishing everything)>The same applies for loose cables near electronics
  3. Connecting/disconnecting motors or any other cable from electronics without turning it off first
  4. RP part break due to overtightening (like rod clamps), but this can be replaced with another.
  5. Motor overheating due to poor cooling or if there is an obstacle on one of the carriages path, forcing it to stop while the motor is trying to move it
Of course, if such a mistake happen, the broken/burned part can always easily be replaced.

So the bottom line is that even you make the worst mistake, it will cost you some extra money & time..

  • Machine orientation

decide what is your front side for the machine.Original design assumes that Front is the side that y motor is mount.Before building further, understand the positions of the y,x motors and the corresponding positions of x,y endstops.

  • The jig

Make sure you have a jig."Use spacer bars to calibrate common distances. A good arrangement for the y-axis jig is to tape a longer bar over the top of the spacer bar (see pic) to achieve a perpendicular alignment. The top bar only has to be longer by ~10 mm at each end. This arrangement is not necessary for the other two frame jigs. Another good method is to use threaded rod with nuts at the right distance. If you twist the nuts in opposite directions you will lock them."( Note:when tightening your frame you want that the jig can be inserted easily into the measured gap.This means that you must not apply force to insert or extract it.

  • Measure, tighten, measure again

This is self-explanatory, but sometimes underappreciated. Your machine must not be loose, but not overtight either...

  • Inserting the x-y carriages

When inserting the x-y carriages you need to pay attention to the following:

  1. first assemble but not tighten.
  2. make sure the carriage move freely.Try to give it a push, it should move little more before it stops.You must not apply much force to move it.If you do, then you need to realign your smooth rods and bushings.
  3. move y carriage to the far end (away from you). Tighten the 2 bar clamps of that side.
  4. repeat step 2.The carriage must behave the same.
  5. move y carriage to your side. Tighten the 2 bar clamps of that side.
  6. repeat step 2.The carriage must behave the same.
  7. Repeat all the procedure again for x carriage.

  • Tightening the x,y motor belts

When tightening the x,y motor belts, you need to make sure that it is optimum tight.This means that the belt is virbating like a tightened string when hit lightly. Note: DO NOT OVERTIGHT.In order to assure this, just observe how the y motor's shaft is moving off center when applying force on the the belt that is attached on the pulley.Very important is that the pulley is vertical to the belt and not off-center due to tension.You can understand this by moving the y carriage manual;if you notice that the belt is trying to move out of the pulley's teeth or it is traveling along the idler's width, then you must either:

  1. realign the idlers (one or both of them)
  2. realign belt clamps
  3. realign motor
  4. release or apply tension to the belt

The same goes for the x carriage. I call optimum belt tighness when you rotate a little the pulley by hand and you see that the carriage moves as well.If there is a chance that you turn the pulley but the carriage does not follow right away -watch cerfully if there is a small raise of the belt at the teeth of the pulley while doing this- then you have to tighten the belt.Also when you press the belt vertically with your finger, you need to feel some resistance from it.

  • Cable wiring

Before make any wiring, decide where your electronics will be, how the motor and endstop cables will run along vertices, how heatbed cables will allow the y carriage move freely, without obstructing its move.You need to know your electric/electronic arrangement in order to calculate the right cable length.

  • Y carriage holes

Before assembling the y carriage on rods, you need to make the holes that the screws of the print bed will mount.Also you need to make corresponding holes on the print bed. Moreover you need to make holes for the heatbed (if you choose to use one). Lastly, you need to take measurings in order to make the glass or aluminum print surface (if you choose to have one)

  • Endstops

They usually have three pins under the names: NO, NC, and C. Sprinter firmware assumes that you have connected the NC and C cables to "S" and "-" accordingly. If you haven't done so, then either you change the firmware (inside the FW code, you will find what to change in what since there is detailed explanation), or change the wiring of the endstop side. (NC or NO go to "S" C go to "-")

  • Preliminary Tests

After assembling the x and y carriages, before mounting the e-motor with heatcore, it is wise to make some motor tests. You will need to have all motors and endstops wired to electronics (preferable mount also the thermistors), upload the firmware to electronics, do all the firmware adjustments mentioned in previous chapter, load the host, connect the printer to host and finally give some "move" instructions, "home" instructions, "extrude" instructions.

IMPORTANT:Before turning the machine on, have the x,y,z axis centered. 
This means that your carriages are in the middle of their paths, not at the ends.
Also be ready to turn the OFF switch if something is going wrong.

You don't have to have filament or have mount the heat core. Observe if the carriage moves at the correct direction. Correct direction is moving away from the endstop when you give a "+ X 10" instruction.If it does not move or if it does move but when you have pressed the endstop, consult previous bullet point or troubleshooting guide. Check all the axis same way:"+X 10". Then give the "home: instruction to home the carriages.If all 3 axis home ok, then it is time to check extremities. Just tell it to move to +200 for the x,y carriages (of course it is at home first). Then try to extreme z axis.Give repetitively the +z 10 command to reach 10 cm in hight.Be careful not to hit any part at vertices while raising x carriage, also be aware of the x carriage timing belt....If everything is ok, perform a virtual print. Simply load a file to skeinforge or what ever you have for slicing, slice it, load it to host and press the print button. During print, you will notice the x carriage move, the z axis move, the y carriage move.Also you will notice the e-motor rotate as well.If you don't notice any strange noises, or whatever suspicious, you continue mounting remaining parts.

Note:for virtual prints you must not have connected the heatbed and heatcore power cables..

  • How to insert/extract filament


  1. Loose the filament idler springs.
  2. Insert filament by hand gently, until it cannot move more.
  3. Set heatcore at extracting temp, that is 185 °C for PLA and 230 °C for ABS.
  4. When temperature is reached, push gently by hand filament down until it oozes from the nozzle.
  5. Tighten idler springs.
  6. Test extrude from host program.


  1. Loose the filament idler springs.
  2. Set heatcore at 150 °C for ABS, 130 °C for PLA.
  3. When temperature is reached, pull up the filament with your hand.
  4. Turn off heatcore immediately
  • Alternative to printed parts (RP)
  1. z axis couplers. After some printing you may have problems with z axis RP couplers; they loose their grip on the thread rod causing loosing steps.Usually people replace these if they see that the problem is persistent. I have found these couplers but you may also search and find more of these types.
There are also some RP new coupler designs for prusa such as
  1. bushings. It is known that the original prusa plastic bushings wear off after some use. The trend now is LM8UU linear bearings. There are many RepRap shops that sell them now. However just type 'lm8uu' on the eBay search bar to see what will come out. NOTE: LM8UU linear bearings require the smooth rods to be made from rolled steel. Anything softer than rolled steel will get damaged by the linear bearings and might also damage the linear bearings. Remember, that these bearings require PR parts that are modified to grip these bearings. All the modified parts can be found in Thingiverse.
  • Mounting Glass and the Heated Buid Platform

Check this video

Calibrating - Fine tuning tips

  • 3D printer calibration page

Michael -Teaching Tech has done a unique work on creating a web page that will enable you to produce easily Gcode for calibration parts. His video explains everything.

  • X&Y carriges Endstops calibration

Supposely you have mounted the heatbed or the print surface in general, you need to adjust exactly your endstops in order not to print outside this area.The print surface of your prusa or mendel is 20x20 cm.

  1. Move y carriage to home.
  2. Move x carriage to far left, then right and make sure that the nozzle has equal distance from each edge.
  3. Then move y carriage to +200.
  4. repeat step 2
  • Fine tuning exact distance between nozzle-surface

When you set the nozzle to a certain distance from the print surface when homing the z axis, you must be sure that this distance will be the same for all the print surface, wherever the nozzle will be, when z=0.

  1. Move y carriage to +100.
  2. Move x carriage to +100.
  3. Home z axis.
  4. Set z endstop to required nozzle-surface distance.
  5. Move x carriage to far left.Home y cariage
  6. If the distance is not what you have set, then readjust it by screwing/unscrewing the adjacent screw that holds teh print surface (the one that has the springs under the print surface)
  7. Move x carriage far right.
  8. Repeat step 6.
  9. Move y carriage +200.
  10. Move x carriage far left.
  11. Repeat step 6.
  12. Move x carriage far right.

Verify settings with steps 1,2,3.After this, try print this to verify your settings. Nozzle must have same distance from surfac<e everywhere. In order to define the right nozzle-surface distance, see troubleshooting guide, printing.

  • Fine tuning Z endstop

There is a possibility to loose z endstop exact location.. Just move nozzle to center of surface (x,y =100) and calibrate z endstop.

Printing tips


  • Printing on painter's tape

When in doubt, use good old reliable painter's tape. It is extremely forgiving and PLA seems to stick to almost any kind of painters tape you can find. It sticks with a cold bed or hot bed. It doesn't matter. Peeling parts off painter's tape from a hot bed can get ugly though. You may have to scrape the tape off the part.

  • Printing on bare glass

Printing to bare glass is the best way to go if you can get it to work. I get good results with the bed at 65 °C and a very clean piece of plain old window glass. Here's a list of tips:

  1. For cleaning the glass, just use isopropyl alcohol to wipe away fingerprints, etc.
  2. You absolutely *must* have just the right distance between the tip of the nozzle and the bed. Too low and PLA doesn't extrude, too high and the PLA just curls right off the glass.
  3. To get absolutely flat pieces, make sure all 4 corners of the glass are clamped with bulldog clips. A slight pocket of air under the glass will cause the part to curl.
  4. Wait for the part to cool down to room temperature and the part will practically fall off the glass
  5. Use 2 pieces of glass and swap between them if you can't wait for parts to cool in between prints

One further note: I've found that after a while, PLA tends to stick less to bare glass. It seems to work best with a brand new piece of glass.


  • Printing on Kapton or PET tape

Kapton/PET tape is probably the the most common way of printing ABS. It provides good adhesion and keeps parts from warping.

  • Rough print surface
After some use, your kapton may become rough due to peeling.It is not time to replace it, at least not yet. Try in skeinforge/sfact the raft plug in, setting 1 interface and 1 base layers. Leave rest of values untouched. It prints 2 intercrossed layers before printing the part, helps smoothen all surface problems (including slight inclination), allowing your piece to have a nice first layer. But you may experience some trouble removing it from piece, or for ABS, need to have high bed temperature since first layer is not touching the bed anymore.
  • Printing with acetone slurry

You can also print ABS onto glass/acrylic if you cover it with a diluted mixture of ABS and acetone.

  • Hair spray on Heatbed?

Yes, many people have tried hair spray on heatbed and say it works like a charm!

Mainly, it is used when kapton tape shows lack of capability to adhere first layer. But if used on new kapton, they say it makes it live longer. It is said that it can hold up 1 week. Sprayed surface can be cleaned by acetone, alcohol, etc. It also reduces the necessary bed temperature by 10 °C or more...

Instructions of use:

  1.  !!SPRAY ON A ROOM TEMPERATURE HEATBED!! Some prefer to use a glass for print surface, since it can be removed and spray it in open area.
  2. Protect adjacent printer parts from spray (smooth rods, etc.) by using a carton or something.
  3. Wait for spray to fix itself.
  4. Use it. You can also turn on you heatbed to print ABS.

Printing in general

  • Printed parts detaching tools

In my experience detaching ABS from Kapton or painter's tape from PLA may prove a little bit hard. A set of blades like these can be very useful for detaching and cleaning the part.

  • 3D printing cost

I made a File:3D print cost to calculate the total cost of the final printed part. It includes everything that can be considered as cost. The given energy consumption values are taken after reviewing several Web pages on this matter. All values are pushed a little bit higher to cover even the most energy consuming RepRap (four fans, motors always on, etc.). The calculator only covers the printer cost part. It does not cover the PC cost part, the energy that the PC will consume to keep sending all the g code (if you don't use an SD card and let the printer work as stand-alone). Also, it does not cover the time and energy that your computer (and you) will use to create, edit, slice, review, repair and prepare the piece for print.

  • Real-time measuring of filament width while printing

Are you tired of inserting wrong filament width to your slicer?. Are you disappointed of the tolerances (above + - 0.3 mm) of the newly produced filament by your new DIY filament extruder? There's a width filament sensor.

  • Improving Heated bed adhesion

- To improve ABS adhesion on heated bed, some abs filament is dilluted in acetone.Here, here and here you can see how. Other solutions on this matter, is to apply solvent cement

- To improve PLA adhesion on heated bed, mix some PVA glue with water.Ohmeye, can show you how.

- Use ,PEI

  • How to put PET/KAPTON tape on on a heated bed

Check this

  • Rotating objects in [openscad]

The following is an extract from a dialogue I had with Triffid_Hunter in #reprap

"openscad: rotate([0, 0, 0]) import_stl("blah.stl");

<Triffid_Hunter>COS_: the 3 numbers for rotate are rotation about the X, Y and Z axes in degrees.change by 90 to test output. The stl must be in opencscad folder. Then select design->reload&compile. Then if satisfied, select compli&render then export as *.stl file."

  • Rotating objects in Blender
  1. open blender
  2. file->import stl (load the stl you want to rotate)
  3. right click on object, press "r", then the axis to rotate(x,y,or z)
  4. type the angle to rotate (90, 180, etc.) object will rotate instantly
  5. press enter when satisfied
  6. file->exprot stl, save object

Note: be careful that the object must touch the grid (z axis=0) otherwise object will not start print at layer 0 but higher..

  • How to change ABS to PLA and vice-versa

Let's say you print with ABS.

  1. Set temperature to 230 °C
  2. Unscrew idler and remove ABS filament (see "insert/remove filament)
  3. Insert PLA
  4. Temperature is 230 °C
  5. Gently push filament until it oozes
  6. Set temperature to PLA extrude temperature (185 °C)
  7. Screw idler and test extrusion

Let's say you print with PLA.

  1. Set temperature to 185 °C
  2. Unscrew idler and remove PLA filament (see "insert/remove filament)
  3. Insert ABS
  4. Temperature is 185 °C
  5. Gently push filament until it oozes
  6. Set temperature to ABS extrude temperature (230 °C)
  7. Screw idler and test extrusion

  • How to post process your 3D prints

below you will find a list of some excellent guides on this matter:

  1. Post Processing Techniques, by Makerbot
  2. Post processing for FDM printed parts, 3D Hubs
  3. FDM 3D Printing Post Processing – An Overview for Beginners, ALL3DP

  • Can I fix broken plastic parts?

Of course!



-also you can use epoxy. I wouldn't recommend cyancrylic due to decolorisation


-Use acetone. It is strong without any plastic discoloration and it is durable. I used it to fix my broken extruder idler part.

  • 1,75mm or 2,85mm?

you can read this article



  • Printing Parameters Database

The table below describes printing parameters of different materials for printing. The suggested print surface settings, are those that combine easy of use, low cost and durability. These parameters were taken mainly form Nophead's and Richrap's blogs. Also, an extensive search throughout my #reprap logs helped as well. Recently i found this link in wikipedia that contains lots of new materials with detailed info for each one.

Print material Extrude Temp Print surface settings
ABS 210 °C ~ 240 °C Kapton or PET tape on flat surface (glass) at 110 °C
PLA 165 °C ~ 200 °C Kapton tape or Blue tape on flat surface (glass) OR Hairspray on glass OR lightly sanded glass at 60 °C
PMMA (plexiglas) 180 °C Plexiglas surface at 50 °C~100 °C OR Kapton tape on flat surface (glass) at 110 °C ~ 130 °C
Nylon 190 °C ~ 265 °C Tufnol (temperature not specified) or cardboard at 120 °C
Chocolate, ceramic, sugar paste, silicone, flux paste, and clay (you need the Universal paste extruder) Ambient in general, for chocolate 30~33 °C Flat surface (glass) in ambient temp. For ceramic, use aluminum foil on flat surface (glass).
HDPE 200 °C ~ 240 °C PP (polypropylene) print surface
PCL 120 °C ~ 150 °C (temp&surface not verified)
Polyurethane 215 °C 110 °C(surface not verified)
Print material Extrude Temp Print surface settings




  • Carriage moves only to one direction, but moves reversed only when I keep press the endstop

Verify your endstop wiring. Cables should be at NC and C. The "NC" goes to "S" on RAMPS and the "C" goes to "-".


Change the logic of the firmware.Sprinter&Marlin allow this.I have not tried any other FW. If anyone has, please write it here.

Sprinter&Marlin firmware, configuration.h
//If your axes are only moving in one direction, make sure the endstops are connected properly.
//If your axes move in one direction ONLY when the endstops are triggered, set [XYZ]_ENDSTOP_INVERT to true here:
const bool X_ENDSTOP_INVERT = true;
const bool Y_ENDSTOP_INVERT = true;
const bool Z_ENDSTOP_INVERT = true;

  • I am getting a reading off my thermistors, but ALL of my axises will not move at all. (, the live RepRap FAQ guide). Confirm that you did attach the 12V leg of your power supply to the electronics. If you attached 5V by accident none of the Axises will work

Z goes up when going positive, down when going negative X goes left when going negative and right when going positive Y goes forward when going positive and back on the negative You can reverse stepper direction by flipping the stepper plug, or changing settings in firmware. ALWAYS REMOVE POWER BEFORE UNPLUGGING A STEPPER

If only one axis will not move -1st swap the stepper motor to a different driver, If the problem is likely that you do not have proper electrical connection to the motor, insure that both coils are connected AABB A connected to A B connected to B electrically -If the problem stays on the axis it's an issue with the board, if your electronics have removeable stepper controllers move the stepper controller to an axis that works. If the problem moves then you either have a stepper that is turned all the way down, or a dead stepper controller -If the problem STILL does not move you might have an issue with your electronics themselves, turn your board over and make sure that the sockets for the stepper controlers and the related capacitors/reistors for the axis are all properly soldered. Any questions with a joint just touch up the solder.


  • I cannot apply my 70mm Kapton on glass surface without bubbles! The tape is too large and I cannot control it

Have you tried the wet method? Check this video


What order do the wires in my stepper motors get connected to my Stepper Driver?
See stepper wiring.

The Sanguinololu does not take the M84 motor release command, you have to modifiy the board to get that functionality.



  • When I send a move command to an axis the motor makes a buzz sound without moving.

You need to adjust the trimpot. It can be found on the stepper driver, it is the little round thing that looks like a screwhead. Rotating the tripot gives more power to motor. Be careful, too much power can lead to motor burn, Therefore make small adjustemnts and interate the process.

1. Power off your electronics

2. Turn the screw a little bit clockwise

3. Turn on Power

4. Test

5. Repeat

This rotation can be done without turning off the electronics however touching anything with your screwdriver might damage your electronics while they are on.

  • My motor is behaving strangely. It makes a grinding noise whenever I tell it to step 10mm and adjusting the pot doesn't fix it. The wiring seems to be fine as well. In addition, it will sometimes move, but then reverse direction a bit. This is also happening with my extruder, it will move in one direction then back off( , the live RepRap FAQ guide)

Your connector to your motor is very likely lose, swap the axis and the behavior should follow the motor. recrimp or replace the motor connector. If the problem is on the motor side of the conneciton you might have to replace the motor if you can't take it apart.

Most likely, the motor is overheating, and losing torque. You need to turn down (counter-clockwise) the adjustment pot for the motor.

  • I can't get my motor into the sweet spot between enough current and too much. If I turn it down enough to stop from overheating, I get skipped steps.( , the live RepRap FAQ guide)

Add a fan, heat-sink or both to the motor driver.

  • I need more info about stepper motors, i.e. wiring, motor types, etc...

Check the wiki also you can check


  • My printer cannot communicate with Host

There are several things to see:

  1. Check USB cable, both ends
  2. Check host speed setting to mach that of your FW
  3. Check COM port
  4. Sometimes high speed is not tolerable by Os&computer
  5. FW speed setting:
marlin for baudrate 250000:
// This determines the communication speed of the printer
#define BAUDRATE 250000
//#define BAUDRATE 115200
//#define BAUDRATE 230400
*Note: Marlin requires pyserial version 2.6 on linux bots to get to 250000 ( Marlin FAQ, at
sprinter for baudrate 115200
// This determines the communication speed of the printer
#define BAUDRATE 115200
  • X,Y,Z carriages go beyond limit (200mm for X,Y and 100mm for Z)

check FW setting:

marlin prusa settings
#define min_software_endstops false //If true, axis won't move to coordinates less than zero.
#define max_software_endstops true  //If true, axis won't move to coordinates greater than the defined lengths below.
#define X_MAX_LENGTH 200
#define Y_MAX_LENGTH 200
#define Z_MAX_LENGTH 100
sprinter prusa settings
const bool min_software_endstops = false; //If true, axis won't move to coordinates less than zero.
const bool max_software_endstops = true;  //If true, axis won't move to coordinates greater than the defined lengths below.
const int X_MAX_LENGTH = 200;
const int Y_MAX_LENGTH = 200;
const int Z_MAX_LENGTH = 100;
  • My print suddenly gets shifted over by Xmm, partway through the print.

There is a good chance that your acceleration is too high than your hardware can manage. You have to reduce acceleration through firmware:

Marlin firmware (original value is 3000.Try 1000 or 1500):
#define DEFAULT_ACCELERATION          1500    //   X, Y, Z and E max acceleration in mm/s^2 for printing moves 
Sprinter firmware (these valus normally work):
float max_start_speed_units_per_second[] = {25.0,25.0,0.2,10.0};
long max_acceleration_units_per_sq_second[] = {1000,1000,50,10000}; // X, Y, Z and E max acceleration in mm/s^2 for printing moves 
long max_travel_acceleration_units_per_sq_second[] = {500,500,50,500}; // X, Y, Z max acceleration in mm/s^2 for travel moves
  • I have just changed FW from Sprinter to Marlin (or vice versa) but although I transferred all parameters, my prints are $#|tty

Yes, it happens all the time... Have you checked this parameter?(found in Sprinter at Configuration.h or Marlin at Configuration_adv.h)

#define MAX_STEP_FREQUENCY 30000 // Max step frequency I have this value for Prusa
  • My MakerGear metric Prusa, Ramps 1.3, 1 MG hotend, 16 step drivers, Nema 17 geared extruder, 100 thermistor, heated bed, FW settings

These are my FW settings for my metric Prusa. I only include the parameters that I changed from original file along with important ones. These parameters apply to Marlin and Sprinter found in Configuration.h and Configuration_adv.h(Marlin only) "OR" APPLIES TO MARLIN EXPRESSION OF SAME PARAMETER

#define MOTHERBOARD 33
#define BAUDRATE 250000
#define _AXIS_STEP_PER_UNIT {160,160,6400/1.25,1474}; //MG metric prusa, MG hotend, MG stepper extruder
const bool X_ENDSTOP_INVERT = true; OR const bool X_ENDSTOPS_INVERTING = true;
const bool Y_ENDSTOP_INVERT = true; OR const bool Y_ENDSTOPS_INVERTING = true; 
const bool Z_ENDSTOP_INVERT = true; OR const bool Z_ENDSTOPS_INVERTING = true; 
const bool DISABLE_Z = true; OR #define DISABLE_Z true 
const int X_MAX_LENGTH = 200; OR #define X_MAX_POS 200
const int Y_MAX_LENGTH = 200; OR #define Y_MAX_POS 200 
const int Z_MAX_LENGTH = 100; OR #define Z_MAX_POS 100
#define _MAX_FEEDRATE {400, 400, 2, 45}       // (mm/sec)    
#define _HOMING_FEEDRATE {1500,1500,120}      // (mm/min) !!
#define _AXIS_RELATIVE_MODES {false, false, false, false}
#define MAX_STEP_FREQUENCY 30000 // Max step frequency
#define _ACCELERATION 1000         // Axis Normal acceleration mm/s^2
#define _RETRACT_ACCELERATION 2000 // Extruder Normal acceleration mm/s^2
#define _MAX_ACCELERATION_UNITS_PER_SQ_SECOND {5000,5000,50,5000} 
#define MINIMUM_PLANNER_SPEED 2.0 // (mm/sec)
Marlin PID settings for MG hotend
// Makergear
   #define  DEFAULT_Kp 40.0 
   #define  DEFAULT_Ki 0.55   
   #define  DEFAULT_Kd 35




  • What is the right distance between nozzle and surface?

My experience points that it should be equal or less the 2/3 of your print layer.Measuring this distance is easy with a feeler gauge;just set distance using the z endstop and measure the gap in betwen by inserting the feeler gauge thin steel blade.If it gets through roughly, it is ok, but if it gets through very easily, you need to reduce the gap and measure again. Be carefull while measuring, the feeler gauge blade must fit in the gap without having to push the print surface down in a manner to compress the 4 surface support springs. Some prefere to set it to zero, meaning that when 'home' nozzle touches the surface. It also can be adjusted by the slicing software you use (i.e. you can insert a gcommand to raise/lower your nozzle a bit in your start gcode). Please refer to respective software settings, to learn how to do it through software.

NOTE: The central idea around setting minimum distance, is to achieve optimum first layer adherence. This can be controlled by 3 factors: Nozzle travel speed, filament extrusion speed, distance between nozzle-bed. Playing with all 3 parameters you can achieve desired results. Best result can be considered the ablility to have object adherence on bed without flattening too much the first layer.

This could be caused by a number of problems. The most likley is you need to adjust the current for your stepper motor - find the adjustment pot for the motor, and carefully turn it up (clockwise) a tiny bit. If you still lose steps, turn it up a bit more. It could also be do to your belt tension being too low (and too high of tension can lead to current probelms as above). Belt or bearing binding is another common cause of these problems. Make sure your axes all move smoothly, if you feel any sticky spots that could be the cause... Check also the firmware troubleshooting.

Note:if you have such a problem on x carriage, after several hours of printing with the heatbed on, then you must know that the heat from the heatbed affects the belt tension.If your belt is somewhat loose, then the heat decrease the tension a lot.Usually you miss steps when carriage acelerates to move to next print point. Check also the screw of the pulley; after some time it looses the grip of the motor shaft.

Issues to check

-Is your stepper controller getting hot? If it overheats you will get skips durring extrusion

-If using a geared stepper, does the 2 gears mesh exactly the same across the full rotation of your larger gear? If you have a part that has higher resistance you gear might not be perfectly round / have a defect. Try to use a hand file to clean up the gear meshing, or move the stepper motor gear further from the driven gear to allow more room for the defects.

-Is your thermal barrier getting hot? If your thermal barrier gets to hot it can cause increased resistance to motion by your cold end. You might need to put a fan on your thermal barrier.

-Your nozzle might have trash in it. If all else fails remove your hot end and clean out all the plastic. Most hot ends this can be done with a blow torch, but some are too fragile for this and you must use a long acetone dip.

Many things can cause a print not to stick, check these things:

-Is your HBP hot enough? 70 °C for PLA 110-120 °C for ABS

-Have you got skin oil or lube from the axises on the plate? It will cause prints not to stick (you can clean them with alcohol, acetone, or ammonia (Windex, tested on glass) )

-Are you pressing the 1st layer into the HBP enough? The extrusion should take on a slightly flat appearance without actually squishing it (you should not see the nozzle dragging thought he middle of the print.

-Are you printing the 1st layer slow enough? All materials like the travel speed to be 15-20mm/s for the 1st layer.

  • It seems that there is something blocking my nozzle hole. Filament comes out with difficulty from the extruder, no matter if I raise core temperature. How do I clean the nozzle hole? ?


Probably there is something stuck inside your nozzle hole, maybe dirt or dust that came along with filament (do you use a sponge right before filament enters the extruder?). This is called clog. I had the same problem and I had to replace hole hotend, just because I didnt know the following tip. Thomas Sanlanderer cover the subject quite extensively ( My procedure (given below) is tested and it works for me...


  1. Turn on the RepRap, and set core temperature to 150 °C
  2. Release extruder idler springs
  3. Try to push the filament down to see if it extrudes a bit manualy. This will compress the filament inside peek
  4. Turn off core, and watch core temperature
  5. At 90~100 °C remove the filament from the extruder using some steady force. The unmolten filament should come out along with the molten filament from inside the bronze barrel. This filament looks like a gum. Keep removing this, until all of it is out. This should clean the inside nozzle hole.
  6. Insert a new filament.
  7. Wipe the filament that is between the entruder and filament coil with a damp cloth with alcohol (general, in modifications that need to remove filament, don't let the filament on the floor or on dirty surfaces)
  8. Set the extrude temperature and test extrude.
  9. Repeat if it didn't work, but try to remove the filament at a lower temperature, such as 80 or 60 °C.
  10. Replace nozzle if it didn't work

ABS Follow the procedure described for PLA, but having an initial temperature (step 1) at 190 and filament extraction temperature (step 5) at 150 °C.


I assume that now, you have your machine calibrated, you have printed those calibration cubes and objects, and you stay up late at night watching the printer creating your objects..

I also assume that you already have some questions...

Here, I will try to share my experience, after having tried some of the above.....


My first prints were made by ABS. I have chosen ABS because of its higher resistance in time, temperature and loads. These qualities make it a good material to make RP parts. Virtually, it can be used to any working application (from toy to complex machine and mechanism). However, printing with ABS is Tricky for the newbie... Later I tried PLA, and I can surely tell you that PLA is the material that you must begin printing with. You can also check The Difference Between ABS and PLA for 3D Printing, a very comprehensive article by Luke Chilson.

Below there is a comparison table with these 2 materials

Description ABS PLA
Hotend print temperature 215~230 °C (danger to burn it if the temperature control goes wrong) 165~200 °C
Need of Heated bed YES, 110 °C NO, if print on Blue tape
Print surface preparation I use Kapton or PET on glass surface, clean with acetone I use Blue tape on glass surface, clean with alcohol
Warping Very delicate on large surfaces and thin & tall walls No problem, you might need some heatbed temperature for large surfaces for first 10 layers
Odor - fumes Some may find it annoying, it is said that fumes may be toxic. Always print in a well-ventilated area. No smell or fumes at these temperatures, over temperature may produce some nice smell
Application Flexible, good for mechanisms, RP parts, lives long, not suitable for food use Brittle, good for toys (due to food use), suitable for food use, artistic objects
Colorisation White ABS can change color if you apply a color marker before hotend entry No
Price Cheaper than PLA More expensive than ABS
Biodegradability No Yes
Hygroscopicity Little Enough (can make big bubbles on prints if it absorbs too much moisture)
Overall Heatbed at 110 °C for some hours means raised electricity bills. It also means danger to finger burn. It also means you need to WAIT until the set temperature is reached. ABS adheres to kapton very strong, so when you try to unstuck your print from Kapton, in 9 out of 10 times you destroy Kapton substrate because you use knives or similar sharp edged tools. No heated bed, no trouble. No raised hotend temp, no danger. No fumes, no cancer. If you suspect too much moisture in your PLA, put it into the (preheated) oven at 50 °C for 30 minutes :-)

Slic3r or Skeinforge or SFACT or ?

Before making up your mind I suggest you to try every one of them in order to have a personal view of their abilities and disabilities.

Skeinforge is the oldest of the other 2 and therefore, it carries much experience in it. However, it is too complicated for a beginner who just want to slice the calibration cube....

SFACT is the answer to the difficult user interface of Skeinforge. It simplifies many slicing parameters and explains in brief what parameters are important and how to handle them. Of course, SFACT is -let's say- a more user-friendly version of Skeinforge.

As of Skeinforge 50, flow rates are calculated automatically making the user interface easier, and closer to the automation of SFACT.

Slic3r is nicer as some people say. Slic3r is the new trend in slicing (as of July 2012). It is much, much faster in slicing than Skeinforge/SFACT, it has few parameter to play with, but it cannot reach Skeinforge's depth. However, it evolves day-by-day and if you consider that a year ago Slic3r was in the realms of un-existence, one can expect it will be the best slicing prg. in the future. There is a comparison of this sclicer between other, in RepRap magazine, issue#1.

I also tried Cura. It seems to me that cura is Skeinforge (some parameters as well as print quality remind me of Skeinforge) with an excellent user interface plus a 3D object layout. There is a comparison of this slicer between other, in RepRap magazine, issue#1.

I also have used RepRap host software, Repsnapper. These are Host&slicer together. It is interesting to see your parts in 3D as they will be printed on table (good to see if your parts need to be rotated), but their integrated slicing programs don't seem to have the publicity of slic3r for example. I have used them as host and never used them for slicing.

KISSlicer is a new slicer that -according to some forums- gives more priority to quality over speed. There is a comparison of this slicer between other, in RepRap magazine, issue#1.

Please check this link for a comparison between slic3r,cura,SF and kisslicer

Marlin or Sprinter or ?

Because seeing is believing, in this and this article, thisand this photo you can see the difference.

However, Sprinter is easier to setup since the parameters to play with are straightforward. Marlin, on the other side is more complicated to setup. It is not uncommon for people to change from Sprinter to Marlin, that have problems in prints just because they miss to setup correctly Marlin. It happened to me, and it took me two afternoons to figure out that I was missing a parameter in one of the last lines of config.adv in Marlin.....

This happens because Marlin's original setup is for Ultimaker. For example, Marlin's print area setup is not 200x200x100 as it is supposed to be for RepRaps.

Summarising, first you need to start with Sprinter, then, when you see that you are comfortable with playing firmware's parameters, you can switch to Marlin.

I haven't tested any other Firmware, and I would be glad if someone else has, and would like to show pictures of other comparisons as well.

Extruding my own filament

Yes, it is true, but under certain circumstances. If you choose to get into this, you also have to learn some things about plastics extrusion, as well as you have some technical skills to make one (at the moment filament extruders are DIY). Don't forget that home extruding is at preliminary stages, so if you are a newbie I suggest you to wait some time, until home extruding concept settles well.

Homemade filament is possible if you have a filament extruder. Filament extruders are available ready to buy but also they are available as open source hardware, so you can make a DIY machine. The most documented, tested, and awarded machine (in my point of view) is Lyman's filament extruder V. It is checked, tested and works fine. I also made one for myself! If you check thinginverse for filament extruders you will find some machines that work.

Filament extruders that you can buy (almost all of them are funded from kickstarters):

Here is a filament extruder from ebay

More can be found in filament production.


There are two types of ABS. Injection and Extrusion type. In RepRap filament extruding, the Extrusion type is needed. The main difference between 'extrusion' and 'injection' ABS type, is the 'MELT FLOW' physical property. As you read each product's data sheet, you will see that this value is not constant from brand to brand, and defines how liquid the plastic will be, when it exits the nozzle. I have observed that there are some 'injection' labeled ABS that have low 'melt flow' property and behave as extruded ABS. The bottom line is, that the ABS that suits your needs is the one with "melt flow" up to 1 g/10 min (@Load 5.00 kg, Temperature 200 °C, acc ISO 1133). However, only experimentation will tell you what ABS is good for you. Recently, I happened to get access to my company's plastics tests labs and performed some MFI tests on ABS from REPRAPSOURCE.

The results are:


2.6 g/10 min, 5 kg 230 °C


0.45 g/10 min, 5 kg 200 °C

Concerning PLA, I recently measured the following:


16.86 g/10 min, 5 kg 190 °C -RED COLOR

28.12 g/10 min, 5 kg 190 °C -WHITE COLOR

In conclusion if you want to have a filament that is guaranteed to work, then you have to find ABS an PLA at these MFI values.

All the above info was obtained after along discussions with plastic industry specialists, so you can rely on with certainty.

Here, you will find some ABS brands and their properties for extrusion ABS, produced by major manufacturers.

Making my OWN bioplastic

Yes, it is true... if you run out of PLA in a middle of a print, you can just pause your computer, and make your bioplastic in 20 minutes. Just watch how to Make your own bioplastic. Then, you just use your filament extruder to make your new filament and you're ready to resume printing....(!)

Making Pcb, turning RepRap to a CNC machine

Self replicating a RepRap consists of making the electronic parts as well. There is some serious progress towards to pcb creating. Also one can turn a RepRap to a CNC machine, since the principles of castesian positioning are the same.

-PCB Milling

-Automated Circuitry Making

-Milling and Drilling Head


Ok, now you are printing fine, and of course, you are happy.

Here are some things you should pay attention to, in order not to have bad dreams


Spare Parts

RepRap is the only 3D printer that can make spare parts for itself. I suggest you print all parts of your printer, just in case. Howerver, there are parts that WILL need to be replaced because of a break or fatigue or melting.

These are (in my point of view)

  • X carriage
  • all extruder parts
  • bar clamps
  • RP pulleys
  • X,Y idler in case you have a RP part instead of washer & bearing
  • A4988 Pololu stepper driver (in case you have RAMPS)


As a machine, RepRap needs oil and care.

  • Wipe with a duster and then with a damp cloth the print surface
  • Use duster to every part of machine
  • Try to enclose RAMPS or any other controller you have, in a box or something. Electronics are delicate to dust
  • Fasten bolts & nuts on monthly basis (if you use the machine almost daily)
  • Keep smooth rods clean and lubricated. Lubrication type can be given in IRC. Users with bronze bearings, LM#UUs and round type bearings (608 xx) don't need lubricant.
  • Check wirings and x carriage for melting indications (monthly).


It's almost impossible to be a RepRapper and not be tempted to try/experiment with new firmware or try a new-modded RP part.

Before doing anything that you might regret in the future, be sure of:

  1. You know what are you doing
  2. You have extensive backup of your firmware before attempting any change
  3. You have a list of calibration values (easier as a start for re-calibration after modification)
  4. You have enough spare parts to build crucial parts of you printer in case they melt/brake.
  5. Always ask for enough information in #reprap BEFORE attempting anything stupid. Maybe someone has already done it and have some experience to give you.

My experience on experimenting was that I should have a whole new hotend before attempting to go to PID temperature control. My first attempt ended with 307 °C on my hotend... I had to wait some time for a new peek from Makergear, since the old was completely destroyed. Now I have two complete sets just in case...

Further reading