Picture of Building a  Prusa i3 3D Printer

Even though we have access to a (sometimes working) 3D printer at our local hackspace my friend Kevin and I decided to build our own from scratch vs buying a kit or finished printer. The reasons being we'd get to learn how they work, we can pick the quality of parts and we like to make stuff.

After looking at various designs we decided on a Prusa i3. We hope to document the build from start to finish, initial calibration and our first prints.

For this Instructable we have obviously used information gathered from all over the Internet and that was a part of the learning process. A great place to start is the RepRap wiki, particularly the section on the Prusa i3

We had a lot of great advice from another friend Rob I met through my day job as an IT support person and also members at our local Hackspace - a big thanks to Ashley in particular.

The Prusa i3 is a part of the RepRap 3D printer family. It is a design from Josef Prusa, and the i3 stands for iteration 3.
It uses either a "single frame" or "boxed frame" and there are many derivatives from the original design. His original single frame uses a water jet cut aluminum frame but for our build we used a derivative - a laser cut plywood frame with braces designed by sgraber. It was cheaper to make and we were able to use the laser cutter at our local hackspace. The rest of the parts were sourced from vendors on AliExpress, eBay and local businesses.

We used the "vanilla" printed parts, but did make some small changes along the way.

To build this printer you should be comfortable with "making stuff", Arduino's, know how to use a multi-meter, solder and also know a little about electronics.

Remove these adsRemove these ads by Signing Up
ivver29 days ago

Hi there, I have a problem with Z axis, recently I bought geeetech I3 printer , I think that there is no big difference between prusa and geeetech. Anyway, X and Y axis are working great but I can't get Z axis moving. Motors and transmission on Z axis are working ( I tried switching X and Z axes) but it seems like it doesn't get any signals at all. Do you maybe have an idea what could be a problem? Thanks in advice

ivver ivver29 days ago

And my controller is sanguinololu 1.3a, not arduino.

SteveRoy (author)  ivver29 days ago

Have you tried swapping the Z stepper driver with either the X or Y stepper?

Also have you tried adjusting the pot on the stepper? With a multi-meter set on the 2v DC setting you should see between .4 and .7 volts between ground and the pot itself - with the 12V to the RAMPS OFF and it powered via USB. Just be careful not to short the leads out on the stepper.

ivver SteveRoy7 days ago

Yes I did, and I also have found a problem, it was pretty stupid, though.
There was different controller in one step of "how to assemble reprap" pdf, it was mistake made by seller, I just had to remove few jumpers. Anyway, thank you for help. :)

Impetus37 ivver16 days ago

buy arduino.

yasam20021 month ago

Hello, Thank you so much for the tutorial !

However i find that $580 versus $365 is a lot for a kit.

Searching ebay I found a better price for the Prusa I3 kit with 2 rolls of filament and 8GB sd card as a gift wtih free shipping :

SteveRoy (author)  yasam20021 month ago

That is a good price. An E3D Hotend is US $80 by itself. 2Kg of quality filament is US $44.00 (plus shipping). At least US $50 worth of NEMA 17's. You should do an Instructable on the build. Make sure you get the DXF files for the frame in case you need to replace any acrylic parts.



zoomboom1 month ago

Hello, Thanks for a great tutorial!

I'm still debating with building it step by step as you did guys or the kit option.

I'm wondering how much was your parts cost? What you can say about your final project quality, Did you get any conclusions now after using the printer for a while about prints quality, the printer parts? would you change some things like the hot end that you use (Yours is a plastic(Black) can you print abs at 260c?)

I'll much appreciate your pro thoughts


SteveRoy (author)  zoomboom1 month ago

Hi Ariel

Thanks for the nice feedback on the tutorial.

This printer was a shared printer with my friend. What we did was use this printer to print parts for 2 more so we have one each. What I did differently on my new i3 was:

Used the "i3 rework" which is an enhanced version of the original. It uses M10 threaded rod for the frame (vs M8 and M10 on the original). The STLs are here:

We changed the Z stop to:

The X endstop to:

The rework has a great design for the j-head fan and we also added a cooling fan for the printed piece with this:

I still use a genuine J-head extruder and mostly print with PLA. However I have used ABS to 220C. If you want to print higher temps an e3D may be a better choice.

The other part change on my new one was the heat bed. I bought an aluminum bed from "Marginally Clever":

He is a regular at our hackspace so I had originally bought the bed as it was easier than ordering and waiting for one from a US supplier but it turns out I think that the bed is better than the PCB style. It's more rigid and holds the heat better.

I an very happy with the way the printer turned out and both the original and my new and improved have printed for hours with no problems. I have never had a nozzle jam. The cost was around CDN$ 650 which is about US $580

The forums have some freat threads on kits and how people have found them and support from the vendors.



Dandeman3212 months ago

What's the reasoning behind not using the right side pins on the end stop connection on the RAMPS board? I have a kit and the end stop connections use them. I'm having trouble getting my printer to react to the Z axis end stop and I can't figure out why it's not working.

SteveRoy (author)  Dandeman3211 month ago

They carry 5v which isn't needed unless (I assume from the schematic) you want to light up an LED on the switch itself. From the RAMP schematic it looks like you need to ground (or un-ground depending on the NO or NC login) the Arduino port. If you short pins 1 and 3 on the RAMPS side of the end-stop connection you will probably damage the RAMPS or Arduino. To check your Z stop send M119 to the RAMPS via pronterface.

