Introduction: 3D Printer

Picture of 3D Printer

The 3D printer is a great invention.

I allows the user to print (almost)anything he/she could imagine!

But there fairly expensive.

Of course you could buy a cheap pre made one for $200, but the print area is pretty small, and the quality isn’t the best.
on the order end of the scale theirs the other famous printer, but its $2199.

So what to do, spend a lot of money for good prints, or less for lesser quality?

OR build your own!!

In my search for a printer a I stumbled upon the term RepRap.
RepRap  stand for:  ‘replicating rapid prototyper’
in other words, a printer that could prints its self.

The most stead forward design is the ‘Mendel’,
it consists of a basic tie angle frame, with 4 stepper motor for the X,Y,Z movement.

Step 1: What’s 3d Printing?

Picture of What’s 3d Printing?

Here’s an explanation how a 3D printer works.

A 3D printer deposits little drops/line of molten plastic from a headed tip(nozzle).
in most cases it melts ABS (Acrylonitrile butadiene styrene) or PLA(Polylactic acid, made from corn starch or sugarcane).
on contact with the surrounding air, in cools down into a solid state.

The printer moves its nozzle in 3 ways to deposits  the plastic in a 3D model.
it begins on the bottom and lays down plastic layer by layer, resulting in a full shape.

How smaller the lines its deposits, how smoother the print would be.

Step 2: Make or Buy?

Picture of Make or Buy?

eBay if full of sets to build you one ‘RepRap mendel’.
it’s easy, but somewhat more expensive, and less fun :)

if you’d buy a kit, there’s a whole manual available on the internet.

It is also possible to by a pre made, assembled printer.
A good one starts an 1200 Dollar

But I wanted to build my own, just because I can.

Step 3: Design 2D

Where to begin?
The frame is a good place to start, it’s the center of the whole project.

After looking at some designs of the standard ‘Mandel’ I was possible to make a drawing:

And for the rest a used most of the default files on the RepRap website.
I alter some of them because it would be made from wood instead of being printed.

I added a .ZIP file containing all the parts.
all in PDF and AutoCad files (DWG).

The measurements are in Millimetres!

Step 4: Design 3D

Picture of Design 3D

After I designed all of the pats I thought it would be nice to see the design in 3D before in would start to build.
this way I could get a sense of the scale of the project AND show any design faults.

I used Inventor to build all of the items separately.
after build all the parts, I put it all together in one assembly.

After I put it all together there where some things need to be changed in the drawings
(the files in the previous step are the last ones)

I added a .ZIP file containing all the parts.
All the files are for Inventor

Step 5: Creating the Parts

Picture of Creating the Parts

first the A frame
This is the centre of the build, all parts are connected to this.

This is how a made all of the parts:
-Print the drawing of the part needed to be made.
-Get a pencil, a calliper, tape-measure and something straight to draw de lings.
-Draw de top view on the wood.
-Saw the part to the right shape.
-Drill holes where needed.
-Measure the part:

-if it’s correct fine, go to the next part.

-if its to small, start again, and look out, “measure twice cut once”

-it its to large, try to get it to the right Size.

After the main frame I created the z-axis motor holders

Step 6: Creating the Parts (v2)

Picture of Creating the Parts (v2)

After 2 failed attempts to create the X – carrier I decided to print the original parts,
through I found someone who printed my parts in ABS.

The parts I designed were to week to made out of wood.
Or i did’nt had the right tools to make them.

Step 7: Purchased Parts

Picture of Purchased Parts

Of course I couldn’t build the whole printer myself.

so I bought the parts from eBay, web shops or the local hardware store.

