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.

Step 1: Sourcing the Parts

Parts list:

Frame - laser cut 6mm Baltic birch plywood. We bought a 5'x5' sheet from Windsor Plywood - a Western Canadian and North Western US supplier of wood products. I used the "frame-6mm-colored-lines.dxf" design as a basis but narrowed the slots a little to make the 6mm ply fit tighter. You will need 6x 6-32 x 1" bolts and 6x 6-32 nuts to match. You could use 3mm or 4mm x 25mm bolts but we found the 6-32 a better fit.

Printed Plastic Parts - You will find them on eBay from various sellers. We had hoped to find someone local to print the parts for us but went with a set from eBay. If you want to get your own printed look under Josef Prusa's GitHub for the Prusa3-vanilla scad or stl files. You can also search Thingiverse for Prusa i3

Threaded Rod, Nuts and Washers - you will need approx 1 meter of M8 threaded rod and 1 meter of M10 threaded rod. Also 26 M8 nuts, 26 M8 washers, 12 M10 nuts, 12 M10 washers. These are for the frame Y-axis. We used zinc plated threaded rod from Fastenal - but you can find it at some hardware stores, AliExpress and eBay. You will also need 2 lengths of M5 threaded rod and 2 M5 nuts for the Z-axis. The minimum length we could buy was 1 meter. We first bought zinc plated 5mm threaded rod for the Z-axis but it wasn't very straight. The supplier told me this was typical of the cheaper zinc plated threaded rod so I looked for stainless threaded rod which was a lot better quality and very straight.

Smooth Rod - The design we used needs M8 smooth rod for the X, Y and Z axis, 2x 370mm, 2x 360mm and 2x 320mm. Quality straight rod is essential for good prints. We sourced them from BST Automation via AliExpress. You will also find sellers on eBay and local hardware stores. My mentor Rob tells me not to cheap out on the smooth rod.

LM8UU Bearings - These are the linear bearings for the bed movement on the Y-axis and the extruder/hot-end movement on the X-axis and the Z-axis. You will need 10 of these. Available from many eBay vendors.

Pulleys, Belts & Idler Bearings - The X and Y-axis travel each use a 20 tooth GT2 pulleys and approx 1 meter of toothed belt. We sourced ours from a local eBay vendor ibi-battery, but you will find them available from a lot of vendors. Also needed are idler bearings. Most i3 designs use either 608zz or 623 bearings. The 623 bearings are tiny and use printed guides which fit over them. You will see what I mean in later pictures.

Stepper Motors - You will need 5 NEMA 17 stepper motors. The NEMA 17 is a stepper motor with a 1.7" x1.7" faceplate. The RepRap wiki has quite a bit of info on them. My mentor Rob suggested this vendor on AliExpress - We had to buy 10 to get the pricing (but you have 5 to sell or use in your next 3D printer project). They are 1.2A which will keep the RAMPS drivers cooler, have approx 47N-m holding, are 1.8° stepping, 5mm shaft. If you are unsure then buy from a 3D printer vendor or check the RepRap wiki.

RAMPS 1.4 Kit - This consists of an Arduino Mega, a RAMPS 1.4 shield and 4 or 5 "drivers" The "drivers" control the NEMA 17 motors as their current requirements are greater than what an Arduino could handle. We sourced ours from SainSmart, but found a cheaper alternative on AliExpress Naturally you can find them on eBay too.

MK2A Heat Bed - As per the RepRap.org wiki article you want to be sure to get a good heated bed. We sourced ours from Botech Eng. There are a lot of other vendors listed on the wiki page. Make sure you get a 214mmx214mm size. You will also need a 3mm thick sheet of glass 8"x8" and blue painters tape or wide kapton tape.

Hot End - The hot end is another place not to cheap out. This blog article explains the difference between the original designs and clones. This RepRap.org wiki article has more info on hot ends. We went with this one from Makerfarm including the install kit.

Power Supply - You can use a PC ATX power supply, but we opted for a slim 12V power supply as it's smaller and I think it looks neater as it only has the necessary wires. Something in the 200W to 350W range should work. Check ebay. Also needed were a 115V plug with wires and some spade terminals.

