building your own 3d printer

39
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 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 1

Upload: gingi1337

Post on 02-Nov-2014

126 views

Category:

Documents


4 download

DESCRIPTION

Building Your Own 3D Printer

TRANSCRIPT

Page 1: Building Your Own 3D Printer

Building Your Own 3D PrinterAn 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

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

1

Page 2: 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

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

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

Page 3: Building Your Own 3D Printer

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.

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

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 and3

Page 4: Building Your Own 3D Printer

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.

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 motors4

Page 5: Building Your Own 3D Printer

9. Stepper motor controllers

10. End stops

1. Frame

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 parts

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.

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

mounted (source)

5

Page 6: Building Your Own 3D Printer

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

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

6

Page 7: Building Your Own 3D Printer

Home-made 3D printers are meant to be customized

If you would like linear bearings on your printer then by all means go ahead and print the parts[2]!

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

Image 6: printed linear bearing (source)

3. Z-axis and Y-axis

Image 8: RepRap Prusa Mendel frame with X-axis, Y-axis and Z-axis installed

(source)

7

Page 8: Building Your Own 3D Printer

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.

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:

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

Page 9: Building Your Own 3D Printer

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

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

9

Page 10: 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 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:

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

(source)

5. X-carriage10

Page 11: Building Your Own 3D Printer

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.

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 mounted on the X-axis smooth rods with

printed bushings.

11

Page 12: Building Your Own 3D Printer

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

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.

12

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

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

13

Page 14: 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 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 assembled Sanguinololu board

with four Pololu stepper controller boards installed:

14

Page 15: Building Your Own 3D Printer

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. NEMA17 determines some of the dimensions of a stepper motor.

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

Not every NEMA17 motor is equal

The most important aspect of a stepper motor is its torque. However, the amount of torque the motor

15

Page 16: Building Your Own 3D Printer

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

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

Warning about StepStick board

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.

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

Page 17: Building Your Own 3D Printer

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 endstops

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.

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 front of the printer frame is to the right in this image.

17

Page 18: Building Your Own 3D Printer

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

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

18

Page 19: Building Your Own 3D Printer

Image 25: blue filament on a spindle (source)

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

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.

19

Page 20: Building Your Own 3D Printer

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

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:

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 level20

Page 21: Building Your Own 3D Printer

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.

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

21

Page 22: Building Your Own 3D Printer

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:

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.

22

Page 23: 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 buildTools 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

23

Page 24: Building Your Own 3D Printer

Image 31: my own soldering kit

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.

Image 33: my own cable stripper

24

Page 25: Building Your Own 3D Printer

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

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.

25

Page 26: Building Your Own 3D Printer

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.

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 board

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.

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 board

Make sure to remember or write down the COM port to which your Samguinololu is connected.

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

26

Page 27: Building Your Own 3D Printer

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

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 3 to one

of these values depending on your electronics of choice:

RAMPS version 1.2 or older: #define MOTHERBOARD 3

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

27

Page 28: Building Your Own 3D Printer

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 changes

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:

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.

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.

28

Page 29: Building Your Own 3D Printer

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

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:

Image 34: Pronterface running on Windows.

29

Page 30: Building Your Own 3D Printer

Select the correct COM port. A lso 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 applicationSlic3r 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 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.

30

Page 31: Building Your Own 3D Printer

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.

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 orders

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

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

Page 32: Building Your Own 3D Printer

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

xyzprinters.com (based in the Netherlands)

ruben-ikmaak (info [at] ikmaak [dot] nl, based in the Netherlands)

LulzBot.com (based in Loveland, Colorado, USA)

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.

2.4. Hardware kits

These kits contain all rods, bolts, nuts, washers and springs required to build your printer. Usually they

32

Page 33: Building Your Own 3D Printer

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 bearings

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:

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

33

Page 34: 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 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:

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

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:

34

Page 35: Building Your Own 3D Printer

2. Printing spare partsAfter 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:

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)

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

35

Page 36: Building Your Own 3D Printer

3. Selecting voltage for endstops on the Sanguinololu boardOn 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.

[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 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 made36

Page 37: Building Your Own 3D Printer

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.

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

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

Page 38: Building Your Own 3D Printer

For Mac OS X and Linux:

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

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

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.

3. ContributorsThese people have kindly contributed to this book:

Kliment, spacexula, Mikko Kosonen, Nudel.

38

Page 39: Building Your Own 3D Printer

Copyright © 2011 Steven Devijver

39