List of parts:
- Arduino Mega 2560.
- Ramps 1.4.
- 5x A4988 Stepper Driver.
- Heated bed.
- HotEnd (Budaschnozzle).
- Smart Controller LCD.
- Mechanical endstops
- Cooler fans
- 100k ohm NTC thermistors
- Lots of wires.
- T5-12 Tooth Pullys and timing beld
- 2x 5mm to 8mm Shaft Coupler.
- 12x LM8UU Linear bearings.
- 10x 608zz Redial bearings.
- Greg’s Hinged extruder KIT.
- 5x Nema17 Steppers (1.7A, 40mm,
- 4m Steel m8 thread.
- 6 pre-cut bar steel rods.
- 20mmx20mm Ikea mirror.
- Lots of m3 nuts and bolts.
- Zip Ties.And more random small parts a can think of at this moment.

Step 8: Assembling the Printer (1)

Picture of Assembling the Printer (1)

With the most part at hand is started to put the frame together .
I calculated that the space between the A frames must be 31cm.

the frames are connected by 7x M8 steel threads.

2 of the bottom threads where used to mount the Y-axis stepper.
Another 2 where used to hold the bearings for the Y-axis belt.

Step 9: Assembling the Printer (2)

Picture of Assembling the Printer (2)

Next up was the Heated bed.

I drilled a 15mm hole into a block of wood and cut it in half.
this was perfect for mounting the bearings in.
these blocks where glued to board,
and on this board I mounted another board with spring between them, for levelling the headed bed.

On the bottom of the heated bed I placed a thermistor to control the temperature.
On top of the bed I placed a 20mm x 20mm Ikea mirror, this is used to create a smooth FLAT surface to print on.

Step 10: Assembling the Printer (3)

Picture of Assembling the Printer (3)

To make this work (and maintain a good pint quality) i order 3 printed parts.

2 for connecting the X-axis to the Z-axis,
and 1 for mounting the hot end on.

To move the extruder carrier I used an timing belt, mounted on the 2 outmost blocks,
on one and a simple bearing, on the other end en stepper with a pulley attached to it.

Step 11: Assembling the Printer (3)

Picture of Assembling the Printer (3)

The Z-Axis are moved by 2 stepper motors.

these are connected to two M8 threads by a coupler.
for extra traction a filed off a bit of the motor shafts

Step 12: POWER!!!

Picture of POWER!!!

So the printer used 12v, an a lot of it.
I used a old ATX power supply, cut of all of the 5v and 3.3v leads.
bundled the two rails (12v and 12v1).

used one to power the 5A connection
and the other for the 11a connection.

To control the supply connected the green wire (power on) and the black (ground) to a switch.
now I can turn in off and on “remotely”.

Step 13: Wiring the Printer

Picture of Wiring the Printer

Next up was the task of connecting ALL of the wire to the correct pins.

I used the image from the RepRap site to connect all the wire’s.
lucky it’s pretty straight forward.

The connections are clearly marked,
for the motors and thermistors polarity isn’t an issue.
the 3 end-stops are easy to connect , + to + , - To - and signal to signal .

Don’t worry If the motor is turning the other way,
this can be corrected in the Arduino Firmware.

Step 14: The Software (PC)

Picture of The Software (PC)

As previously mentioned, Im using Cura for the printing and creating of the Gcode:


Install Cura, and start it.
-First thing is to set you printer: walk through the setup.
-After the setup, you can change most of the settings.
-A good idea is to change to print speed to a low value (50), this can be changed back after the printer preforms well.
-Measures you filament at 3 points, add up the numbers, and divide it by 3.
set this value at “Diameter(mm)”
-Set the Printing Temperature according to the temp needed for the filament your using.

Go to the advance tab:
-Set the nozzle Diameter.

Use "Ctrl" + "E" to open the Expert settings.
if your cooling fan (if mounted) is blowing directly on the hotend, it’s wise to turn down the fan speed max

The rest of the setting can be changed however you like.
But keep in mind, it can mess up you print.

For testing (moving axis’s) I’m using PrintRun, just because it’s easy :P

Step 15: The Software

Picture of The Software

There are 2 main firmware for the Ramps.
- Merlin
- Sprinter

I used the Merlin software because the prints a have seen where better made with Merlin than with Sprinter.

Downloaded it from :

currently I’m using Cura 14.01 for creating the gCode.
the Arduino used the gcode to position its printer head and extrude,
and a lot more of course.
its even possible to print directly from PC with the USB cable attached to the Arduino.

To alter the setting en uploading the software to the Arduino you need a bit of software.
you’ll need Arduino 0.23 for the best result.
See File ""

After installing the software extract the Merlin firmware and open the “Marlin.PDE” file.
Go to the “Configuration.h” page.

This is where all the settings are.
Will go through this, step by step.

I only going to show the basic settings.
There is a lot more in this config.
The row number and values are from the default config file.
In the added zip file you’ll find the default and custom files

Row nr: 73 #define MOTHERBOARD 7
This sets the electronics board type.
default is 7 (Ultiemaker)
But for this project I used a RAMPS 1.4
with one extruder, a fan and a headed bed
so I used nr 33

Row nr: 77 // #define CUSTOM_MENDEL_NAME "Bram's Beast"
just for fun, I named my printer, this shows on the LCD on start-up.

Row 84: #define EXTRUDERS 1
This set the number of extruders the printer has.
default Is 1

Row nr: 124/127 TEMP_SENSOR
The extruder and headed bed have a thermistor attached to it.
this for measuring the temperature.
it’s important to get the correct value, otherwise the the extruder of bed will overheat or stay to cold.
If you know which thermistor is used you’ll only need to fill in the right number.
- #define TEMP_SENSOR_0 is the main extruder thermistor
- #define TEMP_SENSOR_BED is the heated bed thermistor
If only 2 thermistors are used, u can fill in 0 at the other 2 rows
Above row nr 124 is list containing commonly used thermistors.
if you are not sure about the type of thermistor you are using,
download the data cheat of the thermistor.
connect the thermistor to a multimeter and measure its resistance,
check the temperature. And cross reference this with the table in the datasheet.

This is used to prevent the extruder to move when the Hot end is cold.
I commented this out for test purposes.

Row nr: 301 / 306 #define INVERT_X_DIR true
These rows are used to define the motor turning direction.
After a connected all of the end stops and steppers a powerd the printer,
connected it to the PC and used “Printrun”.
Printrun enables you to print, but also move the axis.
I moved the axsis 10mm and confirmd the steppers tured the right way.
if not: change True to False on the axis, save the file and upload it again.

(if the steppers are not run properly, go to the next step first)

Row nr: 313 / 319 #define X_MAX_POS 205
This sets the MAX and Min limits of your printer.
The MIN value of 0 should not be changes (except is you want to have you HOME point at the centre of the bed)
The max value is easy to find out.
Home you printer, and use Printrun or the LCD screen to move the head.
Move the axis just before the head leaved the bed.
Check the travelled distance and change this in the firmware.

(if the steppers are not run properly, go to the next step first)

This is the hardest part of the setup.
here is determent how much the motor has to turn for 1 step.

1 step == 1mm

I used this site:
to get the values for the X Y and Z axis.
Go to the site a fill in the varaibles.

The default steps:
{78.7402 , 78.7402 , 200.0*8/3 , 760*1.1}
200.0*8/3 = AXIS_STEPS_PER_UNIT_Z,

this ware the values I used:
{53.33 , 53.33 , 2560.00 , 515.91}

To test this,
-Save the code.
-Upload it to the Arduino.
-Start Printrun.
-Home the axsis.
-Measure the distance from a fixed point to a point that is going to move,
for example the X axis carrier.
-Write down the measured value.
-Move ONE axis 50mm.
-Measures the distance again, and write it down.
-calculate the distance travelled by the printer.
- if its equal to the 50mm you’ll moved in the software: congrats, this axis is set up properly!
Go to the next axis.
- if not: use the next formula to calculate the next value to try:
(Set Value / Actual Moved Value * 100) = new value;
for example: ( 53.33 / 55 * 100) = 96.96
Set the value and try again!
I used the website to calculate the values, and It work right away.

the extruder was a other story.
for this to work:
-Place a piece of filament in the extruder and clamp it down.
just stick it 2 cm or so. It has to move downwards 2 cm.
-Stick a piece of tape on the filament.
-Measures the distance from the tape to the extruder.
-Move down the extruder 1 or 2 cm. (with printrun).
-Measures the distance again and calculate the travelled distance.
-if its equal to the given distance, great. If not, use the formula above an try again!

(if a LCD is connected)
Row nr: 470.
Uncomment the code for the LCD screen u used.

The rest of the code just fine, you can read through it to fine tune, or set some other values.
but these are the values needed to be set.

Step 16: Tuning the Steppers

Picture of Tuning the Steppers

Its possible the steppers are moving right out of the box, in combination with the drivers.
or not :P

Either way, it’s a good idea to tune the drivers, this will strengthen the motors, let them run smoothly, and stops overheating them and the drivers.

There are 2 ways of doing this:

To do this (1):

  • Turn on your printer.
  • Use “Printrun” to move the axis.
  • Move one of axis back and forward.
  • Simultaneously moving the potentiometer on the driver clockwise until the stepper starts acting weird (make strange sounds, vibrating a lot).
  • turn it back a little until it runs smooth again.
  • go to the next driver/stepper/axis.

To do this (2):


Per the A4988 datasheet [[1]], the calculation for the maximum trip current is:

I_TripMax= Vref/(8*Rs)

With Pololus, the sensing resistors are Rs=0.05 ohm, so a Vref of 0.4 should produce a maximum current of 0.4/(8*0.05)=1A.

As another example, aiming for 50% temperature rise on 1A rated steppers by using max 0.7A, so rearrange it as:

Vref = I_TripMax * 8 * Rs or

Vref = 0.7 * 8 * 0.05 = 0.280V

With a measured Vref of 0.273V, I should expect 0.6825A, and I measured the current through one coil as 0.486A in full step mode, which should be 0.7071 of the full trip current, or I_TripMax= 0.486/0.7071= 0.687A, which seems close enough.

The Vref signal is accessible as the "VREF" pin on the carriers with voltage regulators, as the through-hole via on the carriers without, and also as the wiper on the trim pot itself on both carriers.

Step 17: Testing!!

Next step is to test the printer and its settings.
Before you going to print is handy to read the next article:

Heating the parts.
there I first time for everything.
so power on the printer and set the bed temperature to 50 or 60.
wait to the bed is heated.

if something goes wrong, it is important that you can power down the printer.

try to measure the temperature of the bed, I use a IR temperature “gun”.
If everything is ok, power down the bed, en power up the Hotend.
first go to 100C, then 150C and 200C.

try to measure it continuous to and cross check the temperature with the software, to insure it’s on the same level (or very close). This to prevent en burnout.

Step 18: First Print

Picture of First Print

Oke, now it’s time to print!!!!

Load the filament in the extruder.

Download a test file (20x20mm box) :

-Open Cura and load the file
-Use Cura to generate to Gcode (export to SD)
-Or use Cura to print directly.

Start the print, wait until the bed and extruder are warmed up.
and watch how the printer makes you first print:

if something goes wrong, it is important that you can power down the printer.

(halfway the video the fan starts to blow 100%, this cooled down the hot end to much)

Step 19: Your Printer Is Ready!!

Picture of Your Printer Is Ready!!

So you print work. Congratulations!!

if not, try to find out what goes wrong:
-to little tension on the belts.
-drivers not tuned correctly
-bed not levelled.

Try the again.

if you really stuck. Send me a messages :)