Extruder - This was included in the printed parts we bought from eBay. It is a "Wades" style

Nuts. Bolts & Washers - You will need different length M3 bolts with washers and regular and nylock nuts. We bought M3 in 10mm, 14mm, 18mm, 25mm lengths. A bag of washers, a bag of regular nuts and a bag of nylocks.

Also M4 bots/nuts to bolt the hot-end to the extruder mount.

Wiring Kit - We bought a generic wiring kit off eBay. You will also need some heavier wire for the 12V connections. We bought a small roll or red and black stranded wire (16awg or 18awg)

Tools you will need:

Allen Keys for the hex bolts

Small sockets for the M3 and M4 nuts

Small adjustable wrenches for the M8 nuts


Long Nose Pliers


Wire Strippers

Soldering Iron

Multi Meter


Heat Gun or Lighter for shrink tube

<p>Hi, </p><p>how much it cost you to build this printer?</p>
<p>About US $580 or CDN $650 using quality parts. You could do it for less <br> using knock-off j-head hotend and cheap heated bed, cheap RAMPS etc</p>
<p>Thanks for reply, </p>
Hi Steve, <br><br>I am considering building a 3d printer here in the coming months and was hoping for some advice. <br>1. Do you still recommend using a wooden frame like the one from this instructable?<br>2. Have you attempted to build any that have a larger build volume than the typical ~8&quot; cube? If so how did that go?<br>3. Could you make some updated suggestions as to which hot ends, boards, heat beds, etc...that you would recommend? I live in the US and would like to avoid outragous shipping costs and such as i am on a budget for this. I would like to aim for a final cost below ~$400 for the parts and such if that is not at able reasonable I may have to wait a while longer or settle for a kit and upgrade later when I have the funds.<br>Thanks a lot for any advice you can give!
<p>Steve,</p><p>I'm trying to put together a local workshop and flood the local market with builders. I am looking for an expert. Do you have any interest? May 2016</p>
<p>Hi Steve;</p><p>I'm in calibrating stage, but mine is a little different from yours. X and Y endstops are in X-MAX and Y-MAX. I made some changes in Marlin but still it can't home X and Y ! for example the X endstop is at right side of the extruder but the arduino thinks its at left side, and although it knows it should move X in + direction to reach endstop but when it hits the endstop, arduino doesn't stop X axis and just keep pushing.<br>Can you help me to make the necessary changes in Marlin so it work properly?</p>
<p>The M119 command will tell you the status of the stops. (I didn't know about M119 when I did the instructable). </p><p>Also in your Marlin your end stops should be defined:</p><p>#define X_HOME_DIR 1<br>#define Y_HOME_DIR 1</p><p>You will also need to make sure the jumpers are on the MAX pins on your RAMPS</p>
<p>Thanks Steve! I didn't know about changes on the RAMPS. I moved X and Y endstop connections over one and everything is right now. ;)</p>
<p>I also changed these lines:</p><p>// Travel limits after homing</p><p>#define X_MAX_POS 0</p><p>#define X_MIN_POS -190</p><p>#define Y_MAX_POS 0</p><p>#define Y_MIN_POS -160</p>
<p>Hi Steve, I have a Mendel Prusa i3 built with Arduino Mega 2560 and a RAMPS. I built it from a kit. It has a heated bed and it works great with one exception. The heated bed will get to temp and stay steady for a while ... sometimes three layers and sometimes hours ... but ineviably at some point the bed goes haywire and starts heating up way beyond the set temperature and my priter quits with the MAX TEMP error. How should I go about troubleshooting this? Any thoughts. Thanks!</p>
<p>A nice tidy build BTW. Is that a Yoda you are printing?</p>
Thank you very much, Steve. Yeah that Yoda was my first print. It prints really well now. I have it very nicely dialed in!
<p>Hi John</p><p>I would check that the connection wire where it plugs into the RAMPS in in firmly, maybe remove the plug off the RAMPS, bend the pins slightly then plug it back in. Next I'd try replace the thermistor under the bed. The Prusa i3 at our Hackspace wasn't heating properly and it was a loose connector. </p>
<p>Hi, Steve! I have the same Prusa i3 but with 10mm acrylic frame. I have the same couplers as yours - 5x5mm. I found that the M5 threaded rod is 4.8mm and I can't get the couplers to work (the screw come lose from the coupler). Can you tell me how to fix this? Thanks in advance!</p>
<p>Hmmm, One way would be to file a flat on one side of the threaded rod so the grub screws have something to bite onto. Maybe use a piece of paper or thin card to pack the opposite side so the threaded rod is properly centered and doesn't wobble.</p><p>The other option would be to find a printed set design off thingiverse that would allow you to clamp them tighter. Search thingiverse for &quot;M5 coupling.&quot;</p>
<p>Thanks, man! I already printed some couplings. They are rock hard, but I have some concerns to put them on my printer... It's a good idea for the coupler to flex a little bit. Will see, I'll need to make some tests... Thanks for your help!</p>
<p>It took a while but I finally got mine finished!!!</p><p>Thanks for the help Steve....</p>
<p>It looks awesome! Hope to see it down at the Hackspace some time.</p>
Hello Steve; <br>Great building manual! Thanks for sharing it here. <br>I'm kind of in step 10 now (but with completely assembled printer) and i have problem with moving axis. Motors don't move at all even after i checked all the process from first step and adjusting pot on the drivers. <br>Do you have any idea?
<p>Do they stutter and try move?</p><p>Have you checked the motor wiring pairs with a meter?</p><p>Do you have 12V going to both RAMPS connectors?</p>
No, there isn't any response from motors, the only response is the orange LED on Arduino blinking when I click any command.<br><br>Yes, even though i recieved motors with wire long enough and with connectors attached, but i checked it with ohm-meter too and 2 pair was alongside.<br><br>All done for RAMPS connector, 2 COM and 2 +V for RAMPS are provided.<br><br>Take a look at my board.<br><br>Thanks... ;)
<p>Did you install Marlin on it or was it pre-installed? Do you get a reading from with the hot-end or heat bed thermistor?</p><p>Maybe try re-flash the Arduino with a fresh copy of Marlin</p>
<p>I found the problem, it was Marlin that i downloaded from reprap wiki. I downloaded another arduino code (Sprinter) and it worked, although it has some problems.<br>Thanks for you replies ;)</p>
<p>Hello, I am currently making a Prusa i3 and was wondering where you got your hot end kit from. I've looked for a while now but I couldn't find it.</p><p>Thanks :)</p>
<p>Hi, we bought our original hot-end from Makerfarm, the URL has changed, it's now:</p><p><a href="http://www.makerfarm.com/index.php/hot-ends.html" rel="nofollow">http://www.makerfarm.com/index.php/hot-ends.html</a></p><p>For our more recent build we used a 1.75mm Hexagon hot-end from a local supplier in Vancouver (Maker farm has them too):</p><p><a href="https://www.marginallyclever.com/shop/3d-printers/hexagon-hotend-set-1.75mm" rel="nofollow">https://www.marginallyclever.com/shop/3d-printers/...</a></p><p>We used this extruder:</p><p><a href="http://www.thingiverse.com/thing:512338" rel="nofollow">http://www.thingiverse.com/thing:512338</a></p><p>I would suggest a 1.75mm hot-end vs the older 3mm as it seems to be the way the filament and hot-end manufacturers are going.</p><p>With an all-metal hot-end like the hexagon you must use a cooling fan over the fins.</p><p>Steve</p>
<p>Hi, after reading couple of hours about 3d printer i think i want to get one,</p><p>i found cheap 1 from aliexpress <a href="http://goo.gl/2o7tk5" rel="nofollow">http://goo.gl/2o7tk5</a> do you think it worth the price for $255.00</p><p>i already have ramps and mega for the upgrade</p>
<p>Personally I am not a fan of kits, that being said it's a great price. My concerns would be...</p><p>1. do you get DXF drawings of the acrylic parts? If one breaks or cracks how easy is it to replace. If you want to replace them with plywood which will be stronger, and printed parts later you may as well do it from the beginning</p><p>2. what is the quality of the hot-end. The cheaper China ones are prone to PLA jams. I'm not a big fan of the MK8 type extruders either having seen on on a Folger Tech kit. The guy who had the kit tossed both and I printed him a wades style extruder and he bought a genuine Hexagon hot-end and that was a huge improvement</p><p>3. I have never used a bowen style extruder, so I can't comment on that</p><p>4. uses T2.5 pullys/belts which aren't designed for linear motion, GT2 6mm 20 teeth are better (see the reprap.org wiki)</p><p>What looks good is:</p><p>1. Z axis threaded rod</p><p>2. has belt tensioners</p><p>3. z-endstop fine adjustment - (something we added in our later builds)</p><p>Since I did this Instructable I have built 2 more and helped others build similar i3's. he changes from this one were we used i3 re-work design, a hexagon hot-end with 1.75mm filament, better quality heated bed. They have all done hours of printing with no issues.</p><p>If you get the kit some feedback on it would be great. Check the reprap forums at <a href="http://forums.reprap.org" rel="nofollow"> http://forums.reprap.org </a> - there is a thread on the Sunhokey in the Prusa i3 sub-forum</p><p>Steve</p>
<p>hi Dear i have prusa i3 rework. Everything is going perfect.But Just want to know about the printing.when i prints two or three object at a time than prusa having problems it's not printing object by object i mean firstly it has to print first object fully than second.</p><p>so i want to known how to print two or three object at a time and it has to complete print first object than second....Reply man ASAP................</p>
<p>In Cura under &quot;Tools&quot; pick either &quot;Print all at once&quot; or &quot;Print one at a time&quot;</p><p>In Slic3r expert mode &quot;Print Settings&quot; -&gt; &quot;Output options&quot; select (or not) &quot;Complete individual objects:&quot;</p>
<p>Hi</p><p>I am now assembling my printer, and I am now installing the end stops. But they all came attached by the wires. Am I supposed to separate each pair completely, or leave some wires attached? I have uploaded some pictures of what the wires look like. I am fairly new to aurduino and the electronics that come with this printer, so please help me. Thank you.</p>
<p>You will need to separate them out so they fit to where the stops are. Use a multi-meter to see if they are NO or NC switches and change Marlin to suit. Use the M119 command in Pronterface to check the status of the stops as you figure out the wiring and marlin.</p><p>Cheers</p><p>Steve</p>
<p>How close is this to a hictop prusa i3 from amazon? I just ordered one and im trying to do a little extra research... are these prusa i3's kind of universal in a sense? http://www.amazon.com/gp/product/B00N7I1ZVU?psc=1&amp;redirect=true&amp;ref_=oh_aui_detailpage_o00_s01</p>
<p>It is an i3 and very similar to what we built. The main difference being the extruder/hotend. Looks like a MK8 unit which personally I am not fond of - I like having the extruder gears to prime the filament and also to reverse it out when changing it. I would also try get the DXF files for the acrylic pieces in case you have to replace them. The build will be similar. Cheers</p><p>Steve</p>
<p>Hello!<br>This instructable is very well done and clear, thank you...</p><p>I am actually having a problem with setting up the endstops (<strong>step 12- Setting the endstops</strong>l) and I was wandering if you could help me.</p><p>Every time I trigger one of the endstops the mothor stops, but the printer disconnects from the Pronterface and I can't reconnect it untill I upload the firmware again.</p><p>Do you have any suggestion for this problem?</p><p>thank you! =)</p>
<p>As KarlB2 suggests you probably have the wiring wrong and are sending the wrong signals back through the RAMPs and Arduino. Have you checked with a multimeter?</p><p>Also an M119 command will show the endstop status</p><p>Steve</p>
<p>Hey Steve, Thank you...</p><p>I tried with the M119 comand, It doesn't seem to be a wiring problem, here is what I get:</p><p><strong>&gt;&gt;&gt; M119</strong></p><p><strong>SENDING:M119</strong></p><p><strong>Reporting endstop status</strong></p><p><strong>x_min: open</strong></p><p><strong>y_min: open</strong></p><p><strong>z_min: open</strong></p><p>and after I hit the endstop:</p><p><strong>[ERROR] Can't write to printer (disconnected?) (SerialException): Write timeout</strong> (x 4)</p><p><strong>[ERROR] Disconnecting after 4 failed writes.</strong></p><p><strong>Disconnected.</strong></p><p><strong>Connecting...</strong></p><p><strong>[ERROR] Could not connect to COM14 at baudrate 250000:</strong></p><p><strong>Serial error: could not open port COM14: [Error 2]</strong> <strong>Impossible to find the specified file</strong></p><p><strong><br></strong></p><p>Could you tell me what you think about it??</p>
<p>Hi</p><p>OK, you need to find out if it's the Arduino/RAMPs causing this or the switch.</p><p>So the way I would troubleshoot this is (assuming you have a RAMPS board):</p><p>1. power everything off and remove the endstop wires from the RAMPS</p><p>2. Power the printer/RAMPS up and connect via Pronterface</p><p>3. run an M119 command to see the end-stop status</p><p>4. if it's <strong>open</strong> then Marlin is set for NO endstops, if it's <strong>triggered</strong> then Marlin is set for NC endstops.</p><p>5. on the RAMPS short the X MIN S and - pins, use a jumper or flat-blade screwdriver. Don't short the + to anything</p><p>6. with the S and - pins shorted run the M119 command again - if it changes from open to triggered or changes from triggered to open then your problem is with the switch wiring - if it crashes the Arduino/RAMPS then your problem is with the Arduino/RAMPS</p><p>7. try this with Y and Z MIN</p><p>Let me know what happens!</p><p>Steve</p>
<p>Hello again!</p><p>so, I tried what you were suggesting and what happen is kind of odd:</p><p>- though the M119 command I found out that the endstops are set on NO,</p><p>- I then used the screwdriver as you suggested, I tried more than once and it seems like the endstop is triggered and works properly only when the mothors are going backwards.</p><p>It seems like I would need six instead of three endstops. Is this something I could solve in another way than buying a three new endstop?</p><p>thank you for your help!</p><p>Luisa</p>
<p>You only need 3 end stops.</p><p>So in Pronterface when you tell an axis to &quot;home&quot; does it go toward the end stop or away from it? If you are building the same as ours a X + movement should go left to right, a Y + movement should move the bed toward the front and a Z + will move Z up. Get that right first then figure out the MIN and MAX of the end stops</p>
<p>I had this, the wiring on the end stop is wrong.If you have the same endstop as above looking at the connector with the endstop switch on the left i found that the two left pins were + and - and the other two were signal pins so you can choose from NC or NO.</p>
<p>Thank you!!</p>
<p>Good day,</p><p>I have a strange issue with Prusa i3. I have calibrated it as it supposed to be. Well it is not my first prusa actually. When I send all axes home everything seems right. Bed and nozzel is heating up properly. The problem appears every-time I try to start printing. Strange sound appears and seams all the axes start moving to the different directions from home sensor does anyone had this problem before?</p>
<p>Awesome instructable. Very detailed. I might build one of these.</p>
<p>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 </p>
<p>And my controller is sanguinololu 1.3a, not arduino.</p>
<p>Have you tried swapping the Z stepper driver with either the X or Y stepper?</p><p>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.</p>
<p>Yes I did, and I also have found a problem, it was pretty stupid, though. <br>There was different controller in one step of &quot;how to assemble reprap&quot; pdf, it was mistake made by seller, I just had to remove few jumpers. Anyway, thank you for help. :)</p>
<p>buy arduino.</p>
<p>Hello, Thank you so much for the tutorial !</p><p>However i find that $580 versus $365 is a lot for a kit.</p><p>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 :</p><p>http://www.ebay.com/itm/Reprap-Prusa-i3-3d-Printer-Kit-with-2-Rolls-of-Filament-and-8GB-SD-Card-/161639679887?pt=LH_DefaultDomain_0&amp;hash=item25a279c78f</p>
<p>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.</p><p> Cheers</p><p>Steve</p>

About This Instructable


431 favorites


More by SteveRoy: Building a  Prusa i3 3D Printer Add your own trails to OpenStreetMaps Save a track from your Garmin Oregon GPS
Add instructable to: