building your own 3d printer

81
Building Your Own 3D Printer An introduction Steven Devijver Copyright © 2011 Steven Devijver 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

Upload: rigoberto-cuellar

Post on 20-Oct-2015

32 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Building Your Own 3D Printer

Building Your Own 3D PrinterAn introduction

Steven DevijverCopyright © 2011 Steven Devijver

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

Page 2: Building Your Own 3D Printer

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

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

6. Slic3r: alternative skein application

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

Page 3: Building Your Own 3D Printer

1. X Y and Z axes calibration video

2. Printing spare parts

3. Selecting voltage for endstops on the Sanguinololu

board

About this book

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

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.

The project that single-handily propelled

home-built 3D printers out of nowhere is

RepRap. It’s an open-source project meaning

that all the information and design plans you’ll

need are available free for all. Building a 3D

printer yourself is a huge undertaking. You can

Page 4: Building Your Own 3D Printer

build it for less than $500 or €500 but months

might go by between getting started and

printing your first part.

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.

These are the sections of this book:

How a RepRap 3D printer works

Parts of the printer

A word on the most commonly used plastics

Tools and skills required

Software required to run a RepRap 3D printer

Buyer’s guide

Links to build instructions

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.

Page 5: Building Your Own 3D Printer

Image 1: a working RepRap Prusa Mendel 3D printer (source)

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.

How the printer works

Page 6: Building Your Own 3D Printer

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

Page 7: Building Your Own 3D Printer

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.

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

1. Frame

Page 8: Building Your Own 3D Printer

Image 2: empty RepRap Prusa Mendel frame. Notice the various

printed parts that keep the frame together. (source)

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

RepRap: the printer that can print its own partsThe 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

Page 9: Building Your Own 3D Printer

the printed parts that will hold the stepper

motors of the Z-axis.

Image 3: RepRap Prusa Mendel frame with smooth rods for Y-axis

and Z-axis mounted (source)

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

2. Y-axis and bushings

Page 10: Building Your Own 3D Printer

Image 4: RepRap Prusa Mendel frame with Y-axis installed

(source)

On image 4 you see the print bottom plate

assembled on the Y-axis smooth rods. The Y-

axis 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

Page 11: Building Your Own 3D Printer

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

Home-made 3D printers are meant to be customizedIf you would like linear bearings on your printer then by all

means go ahead and print the parts[2]!

Page 12: Building Your Own 3D Printer

Image 5: brass bushings inserted in printed parts (source)

Image 6: printed linear bearing (source)

3. Z-axis and Y-axis

Page 13: 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.

Page 14: Building Your Own 3D Printer

Image 9: X-end idler part on the left-hand side, X-end motor

part on the right-hand side (source unknown)

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:

Page 15: Building Your Own 3D Printer

Image 10: assembled X-end idler (source)

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. ExtruderThe RepRap Prusa Mendel is typically equiped

with a Wade’s geared extruder[3]. This extruder

Page 16: Building Your Own 3D Printer

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

Image 11: Wade's geared extruder (source)

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

Page 17: Building Your Own 3D Printer

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:

Image 12: heater block with resistor installed (source)

Image 13 shows a heater barrel wrapped with

NiChome wire:

Page 18: Building Your Own 3D Printer

Image 13: heater barrel wrapped with NiChrome wire (the

assembly shown in this image is not finished) (source)

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

Page 19: Building Your Own 3D Printer

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:

Page 20: Building Your Own 3D Printer

Image 14: a heater barrel. Suitable for either NiChrome wire

or heater block (source)

5. X-carriageThe 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.

Page 21: Building Your Own 3D Printer

Image 16: assembled Wade's geared extruder mounted on the X-

carriage. Notice the belt in the background (source)

6. Print platePrinted 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.

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

Page 22: Building Your Own 3D Printer

mounted on the X-axis smooth rods with

printed bushings.

Image 17: top print plate stack on bottom print plate. The

springs are clearly visible. The bottom print plate is mounted

on the X-axis smooth rods with printed bushings (source)

A popular add-on for your printer is the heated

bed. These significantly reduce the amount

ofwarping 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.

Page 23: Building Your Own 3D Printer

The bottom section of the left-hand part

on image 18 below clearly shows warping while

the identical right-hand part doesn’t:

Image 18: left-hand part clearly shows warping in bottom