the amount of money I spend on this printer is not jet certain.
I think about 350 euro (470 dollar).
I will sum up all the costs shortly.

Yes its more expensive than the cheaper pre made 3D printers.
But its a lot more fun and educational than the pre made printers.

Step 20: Extras!

Picture of Extras!

Now the printer is working, you can start printing upgrades for your printer.
visit for pats, and other fun thing to print !!

visit my site for more info about my printer: (Dutch)

More info abouw RepRap, its software and hardware:

Any questions of comments, do not hesitate to commend or send me a message !!

Step 21: Extra (V2)

Picture of Extra (V2)

After some months i noticed that there was some play on the X and Y axis.
so i printed some new parts for the printer


misterxp (author)2017-12-05

Slowed the speed down, increased nozzle temperature from 200°C to 205°C and tightened the friction on the extruder. Dimensions need correcting slightly because the cube is 9mm high instead of 10 and 21mm instead of 20. However, results are getting better!

misterxp (author)2017-12-03

The parts were not good because I had problems with the extruder not feeding correctly.

misterxp (author)2017-12-03

More pictures. I used an old DVD case to make a spool holder. I put end stops for the minimum positions on x,y and z axis and the max for just z axis. I think I may put an end stop on the max position for the thers too.. I used hair lacquer on the plexiglass bed so that the plastic would stick. It works very well.

