Tutorial - The RepRap 3D Printer, Part I: Building It

This is the first of a series of posts in which I intend to pass all of my knowledge regarding the RepRap 3D printer. Knowledge I have gathered in almost three years of working with it. It is intended as a guide for those of you who are thinking of building your own. In any case, this is merely my experience and I know in many cases there must be better ways to go. I'll just describe what has worked (and not) for me, hoping it will serve others.

Why 3D Printing?

I first heard about 3D printers from my good friend Rodrigo Toro and immediately saw in it an awesome tool that would be extremely useful for all of my projects. Indeed, now I can't imagine any of my projects without it.

If you are thinking of getting yours, there are many 3D printers you can choose from, with a wide range of specifications and prices. Among the most popular are the Makerbot and Ultimaker. These two originated from an open source 3D printer project called RepRap, created by Adrian Bowyer, a British academic. In this video, he explains how 3D printing has been around for so many years, but has always been too expensive and reserved for the large industries. The RepRap aims at bringing 3D printing closer to everyone, with an inexpensive design you can build entirely out of parts you can easily get and, most importantly, 3D printed parts! That's right, with a RepRap you can print another RepRap.

Needles to say, I decided to go with a RepRap, mainly because I wanted to learn more about how 3D printers work in the process of building it and, well, I didn't have the money for a Makerbot or an Ultimaker... I chose the Prusa Mendel RepRap, designed by Josef Prusa, a very popular model.

Prusa Mendel

Prusa Mendel Iteration 2 (image: RepRap wiki)

Just as I expected, I learned a lot from building, tuning, printing and then some more and more tuning my printer. So much that now I am ready for an upgrade, but that's topic for another post.

Getting started

The first thing I did was going through the RepRap documentation available at the wiki. There you will find the printed parts list and a bill of materials for non printed parts so you can start looking for them online. In this process, I found that you can also get a RepRap Kit. This can be very convenient because you concentrate most of the parts in just one purchase, saving on shipping costs and, of course, a lot of time. There is a Buyer's guide entry on the RepRap wiki with very complete and comprehensive information. I got one from Makerfarm.com, and it was really good, as it included all of the essential parts:

  • Linear Prusa Parts printed in ABS plastic. The parts 3D models are available on Josef Prusa's Github Repository, and the extruder (the thing that feeds the plastic filament into the printer) is a Greg's accessible extruder. There is a variation of the original Prusa that is included with this kit: the bottom mount of the Z axis rod, which will make it much more stable: Z Stabilizers by AlephObjects.
  • Hardware Set: screws, bolts, linear bearings, rotary bearings, nuts, washers, springs, X and Y axis belts.
  • Greg's Extruder Hardware Set.
  • J-Head MKIV-B Hot End Kit (Prints using both ABS and PLA Filament)
  • MK1 Heated Bed Kit: a PCB that will heat your parts so the plastic sticks well to the bed surface, plus a laser cut acrylic mount for it.
  • Laser Cut Electronics Mounting Kit: this is very nicely thought.
  • 5 x Nema 17 Motors Pre wired with Molex Connectors Pre-installed
  • Electronics. There are two choices: RAMPS (RepRap Arduino Mega Pololu Shield) and Printrboard. Both come with mechanical endstops and a thermistor for the heated bed.

I went with RAMPS, mainly because it came with an Arduino Board. I haven't tried other hardware, but RAMPS has worked really well every time.

What you will need to complete the bill of materials is:

  • 6 M8 Threaded rods: they come on 1 meter lengths. I got mines from RS, which was kind of expensive. It will for sure be a lot cheaper if you can find them at your local hardware store.
  • 2 8mm diameter mild steel rods: also 1 meter length. Same as above, better if you can find locally.
  • Power source. I use two ATX computer power supplies in parallel. I opened them and cut the ground connection, so one supply wouldn't short circuit the other. This is not very good advise, as it can be dangerous under certain circumstances. You'll be safer if you get a 12v+24v power supply here, for instance. You will need 12 volts for the motors and 24 volts for the heated bed (if you want to reach the 110ºC for ABS plastic to stick well to the print bed).
  • A 225mm X 200mm, 3mm thick piece of Glass. This will be your print surface, to which your printed parts will adhere.
  • Kapton tape if you want to print with ABS, it will stick very nice to it if it's covered with Kapton tape. You want the plastic to really adhere to the bed, otherwise you'll end up with shifted layers or warping. With PLA you can print directly on the glass.
  • Binder clips, for holding the glass to the bed.

Although not necessary to complete the building of the printer, there are a couple of additions that I recommend:

  • Filament roll holder: I got mine from Makerfarm.com and it is also a housing for one of the ATX power supplies, very nice. You can also make one out of PVC tubes like this one from talk2bruce, found at Instructables, or download one available at thingiverse.com and print it.
  • Case for keeping temp inside: When you print large volumes, the higher layers get colder and shrink a little. This may lead to a broken printed part in the worst case, such as this:
Broken printed part due to temperature difference between lower and upper layers.

Broken printed part due to temperature difference between lower and upper layers.

To avoid this, some kind of cover for your printer will help a lot, even justa a cardboard box is better than nothing. In fact, that's what I use...  I intend to implement a more elegant solution, but the cardboard box is for now of great help.

Let's Build!

Main structure and mechanics

As I got the RepRap Kit from Makerfarm, I used the instructions listed on their page, which are a variation of  Gary Hodgson's visual instructions. These instructions are really good and thorough. In my case (as I was a complete rookie back then), I even asked Colin Farrer, from Makerfarm for some help with specific steps, he was happy to help me.

Now, here are some tips:

  • Tight X and Y axes' belts as much as you can, we'll improve this later with a printed part that will replace the default belt joint.
  • Measure the height of the Z axis (that is, the X carriage) with a calipper on both sides. Turn the rods manually until both sides measure the same height.
  • Lubricate the bars and rods that support the axes movement with sewing machine lubricant.

Sewing Machine Lubricant (image: wikihow.com)

Extruder and Heated Bed

The instructions are available on Makerfarm support page.

Electronics and Wiring

The best place to find instructions for assembling RAMPS is the RepRap wiki. You will also find there the wiring diagram for your motors, hot end, heated bed, thermistors, etc.

Here is a video of me following the build instructions (no music... working on it):

And a picture of my printer as it looks today:


My RepRap today (on a messy table)

A word regarding limitswitch positions

Just so you don't commit the same mistake as me, the limitswitch (zero position) for the X axis goes on the same side of the axis motor. For the Y axis, it goes on the opposite side.

I had the Y axis backwards and I didn't realize it until many prints later, in which I printed an asymmetrical part. It turned out to be printed mirrored on the Y axis.

The Z axis limitswitch should be positioned in such a height that the hot end doesn't touch the bed surface. We'll adjust this more accurately later.

Next step?

After one or two days assembling, you will probably be anxious to print your first part. As it turns out, we still have a lot of steps to cover in order to start printing and then some more tuning:

  • Firmware uploading
  • Software toolchain
  • Playing with motor movements
  • Check for missed motor steps
  • Adjust motor's current
  • Bed leveling
  • Calibration
  • Slicing
  • Improve belt tensioning
  • Tuning
  • Layer height

All of these topics will be covered in the forthcoming posts on this blog. Stay tuned!


Leave a Reply

Your email address will not be published. Required fields are marked *