section (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.

Page 24: 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.)

Warning on installing heat sinks

Page 25: Building Your Own 3D Printer

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. ElectronicsThe electronics board controls the printing

process. Several electronics options exist for

RepRap printers (they are all open-source.)

Currently the most popular are:

RAMPS, a DIY shield board for Arduino MEGA

Sanguinololu, an all-in-one DIY board with

microprocessor on board

The RepRap electronics board has several

functions:

Process G-code instructions.

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.

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

Page 26: Building Your Own 3D Printer

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:

One extra heater / thermistor channel (three

in total)

Optional SD card reader

Image 20 shows a RAMPS board mounted on a

Arduino MEGA board with four Pololu stepper

motor controller boards installed:

Image 20: an assmebled 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

Page 27: Building Your Own 3D Printer

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 maybe you like the Sanguinololu’s small

size and lower price. Image 21 shows an

Page 28: Building Your Own 3D Printer

assembled Sanguinololu board with four Pololu

stepper controller boards installed:

Image 21: assembled Sanguinololu board with four Pololy

stepper controller boards installed (source)

8. Stepper motorsThere are five stepper motors on the RepRap

Prusa Mendel:

One to control the Y-axis

One to control the X-axis

Two to control the Z-axis

One to control the extruder

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.

Page 29: Building Your Own 3D Printer

NEMA17 determines some of the dimensions of

a stepper motor.

Image 22: the internals of a stepper motor (source)

Not every NEMA17 motor is equalThe 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

Page 30: Building Your Own 3D Printer

mode the percentage of current is gradually

changed per phase to make the shaft rotate in

small steps[10].

9. Stepper motor controllersControlling a bipolar stepper motor is pretty

complicated, especially in micro-stepping

mode. Unipolar stepper motors are easier to

control but they offer less torque for the same

motor size. Special stepper motor controllers

have been developed that take over the

complexities of controlling a stepper motor.

With such a controller one only needs to send

one signal to make one micro-step. This

seriously simplifies controlling the stepper

motor.

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 calledStepStick.

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.

Page 31: Building Your Own 3D Printer

Warning about StepStick boardRepRap 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.

10. End stopsAt the start of a print job all three axes have to

be moved to their starting or homing position.

This is the zero position of the Cartesian robot.

The axes can’t move any further than zero

(they can’t move to a negative position.)

To achieve this three end stops need to be

installed, one for each axis. A end stop needs to

Page 32: Building Your Own 3D Printer

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.

Mechanical vs. optical endstopsSwitches 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

Page 33: Building Your Own 3D Printer

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.

Image 23: an assembled optical end stop PCB (source)

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

Page 34: Building Your Own 3D Printer

front of the printer frame is to the right in this

image.

Image 24: mechanical end stop mounted on Z-axis (source)

