Building Your Own 3D Printer
Building Your Own 3D Printer
Building Your Own 3D Printer
Legal Notice
Introduction
How the printer works
Parts of the printer
1. Frame
2. Y-axis and bushings
3. Z-axis and Y-axis
4. Extruder
5. X-carriage
6. Print plate
7. Electronics
8. Stepper motors
9. Stepper motor controllers
10. End stops
Plastics
Tools and skills
1. Mechanical build
1.1. Wrenches and keys
1.2. Digital caliper
1.3. Spirit level
1.4. Plumb line
1.5. Installation of Z-axis bushings
1.6. Flat on motor shafts
2. Electronics build
2.1. Soldering
2.2. Cable stripper
2.3. DIY Sanguinololu build
RepRap software
1. Arduino software for RAMPS
2. Arduino software for Sanguinololu
3. Firmware
3.1. Downloading the Sprinter firmware
3.2. Configuring the Sprinter firmware to your electronics board
3.3. Uploading the Sprinter firmware to your electronics board
https://reprapbook.appspot.com/#d0e71 1/42
29/10/2014 Building Your Own 3D Printer
4. Skein software
5. Host software
5.1. Prerequisites for Windows
5.2. Prerequisites for other operating systems
5.3. Downloading Pronterface
5.4. Running Pronterface
Buyer's guide
1. Printed parts
2. Vitamins
2.1. Electronics
2.2. Power supply
2.3. Stepper motors
2.4. Hardware kits
2.5. Extruder
2.6. Hotends
2.7. Kapton tape
Build instructions
1. X Y and Z axes calibration video
2. Printing spare parts
3. Selecting voltage for endstops on the Sanguinololu board
2. Similar efforts
3. Contributors
Introduction
Home-built 3D printers are booming. In 2006 there were no such printers and 5 years later
there are tens of thousands. There are currently hundreds of thousands of people wanting to
start their own build waiting for the right moment to get started.
https://reprapbook.appspot.com/#d0e71 2/42
29/10/2014 Building Your Own 3D Printer
Building a 3D printer is very hands-on and will require all your technical skills. There isn’t
really any void that needs to be filled since there are enough people and good information
online to answer your questions and help you out. Still there hasn’t yet appeared one book
that guides you through building your own 3D printer.
Buyer’s guide
This book is not a replacement for build instructions. There are excellent and unambiguous
build instructions available in written form, as visual instructions and videos. Instead this
book has been designed to prepare you before you start building.
Image 1 shows a fully assembled working home-built 3D printer. It is called RepRap Prusa
Mendel and it is the printer this book will help you to build yourself. It costs about $500 or
€500 in parts. You can buy this printer as a kit but then you will pay at least double this price.
Many people source the individual parts themselves and once they receive them get started on
their build.
This 3D printer builds objects by adding plastic material layer by layer until the object (also
called printed part) is finished. The printer has a frame and three axes: X-axis (moves left-to-
right), Y-axis (moves front-to-back) and Z-axis (moves up-and-down.) The extruder sits on
the X-axis and feeds and melts plastic filament. The lowest part of the extruder is the
extruder head, here the plastic is melted and extruded through a tiny hole with a diameter of
less than 1mm. To print objects the electronics of the printer steer the three axes so that the
extruder head is at the right spot to add plastic to the printed part. The three axes together
with the extruder is called the Cartesian robot.
The printer is usually controlled by a PC with special software installed. In this software a
solid model is loaded (these are called STL files) that gets converted to G-code[1].This G-code
is sent to the electronics over USB and tells the robot what movements to make. At the end of
all of these movements the modelled part should have been printed. Alternatively the same
software can convert the model to G-code and save these codes on a SD-card. If the
electronics of your printer is equipped with a SD-card reader you can print parts without the
need to have a PC connected during the entire print job.
Introduction video
This is a good time to watch the excellent 15 minute introduction video on the RepRap
Prusa Mendel 3D printer.
[1] G-code is a standard language for CNC machines that consists of a sequence of movement
commands.
1. Frame
2. Y-axis and bushings
3. Z-axis and Y-axis
4. Extruder
5. X-carriage
6. Print plate
7. Electronics
8. Stepper motors
9. Stepper motor controllers
10. End stops
1. Frame
The frame gives the printer its stiffness. The three axes of the robot will be added to this
frame. The frame consists of threaded rods connected together with printed parts (these are
called the vertices.)
The Rep in RepRap stands for reproduction. RepRap printers are designed in such a way
that they can print their own parts. As soon as you’ve got your printer working you can
print parts for a new printer or you can start printing various improvements on the standard
design. RepRap owners regularly sell the printed parts required to build new printers on
ebay.
Apart from the vertices the frame also contains printed parts to hold and control the Y-axis
and Z-axis. On the top left and top right you can see the printed parts that will hold the
stepper motors of the Z-axis.
https://reprapbook.appspot.com/#d0e71 5/42
29/10/2014 Building Your Own 3D Printer
Image 3: RepRap Prusa Mendel frame with smooth rods for Y-axis and
On image 3 you can see the frame with the smooth rods added for the Y-axis (the horizontal
rods) and the Z-axis (the vertical rods.)
On image 4 you see the print bottom plate assembled on the Y-axis smooth rods. The Y-axis
https://reprapbook.appspot.com/#d0e71 6/42
29/10/2014 Building Your Own 3D Printer
has one degree of freedom: it can move between the front and the back of the frame. The Y-
axis is controlled by a belt attached to a stepper motor with pulley that you can also see on
the image. The print bottom plate has four bushings attached that have been glued to the
print bottom plate.
The RepRap axes - like many CNC machines - move over smooth rods with bushings or
more recently with linear bearings.
Bushings are actually plain bearings. They slide over smooth rods and provide almost no
friction when moving up and down the rods. Usually plain bearings are used to turn around a
cylinder (or to have the cylinder turn inside.) On the RepRap the bushings don’t turn, instead
they linearly move up and down the smooth rods following an imaginary line on the rods.
Linear bearings have little balls inside and provide free motion in one direction. Both
bushings and linear bearings can be either printed or sourced as metal parts. Metal bushings
are made from brass as it's the only metal that has low friction and is self-lubricating. RepRap
designs that use linear bearings typically use LM8UU metal bearings. The standard RepRap
Prusa Mendel design uses bushings that are more than good enough for the purpose. Some
people believe a RepRap printer looks more cool when fitted with LM8UU linear bearings (but
this drives up the price.)
If you would like linear bearings on your printer then by all means go ahead and print the
parts[2]!
https://reprapbook.appspot.com/#d0e71 7/42
29/10/2014 Building Your Own 3D Printer
Image 8: RepRap Prusa Mendel frame with X-axis, Y-axis and Z-axis
installed (source)
On image 8 you can see a RepRap Prusa Mendel frame with Y-axis, Z-axis and X-axis
assembled. The Z-axis and Y-axis are actually part of one construction. The Z-axis moves the
X-axis up and down the frame. The X-axis moves the extruder left and right within the frame.
https://reprapbook.appspot.com/#d0e71 8/42
29/10/2014 Building Your Own 3D Printer
Image 9: X-end idler part on the left-hand side, X-end motor part
The Z-and-X axis construction consists of two printed parts called the X-end idler (left image
9) and X-end motor (right image 9). The X-end idler has two vertical sections: a square open
box and a hexagon structure. In the square open box two bushings are glued. This box serves
as a guide for the vertical smooth rod. In the hexagon structure two M8 bolts and a spring are
mounted. A threaded rod is turned into these bolts. This threaded rod is also connected to the
stepper motor on the top of the frame. The stepper motor will turn the threaded rod around
its axis that in turn will make the X-end idler move up and down. You can see the assembled
X-end idler on image 10:
The X-end motor has the same two sections and is assembled in a similar way. As you’ve
noticed on the images the Z-axis is controlled by two stepper motors. It turns out it’s both
cheaper and improves accuracy to have two stepper motors on the Z-axis instead of one
motor and a belt (mainly because the later requires a much more complicated construction
and an expensive belt.) The Y-axis and X-axis are controlled by one motor and a belt, here
two motors don’t make sense.
4. Extruder
The RepRap Prusa Mendel is typically equiped with a Wade’s geared extruder[3]. This extruder
consists of two parts: a cold top part that feeds the platic filament and a hot bottom part that
melts and extrudes the plastic. These two parts are commonly called the Wade extruder (the
cold part) and the hot-end (the hot part).
https://reprapbook.appspot.com/#d0e71 9/42
29/10/2014 Building Your Own 3D Printer
The Wade extruder consists of a large gear that is driven by a stepper motor. This large gear
drives a bolt that pulls the plastic filament and pushes it into the hot-end where the plastic
melts.
The hot-end is usually a brass bolt with a hole drilled down its vertical axis. This screw is
called a heater barrel. There are two sizes of filament available: 3mm wide and 1.75mm wide.
The hole drilled in your heater barrel will have to match the size of your filament! At the tip of
the heat barrel the exit hole narrows down to less than 1mm (typically 0.5mm.)
Two methods exist for heating the hot-end: using a resistor or using a NiChrome wire. A
NiChrome wire is the easiest to get started since you will only need a heater barrel with a
nozzle. A resistor requires a heater block that is screwed onto the heater barrel.
Image 12 shows a heater block with a resistor installed. The heater block is screwed into a
heater barrel:
https://reprapbook.appspot.com/#d0e71 10/42
29/10/2014 Building Your Own 3D Printer
Image 13: heater barrel wrapped with NiChrome wire (the assembly
A hot-end has three more crucial components: a thermistor to measure the temperature, a
heat barrier to separate the hot-end from the cold-end (without this the cold-end would melt)
and the nozzle where the melted plastic flows out of the heater barrel.
The thermistor is connected to the electronics board - just like the resistor or NiChrome
wire - and allows the electronics to measure and regulate the temperature of the heater
barrel. The heater barrel operates at a configurable temperature, without the thermistor that
temperature could not be reached and held.
The heat barrier prevents the heat from the heater barrel to rise to the cold part. The cold
part consists of printed parts and these would melt if they became too hot. Typically PEEK is
used as a heat barrier. PEEK can resist high temperature and transfers very little heat. PEEK
however has a number of disadvantages: it’s not easy to find in the format suitable for use on
an extruder, it’s pretty expensive as well and it requires a PFTE tube inside to help the flow of
filament. PFTE tube can be difficult to find as well.
At least one person has assembled an extruder where PEEK and PFTE was replaced with a
piece of bamboo[4]. Bamboo has the same properties as PEEK: resists high temperature and
transfers very little heat. It is however much cheaper and much easier to find.
The nozzle is the most important part of the hot-end. The nozzle is the end of the heater
barrel where the melted plastic is extruded. The nozzle needs to have a sharp enough tip and
a central hole that is less than 1mm (typically 0.5mm.) Image 14 shows a heater barrel with
nozzle:
https://reprapbook.appspot.com/#d0e71 11/42
29/10/2014 Building Your Own 3D Printer
5. X-carriage
The assembled extruder - including cold-end, heat barrier and hot-end - is mounted on the
X-axis carriage. Image 15 below shows an assembled X-axis with two smooth rods, the X-end
idler and X-end motor printed parts and the printed X-carriage:
Image 15: assembled X-axis with two smooth rods, the X-end idler
and X-end motor printed parts and the printed X-carriage (source)
The X-carriage can use bushings or linear bearings. The X-carriage is controlled by one
stepper motor and a belt. Image 16 shows an assembled Wade’s geared extruder mounted on
the X-carriage. Notice the belt in the background.
6. Print plate
Printed parts are printed on the print plate. The three axes move together so that the nozzle
can move above the print plate in an area of 200mm wide by 200mm deep by 100mm high.
The print plate actually consists of two plates: the print bottom plate that is mounted on
the X-axis smooth rods with bushings or linear bearings and the print top plate that is
mounted on the bottom plate and that forms the print surface.
https://reprapbook.appspot.com/#d0e71 12/42
29/10/2014 Building Your Own 3D Printer
The top print plate must be level! The top print plate is mounted with fours springs slid
over four screws so that it can be easily adjusted. Image 17 shows both print plates one
stacked on top of the other. The springs are clearly visible. The bottom print plate is mounted
on the X-axis smooth rods with printed bushings.
Image 17: top print plate stack on bottom print plate. The springs
A popular add-on for your printer is the heated bed. These significantly reduce the amount of
warping on printed parts, especially on the lower layers. Warping is caused by the uneven
cooling of outer and inner sections of a printed part. The material at the outside of a part will
cool and thus shrink faster than the material inside. This will cause the cooler material to warp
or bend while the hot material won’t[5]. This uneven shrinking will cause straight edges to
bend and might cause structural failure in parts. Warping is especially a problem for the lower
layers of a part since the print plate will cool those layers much faster than higher layers.
The bottom section of the left-hand part on image 18 below clearly shows warping while
the identical right-hand part doesn’t:
(source)
The solution is to print on a heated bed so that the entire lower section of a part is kept at the
same temperature. A heatbed can heat the top print plate up to 100C. Image 19 shows a
heatbed installed on a RepRap Prusa Mendel printer.
https://reprapbook.appspot.com/#d0e71 13/42
29/10/2014 Building Your Own 3D Printer
Image 19: heatbed mounted on RepRap Prusa Mendel top print plate
(source)
The heatbed remains on for the entire duration of the print. Usually a glass plate is installed
on top of the heatbed. If the heat would be turned of after a few layers the printed part would
eventually come loose due to the temperature drop and the print would fail. A heatbed can
either be bought or home-made. Buying is of course easier but building it yourself is feasible
and cheaper[6]. When you install a heatbed be sure to check the temperature of the transistor
on your electronics board. If it gets very hot you might have to install a little heat sink (you
can find those very cheap on ebay or in your local electronics shop.)
Whenever you install a heat sink on any electronic component always put heat paste
between the component and the heat sink. With heat paste the component and heat sink
will warm up more or less evenly. Without heat paste the component won’t be able to
transfer the majority of its heat to the heat sink (air transfers heat poorly.) You can find heat
paste cheaply on ebay. Never use glue instead of heat paste!
7. Electronics
The electronics board controls the printing process. Several electronics options exist for
RepRap printers (they are all open-source.) Currently the most popular are:
Control the four stepper motor controllers (there are five stepper motors on a RepRap
Prusa Mendel but both Z-axis motors are connected to the same stepper motor
controller.)
Control the temperature of the hot-end and monitor the hot-end thermistor.
https://reprapbook.appspot.com/#d0e71 14/42
29/10/2014 Building Your Own 3D Printer
Monitor the end-stops (end-stops are used for homing the three axes, see later
section.)
Control the temperature of the heated bed and monitor the heated bed thermistor (the
heated bed is optional.)
The electronics board is connected to the PC using a USB-to-serial converter. The Arduino
used with the RAMPS board has such a converter built-in, so does the Sanguinololu board.
The RAMPS electronics board has been around longer than the Sanguinololu and has seen
regular updates. RAMPS is a shield board that needs to be connected to an Arduino MEGA
1280 or 2560 board (or a clone board.) The RAMPS has these additional features:
Image 20 shows a RAMPS board mounted on a Arduino MEGA board with four Pololu stepper
motor controller boards installed:
(source)
The Sanguinololu board is a more recent addition. It doesn’t offer the extra thermal channel of
the RAMPS and connecting an SD reader is more difficult. However, all electronics are
contained on one board and hence doesn’t require an Arduino MEGA board. This makes the
Sanguinololu cheaper than the RAMPS. A complete RAMPS DIY kit including Arduino MEGA
clone and four Pololu stepper controllers will typically cost about $100 or €100. A complete
Sanguinololu DIY kit will typically only cost about $80 or €80.
A few things have to be taken into account though. When building your own Sanguinololu
you will have to solder a very small chip[7] (the USB-to-serial bridge). Also, you should make
sure the ATMega microprocessor comes with the Sanguinololu boot loader installed. If this is
not the case you will have to install this boot loader yourself and that is pretty complicated[8].
Ask your vendor in case you are not sure whether or not the bootloader is pre-loaded.
Although both the RAMPS and Sanguinololu boards have been designed to be assembled
by hand the PCB’s cannot be etched at home. Actually, the Sanguinololu board can’t be etched
at home at all, RAMPS boards versions 1.25 or earlier can be etched at home with some
tweaks[9].
If you want to follow the path of least resistance you should go for a RAMPS board. But
https://reprapbook.appspot.com/#d0e71 15/42
29/10/2014 Building Your Own 3D Printer
maybe you like the Sanguinololu’s small size and lower price. Image 21 shows an assembled
Sanguinololu board with four Pololu stepper controller boards installed:
8. Stepper motors
There are five stepper motors on the RepRap Prusa Mendel:
Normally all five motors on a printer are the same but this is not required except for the two
motors that control the Z-axis: these must be identical. The RepRap Prusa Mendel has been
designed to use bipolar NEMA17 motors. NEMA17 determines some of the dimensions of a
stepper motor.
https://reprapbook.appspot.com/#d0e71 16/42
29/10/2014 Building Your Own 3D Printer
The most important aspect of a stepper motor is its torque. However, the amount of torque
the motor will actually supply is also determined by the stepper controller board.
A stepper motor is a special kind of electric motor that is often used in robotics. The motor
has two sets of internal coils positioned around a central teethed shaft that contains a
permanent magnet. Each set of coils is part of a phase. The coils the belong to the same
phase will generate magnetic fields with the same North-South orientation. The motors used
on RepRap Prusa Mendel printers have two phases. The RepRap electronics board controls the
stepper through micro-stepping. In this mode the percentage of current is gradually changed
per phase to make the shaft rotate in small steps[10].
The RepRap community has chosen to use Pololu stepper motor controllers. These come in
the form of a small board with one IC - the Pololu stepper motor controller - and a few
passive components. Pololu offers both the IC and the board. This board uses very small
components so has to be factory assembled. In late 2010 Pololu was experiencing difficulties
to ship enough boards so RepRap community member Joem decided to design an open-
source version of this board called StepStick. This board still uses the Pololu IC that never was
is short supply. One assembled StepStick board usually costs about $10 or €10. Four
StepStick boards are required for a RepRap Prusa Mendel printer.
RepRap community members have reported StepStick boards with short-circuits in them!
Obviously this might destroy both your StepStick board and your electronics board. Before
installing a StepStick board always verify with your multi-meter there are not short-circuits
on the pins.
When stepper motors are in operation and stand still they still use current. For this reason
each stepper motor controller has a potentiometer to control how much current is sent to the
stepper. If you send too much current you might use more current than is required (and hence
increase your electricity bill.)
For this reason is it advised to close the potentiometer on each stepper motor controller by
turning counter-clockwise all the way and then open the potentiometer about ¼ th of the way.
When you discover one of your steppers does not provide enough torque you can open the
potentiometer of that stepper motor controller at little bit further.
https://reprapbook.appspot.com/#d0e71 17/42
29/10/2014 Building Your Own 3D Printer
To achieve this three end stops need to be installed, one for each axis. A end stop needs
to be installed at the position where the axis shouldn’t move beyond:
For the X-axis this should be the position where the nozzle reaches the left-hand side
of the print plate.
For the Y-axis this should be on the back-side of the axis so that the print plate is
moved to the back far enough that the nozzle ends up on the forward of the print plate.
For the Z-axis this should be the position where the nozzle barely touches the print
plate. When printing the software will make sure the Z-axis is lifted a little before
printing the first layer.
You can choose between two kinds of end stops: optical or mechanical switch. The mechanical
switches are preferred since they are much cheaper, easier to install and work just as well as
optical end stops.
Switches have a limited number of on/off cycles. However, most purpose built micro-
switches are rated for well over 10,000 cycles and will last years[11]. Optical endstops are
on paper more reliable than mechanical endstops but in practice they are not (todo:
discuss.) You should go for mechanical endstops.
Proximity sensors are especially useful for the Z-axis. The starting position of the nozzle over
the print plate is crucial. A Hall sensor detects the presence of a magnetic field. A magnet is
glued to the bottom of the X-end idler or X-end motor. A small potentiometer allows you to
fine-tune the distance between the nozzle and the print plate. This is much more practical
than moving your mechanical or optical endstop up and down.
End stops are not required at the opposite ends. The firmware you will install in the
microprocessor knows how far each axis is allowed to move calculated from position zero.
These distances can be configured.
https://reprapbook.appspot.com/#d0e71 18/42
29/10/2014 Building Your Own 3D Printer
Image 24 shows a mechanical end stop mounted on the Z-axis. Notice the nozzle in the
background is hovering a few centimeter above the print plate meaning the X-end idler part is
positioned just a little bit to high to be in this picture. From the nozzle and print plate
positions one can also deduce the X-axis and Y-axis must be in (or near) position zero. The
front of the printer frame is to the right in this image.
[2] You can find the X-axis parts with linear bearings for a RepRap Prusa Mendel here.
[3] You can find the designs for the Wade's geared extruder here
[7] Instructions on how to solder the small chip on the Sanguinololu board
https://reprapbook.appspot.com/#d0e71 19/42
29/10/2014 Building Your Own 3D Printer
[8] See these instructions for loading the Sanguinololu boot loader
[9] See here for details on how to etch a RAMPS board yourself
[10] This applet demonstrates how micro-stepping works inside a stepper motor (note: the
stepper motor shown in this applet is unipolar while RepRap uses bipolar motors. The
principles however remain the same.)
[11] Source
Plastics
A RepRap 3D printer is most often used to print either of two thermoplastics: ABS or PLA. The
plastic material is arranged in filament.
ABS and PLA are very different plastics and they each require specific printer configurations.
ABS is made from petroleum and is more flexible than PLA. PLA is biodegradable, is more rigid
than ABS and will dissolve in water. ABS is more prone to warping than PLA. Good printing
results will require a heatbed for ABS. For PLA you can probably get printed parts without
warping without a heatbed.
There are many different kinds of ABS and PLA. If your printer is perfectly tuned for the
plastic of one vendor you might need to redo your configuration after you’ve switched
vendors. PLA has a lower melting temperature than ABS. Take into account however that the
thermistor on a NiChrome wire hotend typically reports lower than actual temperatures. A
thermistor on a heatblock typically reports higher than actual temperatures.
Your hotend temperature, extruder speed and axes speeds all need to be in harmony for
good printing results. First try to get good printing results at a lower extruder speed (100mm
per second). Afterwards you can try to increase the speed. As a rule of thumb printing quality
at higher speeds will be worse than at lower speeds although the degradation is usually
acceptable.
1. Mechanical build
1.1. Wrenches and keys
1.2. Digital caliper
1.3. Spirit level
1.4. Plumb line
1.5. Installation of Z-axis bushings
1.6. Flat on motor shafts
2. Electronics build
2.1. Soldering
2.2. Cable stripper
2.3. DIY Sanguinololu build
You don’t need to be an electronics buff or mechanical engineer in order to build your own 3D
printer. If you can screw a nut on a bolt you can build this printer.
You also don’t need to invest large amounts of money in either parts or tools. The RepRap
has been designed around commonly available parts and using commonly available tools.
1. Mechanical build
For the mechanical build you will need these tools and the associated skills.
https://reprapbook.appspot.com/#d0e71 21/42
29/10/2014 Building Your Own 3D Printer
When storing away your digital caliper always remove the battery. These devices never
really shut down.
Whenever you make a measurement always first reset your caliper to zero, even when it
already says 00,0. If you make measurements without resetting the caliper to zero you
might get inaccurate readings.
Despite these two small annoyances digital calipers outperform regular calipers in such a way
that you can't build a RepRap printer without them.
https://reprapbook.appspot.com/#d0e71 22/42
29/10/2014 Building Your Own 3D Printer
Seperate bushings like PLA bushings or printed bushing holders for brass bushings
Bushing holders integrated into the printed parts. This is generally referred to as the
Prusa felt branch. This is actually a counter-intuitive name. The designer of the RepRap
Prusa Mendel printer - Josef Prusa - created a branch[12] with bushing holders
integrated in the printed parts. The original purpose was to glue small pieces of felt into
these holders (felt was then used as a bushing.) It is also possible to mount brass
bushings in these holder. Later on the parts for LM8UU bearings were also added to this
branch. The use of felt as a bushing never really caught on and is now outdated. The
bushing holders integrated into the parts are still popular for use with brass bushings
and LM8UU linear bearings. Image 29 shows the X-end idler part with integrated
bushing holders.
https://reprapbook.appspot.com/#d0e71 23/42
29/10/2014 Building Your Own 3D Printer
Image 29: X-end idler with integrated bushing holders, taken from
Glue for attaching your PLA bushings or bushing holders the X-carriage on the X-axis,
the bottom print plate on the Y-axis and the X-end parts on the Z-axis.
Table clamp when gluing the PLA bushings or bushing holders to the X-end parts on
the Z-axis.
You only really need a hair dryer. You may find that inserting your brass bushings or LM8UU
linear bearings into the integrated bushing holders is pretty difficult. If you warm the bushing
holders with a hair dryer before inserting the bushings or bearings you will find it becomes
easier. The heat makes the plastic more malleable.
https://reprapbook.appspot.com/#d0e71 24/42
29/10/2014 Building Your Own 3D Printer
You will need these tools to add a flat to your motor shafts:
Iron file
A vise is really handy for this job. You need a way to stop the shaft from turning while
filing a flat. It might be possible with pliers (this might also require more than two
hands.)
Follow these excellent instructions on how to add a flat to your motor shafts (thank you
spacexula.)
2. Electronics build
Tools for the electronics build are required to solder the components on the PCB (if you've
bought a DIY kit) and for endstops and motors.
2.1. Soldering
You need these basic soldering tools for building your own electronics board. If you've bought
a pre-assembled board you probably still have to solder cables:
Soldering iron with sharp tip. If you have a broad tip you should consider changing it for
a finer one.
Solder wire.
Third hand
https://reprapbook.appspot.com/#d0e71 25/42
29/10/2014 Building Your Own 3D Printer
Image 32: a very useful tool for any soldering task (source)
https://reprapbook.appspot.com/#d0e71 26/42
29/10/2014 Building Your Own 3D Printer
The FTDI chip is however very small and is very difficult to solder by hand. If you don't
have any experience with this type of soldering - I don't - it is advised to ask your vendor to
solder this chip on the PCB for you. I've paid €7,50 extra for this. Ask your vendor for prices. If
you still wish to solder this chip by hand yourself you'll need flux. See this video for details on
how to solder the FTDI chip on a Sanguinololu board.
[12] A branch is like a separate track in a software repository. In a branch things can be
worked on in parallel without affecting things in other branches.
RepRap software
4. Skein software
5. Host software
5.1. Prerequisites for Windows
5.2. Prerequisites for other operating systems
5.3. Downloading Pronterface
5.4. Running Pronterface
A RepRap printer is judged by the quality of the objects it has printed and secondarily the
speed with which these objects can be printed. The quality of the prints is determined in part
by the quality of your mechanical build. Another important contributor to print quality or lack
thereof is the software you use with your RepRap and how it has been configured. The
fundamental pieces of software required to run a RepRap printer are discussed here.
You will need at least four applications installed on your computer to run a RepRap Prusa
Mendel 3D printer. They are:
Arduino software: this application allows you to install the printer firmware onto the
https://reprapbook.appspot.com/#d0e71 27/42
29/10/2014 Building Your Own 3D Printer
ATMega microprocessor. This installation is required each time you want to update the
firmware.
Firmware: there are several firmwares available for RepRap printers. The firmware is
installed on the ATMega microprocessor and handles the G-code instructions received
from the PC. Part of the configuration of the printer has to be done in the firmware.
Skein software: the most popular application to slice STL files into G-code is called
Skeinforge. You need this piece of software each time you want to print a part.
Host software: there are also several host application available for RepRap printers. This
application is responsible for communicating with the electronics of the printer before
and during print jobs. It prepares the printer before starting a print job and then also
starts the actual print jobs.
Make sure to remember or write down the COM port to which your Arduino is connected.
Once the Arduino board is connected to the Arduino software you can skip ahead to the
firmware section.
Make sure to remember or write down the COM port to which your Samguinololu is
connected.
https://reprapbook.appspot.com/#d0e71 28/42
29/10/2014 Building Your Own 3D Printer
Once the Sanguinololu board is connected to the Arduino software you can follow the
instructions in the firmware section.
3. Firmware
There are a few popular firmwares available for RepRap 3D printers[13]. They are:
Sprinter: modern firmware with support for SD cards and easy configuration
Teacup is a decent alternative for Sprinter. However, because of its easier configuration we
advise you to get started with Sprinter.
If you're not familiar with Git you should download the latest version of the Sprinter firmware
from the website.
Download the latest Zip archive here. Unpack the Zip archive.
The steps per mm: these are the steps your stepper motor needs to make for one axis
to travel one mm. This value has to be configured for the three axes plus the extruder.
For now you only need to configure the type of electronics board you're using.
The Sprinter firmware needs to know which electronics board and which version of the
board you're using. To configure the Sprinter firmware open the Sprinter.pde file in Arduino
IDE. This file is located in the Sprinter archive you've downloaded. Edit the Configuration.h file.
https://reprapbook.appspot.com/#d0e71 29/42
29/10/2014 Building Your Own 3D Printer
For now change only one setting that is at the top of the file:MOTHERBOARD. Change the line that
says #define MOTHERBOARD 3 to one of these values depending on your electronics of choice:
Make sure to save the Configuration.h file (CTRL+S.) Also make sure you’ve selected the correct
Arduino board in Tools / Board menu:
For RAMPS this should Arduino Mega (ATMega1280) or Arduino Mega 2560. The value
depends on the Arduino board you're using.
For the Sanguinololu board this should be Sanguino (this option is only available if
you’ve followed the Arduino software for Sanguinololu instructions above.)
Each time you make a change to the Sprinter firmware you need to upload those changes to
you electronics board. Without this steps your changes will not take effect.
Make sure you've opened Sprinter.pde file in the Arduino IDE. Press CTRL+R to compile the
Sprinter firmware with your specific configuration to your electronics board. If everthing goes
well you should see a message similar to this:
When the compilation has completed you can upload the firmware to your board. Make
sure the USB cable is connected and LED is on. Hold the reset button on your board and press
CTRL-U. When text appears in the black window of the Arduino IDE release the reset button
(an Arduino chip can only be programmed for 10 seconds after a reset.) After the upload has
completed reset your electronics board by pushing the reset button.
4. Skein software
Skeinforge is the most popular skein application in the RepRap community but it’s also
notoriously complicated. Recently software developers in the RepRap community have release
Pronterface. This application hides much of the complexity of Skeinforge and is also host
software for a RepRap printer. When you install Pronterface there is no need to install
Skeinforge separately.
5. Host software
Pronterface is the easiest to use host software for a RepRap 3D printer. It combines Skeinforge
into a much easier to use package. With Pronterface you can load a STL file, have it converted
https://reprapbook.appspot.com/#d0e71 30/42
29/10/2014 Building Your Own 3D Printer
Download the latest Zip archive here. Unpack the Zip archive.
Afterward change directory to the Printrun directory and run this command:
This command will clone SFact that is required by pronterface (you can also use another
skeinforge version.)
https://reprapbook.appspot.com/#d0e71 31/42
29/10/2014 Building Your Own 3D Printer
Select the correct COM port. Also make sure your electronics board is connected to the USB
port and has power. Then click the “Connect” button. Pronterface should now have been able
to connect to your electronics board. You can now try move your three axes. Start with small
movements - e.g. X+1 - and make sure you don’t run into anything.
https://reprapbook.appspot.com/#d0e71 32/42
29/10/2014 Building Your Own 3D Printer
Press the "Slice..." button to open an STL file. This will be immediately converted to a G-code
file with the same name (different extension) in the same directory as the STL file. You can
then open this G-code file in Pronterface (be sure to open the G-code file and not the STL
file.)
Work in progress
Slic3r is a work in progress. It's not as complete or stable as Skeinforge yet. It is much
easier to use though.
[13] See also the list of all available firmwares for RepRap printers.
Buyer's guide
1. Printed parts
2. Vitamins
2.1. Electronics
2.2. Power supply
2.3. Stepper motors
2.4. Hardware kits
2.5. Extruder
https://reprapbook.appspot.com/#d0e71 33/42
29/10/2014 Building Your Own 3D Printer
2.6. Hotends
2.7. Kapton tape
Once you’ve decided to commit yourself you’ll have to shop for parts. A RepRap printer
consists of two kinds of parts:
Check out the RepRap Prusa Mendel bill of materials (BOM) to get a feel of all the parts that
are required.
Don't order anything before checking your planned purchases on the #reprap IRC channel.
Only place your orders after the RepRap community members on the IRC channel have
approved.
1. Printed parts
In Europe printed parts can be sourced from nophead or arthx. Nophead sells his parts on
ebay. Arthx can be contacted on the #reprap IRC channel (his handle is arthx.) Nophead is
based in the UK, Arthx in Poland.
For the US also check out LulzBot.com (based in Loveland, Colorado, USA). For both US and
Europe also check eMAKERshop.com, a website where RepRap community members buy and
sell RepRap parts.
You might also want to check out the casted parts offerd by 2printbeta.de. These are
reportedly the only decent casted parts available.
2. Vitamins
2.1. Electronics
2.1.1. RAMPS
You can buy an Arduino MEGA 1280 or Arduino MEGA 2560 board from these vendors or on
ebay. Also check ruben-ikmaak (info [at] ikmaak [dot] nl, based in the Netherlands) for
Arduino MEGA boards.
https://reprapbook.appspot.com/#d0e71 34/42
29/10/2014 Building Your Own 3D Printer
2.1.2. Sanguinololu
These vendors sell Sanguinololu DIY or pre-assembled kits. For a small extra fee they will
solder the SMD part for you, something which you should certainly not consider doing
yourself. Ask the vendor directly in case no such quotation is made on their website.
Voltage regulator
Make sure you get the voltage regulator on you Sanguinololu. A ATX power supply usually
doesn't give a clean 5V, better to get 5V for you electronics from the 12V source with a
voltage regulator. If you're not sure ask your vendors.
2.1.3. StepStick
Most of the vendors above carry the StepStick or Pololu boards. Be careful to actually buy the
A4988 stepper drivers. The A4983 is an older chip and doesn't have overcurrent protection,
the A4988 does. You will still find A4983 boards available, better avoid them.
The SY42STH47-1684A is the ideal stepper motor for a RepRap Prusa Mendel 3D printer
because the Pololu stepper drivers can bring out its maximum torque. You want as much
torque as possible on your 3D printer. These stepper motors are available from Zapp
Automation (based in the UK.) Also check ruben-ikmaak (info [at] ikmaak [dot] nl, based in the
Netherlands.) Ruben also carries these stepper motors.
2printbeta.de (based in Germany): nuts & bolts kit and rods kit
xyzprinters.com (based in the Netherlands): nuts & bolts kit and rods kit
https://reprapbook.appspot.com/#d0e71 35/42
29/10/2014 Building Your Own 3D Printer
You can also check eMAKERshop or ebay for vendors. Beware however of kits that
contain nuts & bolts, belts and printer parts; on many occassions these turn out more
expensive than the sum of the parts.
Ask the vendors In case you are not certain whether or not their hardware kits include all the
items on the RepRap Prusa Mendel BOM.
LM8UU metal linear bearings require your 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. Very few kits however provide rolled steel smooth bars. For this
reason LM8UU metal linear bearings can drive the price of your printer up significantly.
2.5. Extruder
The printed parts for the Wade’s geared extruder are usually part of the printed parts kit but
be sure to double-check. You will probably has to buy a separate Wade's geared extruder
hardware kit. These vendors sell them:
2.6. Hotends
TODO
[14] See the RepRap wiki page on stepper motors for more details.
Build instructions
Work in progress
This section will be expanded and improved over time. For now it's made up of bits and
pieces of useful information.
Once most or all of your parts have arrived you're ready to start building your RepRap Prusa
Mendel 3D printer. This printer come with very good build instructions:
Visual instructions.
In case of doubt
In case you are in any kind of difficult or are uncertain take picture or record video and ask
your questions on the #reprap IRC channel.
After your printer is working properly the first things you should print are spare parts for your
printer. Certain parts are known to break. You should preferably have spares of these items:
Entire extruder set (only in case your printer parts are made from PLA)
PLA has a lower melting temperature than ABS. The extruder set and X-carriage made from
PLA have been known to get damaged due to the heat of the hotend. If these parts of your
printer are made from PLA you should add a fan to blow air to the top of the hotend and the
heat barrier[15]. This will make damage to your PLA X-carriage and extruder parts less likely.
On the Sanguinololu board you have to select the voltage for the endstops. If you don't make
this selection you will not have current on your endstop connectors. This is not a problem
when you use three mechanical endstops. However, if you use optical endstops or a hall
sensor you will have to select a voltage. Both the optical endstops and the hall sensor require
5V.
1. How to contribute
1.1. Overview
1.2. Create your free GitHub account
1.3. Fork the repository
1.4. Clone your copy of the repository
1.5. Making changes
1.6. Commit your changes
1.7. Push your changes
1.8. Create a pull request
2. Similar efforts
3. Contributors
This book is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported
License. Sharing of this work is encouraged.
1. How to contribute
In case you want to fix typos - there's bound to be plenty, edit this book or if you just want to
add content to this book you can do so on GitHub. You need to have a GitHub account.
Creating one is easy. You will also need to install Git on your computer. There are Git
installation packages available for many platforms. Once you have taken care of all that you
should log in to GitHub and fork the repository of this book. Afterwards you can commit and
push your changes to GitHub. When that is done you can send me a pull request. The next
sections will discuss these steps in more details. There's also a page on GitHub dedicated to
pull requests (the page however might be too elaborate.)
1.1. Overview
The idea is simple enough: you want to make a small or bigger change to the content of this
book. Problem: you don't have write access to the repository that holds this book's source
code. You could send me an e-mail saying you would like to add this and that to such and
such section. That's tedious.
Actually you do have write access to this book's source code, in a way. This book's source
code is hosted on GitHub, a site for collaborative sofware development. On GitHub - once you
https://reprapbook.appspot.com/#d0e71 39/42
29/10/2014 Building Your Own 3D Printer
have an account - it is very easy to fork a repository. Once you've done that you can make any
changes you like.
Forking is software development jargon for making a copy of a repository. Once the copy
is made this copy starts to live a life on its own but it still holds a reference to where is came
from: the original repository. You can make changes on your copy of the repository - making
these changes is called a commit - and you can then bring these changes to my attention.
Alerting me of your changes is called a pull request.
I wil have a look at your changes. I might copy them entirely in the book. I might also make
a few changes first. Or I might feel lazy and ask you to make some more changes before
accepting your work into the book. In any case, when your changes make it to the book you
will be listed as a contributor. The following sections explain in more detail each step of this
process.
git@github.com:username/BuildingYourOwn3DPrinter.git
The URL can be copied from the top of the page on GitHub. Once you've copied the repository
URL open a command prompt on your computer and execute this command:
The git clone command will copy the repository from GitHub to your computer. You are now
ready to make changes.
https://reprapbook.appspot.com/#d0e71 40/42
29/10/2014 Building Your Own 3D Printer
with a regular text editor. You should use a DocBook editor if you want to make bigger
changes to this document. I use the personal edition of XML Mind. XML Mind is written in Java
and runs on Windows, Mac OS X and Linux. You can download the personal edition of XML
Mind here. No registration or license is required.
For Windows:
gradlew publish
./gradlew publish
This command will take a few minutes to complete. Once completed you can open the
appengine/index.html file to check your changes.
You should use a comment that briefly describes the changes you've made, e.g. fixed typos.
When you use an informative comment others will find it easier to parse through the list of
changes made to this book.
git push
Make sure this command completes without errors. When you do get errors first run this
command:
git pull
https://reprapbook.appspot.com/#d0e71 41/42
29/10/2014 Building Your Own 3D Printer
2. Similar efforts
There is a comparable effort to this one. It's called The Incomplete RepRap Beginner's Guide
and it is maintained by COS.
3. Contributors
These people have kindly contributed to this book:
https://reprapbook.appspot.com/#d0e71 42/42