the non heated bed for

misterxp made it! (author)2017-12-03

It took a few months but I finally made one! All wooden parts. I will perhaps print the x-z supports later. It was more difficult than expected but well worth it. The first prints are not very good but I did not expect anything the first time! Now need to fine tune. Thanks for the instructable!

misterxp (author)2017-10-19

Hello Bram2202,

Thanks for the instructable it is very interesting and I am in the processes of Making one. So far I have half made a mini version with 150 x 150 Printing area.but only 40mm height (just for experimenting at first).I will also use it to print the parts for the bigger one. I used the sliders from DVD's on loger 200mm rods. At the moment it is just a plotter because I was waiting for the electronic boards and Nema 17 motors.. I will soon upgrade to 3D printer and then I will move on to the bigger version like you built. I attach pictures of my mini version so far.

However, I wanted to test the Nema 17 motors in the mean time and was reading how you calibrate. I see your motors are similar to mine and are 1.5amp but you set the drivers for 1.0 Amp. I have seen the amps should not be set to more then the motor rated amps but, in your case, what happens to the performance of the motor when the driver is set for 1 Amp? I see from the film your printer all seems OK but a couple of years have passed since your instructable and I wonder if all still works well or if you have made any changes. Thanks.

LifeHacking (author)2017-07-02