[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[4] Instructions for bamboo as heat barrier here.[5] See this excellent guide for more details on

warping[6] See these instructions for building your own

heatbed[7] Instructions on how to solder the small chip

on the Sanguinololu board

Page 35: 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.

Image 25: blue filament on a spindle (source)

Page 36: Building Your Own 3D Printer

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.

Tools and skills

Page 37: Building Your Own 3D Printer

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 buildFor the mechanical build you will need these

tools and the associated skills.

1.1. Wrenches and keys

Open end wrenches: M8, M4 and M3

Hex keys if you’ve bought those kinds of

screws

1.2. Digital caliper

Page 38: Building Your Own 3D Printer

You can't build a RepRap and make it work

without a digital caliper. If you have a normal

caliper put it to the side and order a digital

caliper. The digital caliper gives a readout of

two significant digits after the comma. The

digital caliper is required while calibrating your

frame and later when calibrating your axes. You

can find reliable digital calipers on Amazon for

$10 or €10.

Image 26: Toolzone digital caliper (source)

There are two important tidbits to remember

about digital calipers:

Page 39: 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.

1.3. Spirit level

A spirit level is used during frame building, axes

building and general calibration of your printer.

A smaller spirit level is better than a bigger:

Image 27: Draper spirit level (source)

1.4. Plumb line

You need a plumb line a one point only during

the build: when the Z-axis smooth rods are

installed. You can also hang a nut on a string

but a plumb line will work much better.

Page 40: Building Your Own 3D Printer

Image 28: Draper plumb line (source)

1.5. Installation of Z-axis bushings

Depending on which kinds of bushing holders

you're using you need different kinds of tools.

There are really two categories:

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

Page 41: Building Your Own 3D Printer

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.

Image 29: X-end idler with integrated bushing holders, taken

from Prusa felt branch .

1.5.1. PLA bushings or separate bushing holders

You will need these tools:

Page 42: Building Your Own 3D Printer

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.

1.5.2. Integrated bushing holders

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.

1.6. Flat on motor shafts

You may skip this section if you're lucky enough

to have a flat on your motor shafts. Without a

flat your axes or extruder are likely to skip

steps. You don't want this so you need to add a

flat to your motor shaft.

Page 43: Building Your Own 3D Printer

Image 30: a stepper motor shaft with a flat part (source)

You will need these tools to add a flat to your

motor shafts:

Iron file

Play-Doh or Silly Putty or alternative

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

Page 44: Building Your Own 3D Printer

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

Image 31: my own soldering kit

Page 45: Building Your Own 3D Printer

Image 32: a very useful tool for any soldering task (source)

2.2. Cable stripper

You can't properly strip a wire of its insulation

without a cable stripper. People use knifes and

scissors but you shouldn't. You want your

printer to work properly so you don't want to

damage your cables.

Page 46: Building Your Own 3D Printer

Image 33: my own cable stripper

2.3. DIY Sanguinololu build

A Sanguinololu board has one tiny component -

also called SMD component. This component is

called the FTDI chip after the company that

produces it. This chip is a USB-to-serial bridge.

The ATMega chip used on all RepRap

electronics boards can only communicate with

a computer through a serial interface. This FTDI

chip allows the communication between the

computer and the ATMega chip to happen over

USB instead.

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

Page 47: Building Your Own 3D Printer

€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

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

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

6. Slic3r: alternative skein application

Page 48: Building Your Own 3D Printer

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

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

Page 49: Building Your Own 3D Printer

before starting a print job and then also starts

the actual print jobs.

These applications are discussed in turn below.

1. Arduino software for RAMPSFor the RAMPS electronics you need to follow

the instructions for installing the Arduino

environment:

Windows installation instructions

Mac OS X installation instructions

Linux installation instructions

COM port to communicate with your Arduino boardMake 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.

2. Arduino software for SanguinololuFor the Sanguinololu board you will need to

follow these Sanguino installation instructions:

Windows installation instructions

Mac OS X installation instructions

Linux installation instructions

COM port to communicate with your Sanguinololu boardMake sure to remember or write down the COM port to

which your Samguinololu is connected.

Page 50: 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. FirmwareThere 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 : claimed to be faster than Sprinter,

more elaborate configuration options

Teacup is a decent alternative for Sprinter.

However, because of its easier configuration we

advise you to get started with Sprinter.

3.1. Downloading the Sprinter firmware

There are two methods to download the

Sprinter firmware:

Through the website.

By cloning the repository using Git.

If you're not familiar with Git you should

download the latest version of the Sprinter

firmware from the website.

3.1.1. Download Sprinter through the website

Download the latest Zip archive here. Unpack

the Zip archive.

3.1.2. Clone the Sprinter repository with Git

Page 51: Building Your Own 3D Printer

Execute this command:

git clone https://github.com/kliment/Sprinter.git

3.2. Configuring the Sprinter firmware to your electronics board

Each firmware needs to be configured in at

least two important ways before you can use

your printer properly:

The type of electronics board you're using

(RAMPS, Sanguinolo, ...)

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.

For now change only one setting that is at the

top of the file:MOTHERBOARD. Change the line that

says #define MOTHERBOARD 3to one of these values

depending on your electronics of choice:

RAMPS version 1.2 or older: #define

MOTHERBOARD 3

Page 52: Building Your Own 3D Printer

RAMPS version 1.3 and better: #define

MOTHERBOARD 4

Sanguinololu up to version 1.1: #define

MOTHERBOARD 6

Sanguinololu version 1.2 and better: #define

MOTHERBOARD 62

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

3.3. Uploading the Sprinter firmware to your electronics board

Uploading your configuration changesEach 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:

Page 53: Building Your Own 3D Printer

Binary sketch size: 29530 bytes (of a 63488

byte maximum)

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 softwareSkeinforge 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 softwarePronterface 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 to G-code and control your RepRap

Prusa Mendel 3D printer.

Page 54: Building Your Own 3D Printer

5.1. Prerequisites for Windows

Before you can run Pronterface you need to

install these applications. There’s is no need to

restart your computer after the installations are

completed. Install these applications one after

the other.

Python 2.7 . Python is the language that

Pronterface is written in.

pyserial , a library that allows Python to talk to

serial ports.

wxPython , a library to build graphical user

applications in Python.

5.2. Prerequisites for other operating systems

For other operating systems check the

prerequisites description here.

5.3. Downloading Pronterface

Pronterface can also be downloaded in two

ways. Again, download the latest Zip archive

from the website if you're not familiar with Git.

5.3.1. Download Pronterface through the website

Download the latest Zip archive here. Unpack

the Zip archive.

5.3.2. Clone the Pronterface repository with Git

Page 55: Building Your Own 3D Printer

Execute this command:

git clone https://github.com/kliment/Printrun.git

Afterward change directory to the Printrun

directory and run this command:

git clone https://github.com/ahmetcemturan/SFACT.git skeinforge

This command will clone SFact that is required

by pronterface (you can also use another

skeinforge version.)

5.4. Running Pronterface

In the unzipped directory double-click on the

red pronterface icon. You will see a screen like

this:

Page 56: Building Your Own 3D Printer

Image 34: Pronterface running on Windows.

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.

6. Slic3r: alternative skein application

Page 57: Building Your Own 3D Printer

Slic3r is a new skein application as a

replacement for skeinforge. It looks very

promising and the user interface is much easier

to use. You can convert STL files to G-code and

import these G-code files into pronterface.

You can download Slic3r here. Below is a

screenshot of Slic3r:

Image 35: Slic3r running on Windows.

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

Page 58: Building Your Own 3D Printer

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 progressSlic3r 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

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:

Printed parts for a RepRap Prusa Mendel

Vitamins or non-printed parts like nuts and

bolts and electronics.

Page 59: Building Your Own 3D Printer

Check out the RepRap Prusa Mendel bill of

materials (BOM) to get a feel of all the parts

that are required.

Warning about placing your ordersDon'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 partsIn 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

Page 60: Building Your Own 3D Printer

These vendors sell RAMPS DIY and pre-

assembled kits:

RepRapSource.com  (based in Germany)

xyzprinters.com  (based in the Netherlands)

LulzBot.com  (based in Loveland, Colorado,

USA)

UltiMachine.com  (based in South Pittsburg,

USA)

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.

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 regulatorMake 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.

xyzprinters.com  (based in the Netherlands)

ruben-ikmaak (info [at] ikmaak [dot] nl,

based in the Netherlands)

LulzBot.com  (based in Loveland, Colorado,

USA)

Page 61: Building Your Own 3D Printer

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.

2.2. Power supply

You will need a ATX power supply of about 20A

on the 12V channel. The current doesn't have

to be higher than 20A but it shouldn't be 15A

either. 20A on 12V is enough to run a RepRap

Prusa Mendel 3D printer with a heated bed.

2.3. Stepper motors

The RepRap Prusa Mendel 3d printer uses

bipolar stepper motors with four wires. The step

angle should be 1.8°[14].

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.

Page 62: Building Your Own 3D Printer

2.4. Hardware kits

These kits contain all rods, bolts, nuts, washers

and springs required to build your printer.

Usually they do not include the hardware for

the extruder. Neither do they usually included

the 608 bearings. Check out these vendors for

hardware kits:

2printbeta.de (based in Germany): nuts &

bolts kit and rods kit

xyzprinters.com (based in the

Netherlands): nuts & bolts kit and rods kit

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.

Warning on LM8UU metal linear bearingsLM8UU 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

Page 63: Building Your Own 3D Printer

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:

2printbeta.de  (based in Germany)

xyzprinters.com  (based in the Netherlands)

2.6. Hotends

TODO

2.7. Kapton tape

Kapton tape is a space-age product. It's tape

that can resist the high temperatures typically

found around a RepRap 3D Printer. Kapton tape

must be put on a heated bed (the filament

won't stick to the heated bed itself) and

optionally also on the hotend. You will need two

widths of kapton tape: 1cm and 5cm. A roll of

kapton tape typically holds about 33m. Check

the vendors mentioned above for kapton tape,

also check ruben-ikmaak (info [at] ikmaak [dot]

nl, based in the Netherlands.)

[14] See the RepRap wiki page on stepper

motors for more details.

Build instructions

Page 64: Building Your Own 3D Printer

1. X Y and Z axes calibration video

2. Printing spare parts

3. Selecting voltage for endstops on the Sanguinololu board

Work in progressThis 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:

The RepRap Prusa Mendel assembly

instructions with video segments.

The RepRap Prusa Mendel visual instructions .

For the Wade’s geared extruder:

The overview page .

Visual instructions .

In case of doubtIn 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.

1. X Y and Z axes calibration videoYou have to watch this excellent video by

spacexula on how to calibrate the X Y and Z

axis:

2. Printing spare partsAfter your printer is working properly the first

things you should print are spare parts for your

Page 65: Building Your Own 3D Printer

printer. Certain parts are known to break. You

should preferably have spares of these items:

Set of two Y-axis and X-axis pulleys

Entire extruder set (only in case your printer

parts are made from PLA)

X-carriage (only in case your printer part is

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.

RepRap Prusa Mendel bar clamp (source)

Page 66: Building Your Own 3D Printer

RepRap Prusa Mendel Y-axis and X-axis pulley (source)

3. Selecting voltage for endstops on the Sanguinololu board

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.

Page 67: Building Your Own 3D Printer

[15] Here is one design for a suitable fan mount.

About this book

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 contributeIn 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

Page 68: Building Your Own 3D Printer

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

Page 69: Building Your Own 3D Printer

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.

1.2. Create your free GitHub account

Creating your free GitHub account is easy:

go here and fill in your user name, e-mail

address and password and you're done. To

install Git on your computer follow this guide on

GitHub.com. You follow that guide completely

until the end (including the section on

generating SSH keys and uploading your public

key to GitHub.) If you skip steps in this guide

you will not be able to complete the next steps.

1.3. Fork the repository

Visit the repository of this book and click the

Fork icon in the top left corner of your screen.

After a few moments a copy of the repository

will have been created under your user name

(check the URL.)

1.4. Clone your copy of the repository

Page 70: Building Your Own 3D Printer

Your copy of the repository only exists on

GitHub for now. You can clone the repository

which copies the repository to your computer.

To clone your copy of the repository first copy

the URL of your repository. This URL will look

like this:

[email protected]: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:

git clone <replace_with_repository_URL>

The git clone command will copy the repository

from GitHub to your computer. You are now

ready to make changes.

1.5. Making changes

This book is edited in DocBook format. DocBook

is an XML notation for editing books. The files

that make up this book are located under

the src/main/docbook/en-USfolder. The files are

named after the section titles of this book. If

you want to fix typos you can edit these files

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

Page 71: Building Your Own 3D Printer

can download the personal edition of XML

Mind here. No registration or license is

required.

To view your changes in HTML you can run

this command:

For Windows:

gradlew publish

For Mac OS X and Linux:

./gradlew publish

This command will take a few minutes to

complete. Once completed you can open

theappengine/index.html file to check your

changes.

1.6. Commit your changes

Once you're satisfied with your changes you will

commit them. Run this command in the folder

where you've made your changes:

git commit -a -m "<Your comment here>"

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.

1.7. Push your changes

Page 72: Building Your Own 3D Printer

When you've committed your changes you

should push your changes to GitHub. Your

committed changes are only visible on your

own computer. By running the command below

your changes will become visible on GitHub as

well.

git push

Make sure this command completes without

errors. When you do get errors first run this

command:

git pull

Then run the git push command again.

1.8. Create a pull request

The last step in this process is to send me a pull

request. Click the Pull Requst icon in the top left

corner of your screen. On the next screen you

will be asked to write a comment to accompany

the pull request. Briefly describe the changes

you would like me to consider. Next click the

Send pull request button below and you're

done.

2. Similar effortsThere is a comparable effort to this one. It's

called The Incomplete RepRap Beginner's

Guide and it is maintained by COS.

Page 73: Building Your Own 3D Printer

3. ContributorsThese people have kindly contributed to this

book:

Kliment, spacexula, Mikko Kosonen, Nudel.

Copyright © 2011 Steven Devijver