I ended up figuring it all out. Had a bad wire from the endstop to the RAMPS.... thanks for the reply though!
sabsoft2 months ago

Hi, this will be very helpful thanks. I'm a bit confused with the multimeter stage. Should the meter be buzzing when the switch has not been pressed or buzzing only when the switch has been pressed? Sorry for the daft question but not up to speed with electronics as yet.

SteveRoy (author)  sabsoft1 month ago

For testing the end stop logic - if you want to use normally open (NO) use the 2 pins that don't buzz when the switch isn't pressed and buzzes when pressed.

For NC use the 2 pins that buzz when the switch isn't pressed and don't buzz when pressed.

RubenM13 months ago

Hi! How many outputs of the power supply did you use? I bougt a DC power with the same Voltaje and current specifications, but it only has 3 outputs for positive voltaje and I do not know if is enought or I need moore positive outputs(Here the image: )


SteveRoy (author)  RubenM13 months ago

The RAMPS only requires 2 12V connections so it will work

My problem is just the operating system. I saw just support for Windows and Linux... If I buy Prusa i3 from brand AURORA... how I can I use it with OSX?

Both Cura, pronterface and arduino IDE are avalible on OSX. So should be the same as on windows and linux.

rajaakahel3 months ago

Please can you help !? PLA printed cylinder (10 cm) is not perfect circular!

im trying to have a perfect cylinder ( radius 5cm, high 5mm ) when i print it, it looks perfect circular, but when i measure it i see its not perfect. (for example X: 101mm, Y: 99mm) some times the fail is about 1mm.
i need it to be perfect circular! what is the problem?
im using Prusa i3, 220 degrees for the extruder and 60 for the glass heated bed.
is it something with the belts? or in the main board? or what?
thank you in advance!

SteveRoy (author)  rajaakahel3 months ago

If you have used the calculator here: and you aren't getting the results you want you can try fine tune the steps in your Marlin Configuration.h file.

Move the axis 100mm via pronterface and measure the distance with digital calipers, use the following formula to get a new value for the steps value:

new Marlin steps = (current Marlin steps x 100) / actual distance

So for example if your X value in Marlins Configuration.h for

#define DEFAULT_AXIS_STEPS_PER_UNIT is 80 and you ask pronterface to move 100mm, and you get an actual measurement of 101mm your new X value would be:

(80 x 100) / 101 = 79.2079

Upload the changed Marlin file and retry. Repeat as needed.

AlbertN14 months ago

This looks awesome! I was just wonder though.. How much did all of this cost in total?

SteveRoy (author)  AlbertN14 months ago

About US $580 or CDN $650 using quality parts. You could do it for less using knock-off j-head hotend and cheap heated bed, cheap RAMPS etc

ach125824 months ago

How many hours did it take to build, once you had all of the parts and tools on hand?

SteveRoy (author)  ach125824 months ago

It took us 2-3 months working on it one night a week at our hackspace. But we took our time and made sure the wiring etc was neat as we worked on it. It also took a lot of time to photograph and write the instructable as we progressed through the build. The 2nd and 3rd ones we built took a lot less time - probably less than 1/2 of the original build

RubenM14 months ago

Hi, Im am new in these things, The endstops v.1.2 could be optional?, and I dont understood well the pronterface theme, Is necessary install pronterface in each computer where I connect the 3d printer, or is saved i the arduino?

SteveRoy (author)  RubenM14 months ago


End stops aren't optional. You need them so the printer can go to a "home" position and know the limit of it axis travel. If you don't install end stops the axis motors will only go in 1 direction.

Pronterface (or Repetier-Host) is used to control the printer prior to sending the job to it to print. You could use an LCD controller with SD card option and print from that (I ahve since installed one and we print via that) but it's easier to get the printer setup via Pronterface - so yes you will need it installed on whatever computer you want to connect the printer to.

RubenM1 SteveRoy4 months ago

Thanks for reply my question!

Ammm how many endstops did you use? I read the material list, but it doesn´t appear

SteveRoy (author)  RubenM14 months ago

You need 3, one for each axis.

RubenM14 months ago

Another silly quiestion, jeje, I can print models of solidworks?. I mean with the extension .stl? And this 3d printer doesn´t has a ventilator???


SteveRoy (author)  RubenM14 months ago

We have added a cooling fan to the nozzle since I did this Instructable, it helps with bridging.

SteveRoy (author)  RubenM14 months ago

You use a program like slic3r or Cura to convert (slice) the stl file into gcode which the printer uses to print.

CK1015 months ago
Hi I would also look forward to that and maybe a video. But right now I need to know how to get the laser cut parts and the power supply. Which one did you guys get?
SteveRoy (author)  CK1015 months ago

Meant to say - if you search eBay for "12V LED power supply" you will find the type we used for the next build.

SteveRoy (author)  CK1015 months ago

For the power supply - For our build I used:

If you search for "12V LED power supply" you will find the type we used for the next build. We used a 30A for the second build

For the laser cut parts, since this build was a "vanilla" with 8mm and 10mm threaded rods we cut this frame at our local hackspace:



invintive8 months ago
This is fantastic! By far one of the most thorough guides I've been able to find! This will definitely help when I can finally start building a prusa of my own. Thank you!

P.S. I would look forward to a calibration guide