Cheap 3D Printers For Hobbyist Available Check Them Out:

MARSSOO_59 made it! (author)2016-04-16


Merci pour ce tutoriel, il ma permis de Fabriquer à Moindre coup 3D imprimante ma première. Encor merci

Brunomaster (author)MARSSOO_592017-03-20

Hi, do you have more photos in detail? I'm building one

bonjour, vous avez plus de photos en détail? Je construis

Brunomaster (author)2017-03-20

What work area do you have? 20x20?
Can you upload more detailed photos? Or send them by mail?


awleask (author)2016-08-15


could someone please tell me the distance between the two A-Frames please? Inside of frame to inside of frame.


awleask (author)awleask2016-08-16

Oh wait - is that 31cm/310mm?

MARSSOO_59 (author)2016-05-03


the size of the print area is 190mmX190mm.

MARSSOO_59 (author)2016-05-03


la taille de la zone d'impression est de 190mmX190mm.

World ModdingT (author)2016-04-20

What is the size of the print area ?

World ModdingT (author)2016-04-20

What is the size of the print area ?

LD7 (author)2016-03-13

Thank you, thanks to you I realized my 3d printer, I posted a video:

mpatel36 (author)2015-08-30

I want to just start building 3d printer from your design but i think i dont understand few things, i have attached two pics which i dont understand.
Please assist me.

HeinH (author)2015-08-09

Can you share this build as pdf ?

MarcoS17 (author)2015-06-16

Wow nice build! i ordered most of the parts a while ago but was still looking for a nice build i could do myself without any printed parts. Choices are made now, thx!

senorsunday (author)2014-06-23

How long are the 6 pre-cut bar steel rods?

bram2202 (author)senorsunday2014-06-24

2x 37cm (Z axis)
2x 40cm (Y axis)
2x 45cm (X Axis)

ANISH JEBASINGH (author)bram22022015-06-09

what is ikea mirror ...and what for

Ikea is just the company he bought it from. It's a cheap glass surface to print on.

senorsunday (author)bram22022014-06-24


profort (author)2015-05-04

how long did it take and how much was it please?

Budget challenged

Mile_zdr made it! (author)2015-02-16

I made it, and i can say i made it totally from wood (extruderr and x motor and idler)

Kristian MarcA (author)2014-12-21

did you used 3 mechanical endstops only ?

Mile_zdr (author)Kristian MarcA2015-02-07

Yes he used only 3 endstops with ramps 1.4 board you can use 6 endstops 3 (x,y,z) for min values and 3(x,y,z) for max values

amorarun (author)2015-01-19

This is great, loved the built...

I am hoping to built one for myself too but don't know when.

the lego guy 14 (author)2015-01-13

This is soooooooo cool

MaikM1 (author)2014-12-05

grat work man!! Can you share your upgrades of this photo? I mean the .stl files or anything similar!

CK101 (author)2014-11-12

You think you can give a detailed instruction on the power supply and how to get the program running etc.

Ses MarlonN (author)2014-11-09

awesome work! do you have the file parts of step 6?

Mile_zdr (author)2014-10-06

awesome instructables , i have few questions...
how long should be the threaded rod peaces ? why do you need lcd display?

do you have the pdf of the wooden parts in original size because files you have uploaded are all the same page is 11,69x8 inchs

Electronics Boy (author)2014-09-16

how much will it cost?

liamthom (author)2014-08-31

This is an amazing project, and I plan to build it. but reading though it sounds like the printer bed is 20mm x 20mm, was that just a misunderstanding on my part or somthing, can someone tell me the size of the bed. Thanks

lshoff (author)liamthom2014-09-06

20 mm is a little more than .7 inches so it must be a misunderstanding. my guess based on his y and x steel pole axis dimensions would be 10 inches, or somewhere around there.

lshoff (author)lshoff2014-09-06

correction they dont have 10 in so get 12 in or 8 in i dont know which one.

tgoldstine (author)2014-08-27

Which are the parts that need to be printed in plastic

jtaylor115 (author)2014-07-20

nice project and looks like some goot time to kill for a weekend. I think though I would personally buy a smaller ready to use 85$ 3d printer and then use t to print the parts I needed to build my own (which is the same as what you just did by having someone else print parts for you and in the end print your own to make the printer better),,,and when finished id resell the printer I bought easy for $70 because 3d printers are barely known around here yet...and in the end id save a but of money and labor I think but at the the extent of the upfront costs...

I do want to note..great instructable and I think I will be using your programming instructions and design.

mmeruvia (author)2014-07-17

hello would like to know how to secure the strap to the plate to make the Y-axis movement

δβαρδίκος (author)2014-07-17

hi your instructable is awesome but can you send me the link you bought the stepper motors .

Islam Elsawy (author)2014-07-02

please , can you write all information about the Project ?

firstly :about frame "all dimension" about all parts in it.

secondly : all parts used in project .

thank you very much

Mar1us (author)2014-04-07

Hi, nice project! Where you get information about your printer stepper motor? I have quite similar (visualy) but only number: J45A42EC on it.

bram2202 (author)Mar1us2014-06-24

I bought the motors on eBay, all the info was there

elliot4206 (author)2014-04-02

Do you need a RepRap duet board for this build? If so where can I buy it from?

bram2202 (author)elliot42062014-04-02

youll need something to drive the motors, and heaters.
a Duet board is a option,
i bought a Ramps1.4 on Ebay

Ohioeightytwo (author)2014-02-10

As the previous reader commented, "very impressive". I'd like to add that your explanation of the build is excellent. Lots of different sciences coming to together here. Keep up the good work.

xTimKen (author)2014-02-07

Impressive, Good Job! Maybe i missed it but how much did it cost approximately all the work?

bram2202 (author)xTimKen2014-02-07


forgot to mention that :P
Around the 350 euro ( 470 dollar).
I will sum up all the
costs shortly.

About This Instructable



Bio: I’m a 28 year old Programmer with a interest in Electronics and Cars
More by bram2202:3D PrinterCompact Arduino GPS Speedo + and moreChange Baudrate of MT3339 With Arduino (fixed)
Add instructable to: