If you're looking for a how-to article on building a 3D printer for $300, you can find all sorts of them with a quick web search. This Instructable is definitely NOT for you.

If you're looking for a how-to on building a machine that prints at 1000 mm/sec, this Instructable is NOT for you. SoM, like MegaMax before him, was built with an emphasis on print quality, not speed. I haven't tested maximum print speed, but SoM was designed to print at about 50 mm/sec and does so beautifully.

If you need a complete bill of materials with prices and suppliers listed, and illustrated, step by step assembly instructions, this Instructable is NOT for you. There will be plenty of pictures showing how I built my machine, and I’ll describe some things in detail, but you’ll have to get a lot of info from the photos, by reading the references I’ll link, and by asking questions.

This Instructable IS for people who don't want “cheap” to be the only positive (?) thing they can say about their printer. It's about how to build a printer the right way. It definitely isn't the ONLY right way, and it definitely isn't the cheapest way. SoM cost me about $1100 to build, and included a lot of used and free parts.

Here’s how things usually go when I want to make a print: I put the gcode file on an SD card, plug it into the machine, wipe the bed with acetone, and print. There’s no bed leveling, zeroing, no tweaking settings or other baby-sitting during the print. I come back when it’s done and remove the finished print from the bed. I can do that over and over, and I can put the machine in my car, laying on its side, drive it across town, take it out, stand it up, and do it all again without making any adjustments.

If that sort of reliability sounds like what you want, and you're willing to pay a little more and expend some effort to get it, this Instructable IS for you. Almost reliable? Of course, there are still plenty of things that can and do go wrong, so I still have occasional print failures. That's why I call it an "almost reliable" printer.

I built my first 3D printer, MegaMax, using surplus machine parts over a period of about 2 years. I built it myself because when I started the project, the biggest build envelope you could get in a reasonably priced machine was about 5" x 5" x 5" or so and I wanted to make bigger prints- full sized human skulls using data extracted from CT scans, for example. I decided to build for a 12" x 12" x 12" print envelope. MegaMax produced high quality prints, but as I worked on him and solved many problems problems over a couple years I got some ideas for improvements and decided it was time for a rebuild using everything I had learned.

This Instructable is about the rebuild, and though you probably won't be able to duplicate my machine exactly, I hope it will provide some ideas you can use in your machine. I wanted the new machine to be self-contained, smaller, and the electronics isolated from the warm print chamber. I also wanted the print quality and reliability pushed to maximum. SoM is the result. I already had a large investment in time, effort, money, and materials in MegaMax, so SoM was built in the same configuration (bed moving in the Y-axis, X-axis lifted by Z-axis screws), reusing many of the parts. If I were building a machine with the same print envelope from scratch today, I would probably use a coreXY design so that the relatively heavy print bed moves only in the Z axis.

SoM is a cartesian printer with the print bed moving in the Y axis, but most of the ideas presented will apply to other architectures.

SoM basic specs:

  • Size: 30" high x 22" wide x 39" long
  • Weight: about 60 kg, I think.
  • Build Envelope: 305 x 317 x 270 mm
  • X axis: belt drive, fully supported linear guide, 100 oz-in stepper with DSP driver and 32V power supply
  • Y axis: ball screw drive, fully supported linear guides, 425 oz-in stepper with DSP driver and 32V power supply
  • Z axis: dual 1/2" lead acme screws with 5/8" fully supported round guide rails, belt driven by a 150 oz-in stepper
  • Extruder: BullDog XL
  • Hot-end: E3D v6
  • Print bed: 1/4" x 12" x 12.5" cast aluminum tooling plate covered with 5mil kapton tape, 450W heater
  • Controller: SmoothieBoard with graphic LCD interface
  • Typical print settings: Acceleration 1000 mm/sec^2, junction deviation 0.03, speed 50 mm/sec, layer thickness 200 um

Step 1: Overall Design Philosophy

A lot of people have 3D printers that came as kits or were fully assembled and cost $300-1000. If you look at the user groups and internet forums you see the same problems reported over and over.

What causes prints to fail to finish?

  • poor adhesion to the print bed
  • extruder jamming
  • host computer/connection failures
  • running out of filament
  • printer malfunctions
  • filament tangling on the spool

What causes print quality problems?

  • poor machine construction
  • poor calibration
  • inaccurate alignment of axes
  • printing too fast
  • poor use of slicing parameters
  • poor temperature regulation
  • printer electronic or mechanical problems
  • poor filament quality

A lot of these problems are related to each other. Most of these problems are a direct result of the primary design principle: how cheaply can a 3D printer be made?

If your printer's bed moves noticeably when removing a print, and/or requires re-leveling with almost every print, or comes with auto leveling (aka auto-tramming), or uses two or more motors to drive Z-axis screws, uses hardware store threaded rods in place of lead screws, or has any moving parts cantilevered more than a few cm, the machine is not built for precision, accuracy, and reliability.

That doesn’t mean you won’t be able to get good prints from it- obviously many people have such printers and use them every day, and many are able to get decent quality prints from them. But building the printer a little better goes a long way toward fixing most of the problems that plague the low to ultra low cost printers and reduces the effort required to get a decent print.

If you’re contemplating buying a $300 printer kit, you should know that every dollar the kit maker takes out of the price is going to add many hours of work that you’ll be doing to get that machine to produce an acceptable quality print, and it may never give you the quality you desire. Sometimes you get what you pay for, but you absolutely NEVER get what you don’t pay for, especially in the world of 3D printing.

If you've got one of those $300 printers and are dissatisfied with the quality of the prints it produces, or are tired of all the screwing around required to get it to produce an acceptable quality print, or you value your time more than the kit maker does, this Instructable is for you. Even if you choose to buy a printer instead of build one or upgrade the one you already have, this Instructable will help you know what to look for and what to avoid.

Some may say that building a printer like I did takes a lot of time, so what difference does it make whether you spend the time building a good machine or tweaking a cheap printer before every print? The difference is where you end up. Building a machine like I did is a learning experience. You acquire useful skills along the way, learn a lot, and end up with a high quality, almost reliable printer that produces good quality prints with a minimum of messing around. If you choose the other path, you will mostly learn how frustrating and difficult it can be to get a $300 printer to produce a good print and in the end you'll still have a $300 printer. On the brighter side, after you learn about all the things that are wrong you'll be more knowledgeable when it comes time to get your next printer.

My design philosophy is simple: learn from and avoid the mistakes/compromises made to minimize cost. If you want to build a high performance car, you don't emulate the Yugos. You learn what not to do from them. Then you look at the Ferraris and Porsches and emulate them. Likewise, when you want to build a high performance printer, study the $300 machines to understand the mistakes. Look at industrial machines to learn how to do things the right way.

You can build a 3D printer that is accurate, precise, and even almost reliable. Step 1 is adjusting your approach. Forget about searching for the cheapest possible way to do everything. How often is the cheapest way to do anything the best way? Instead, seek the best way and understand why it's better. Then start looking for the way to either get the parts needed for that best way, or come as close as you can with the funds available. Be prepared to spend some time looking for quality parts at bargain prices and don't be afraid to spend a little more money to get them.

Precision parts don’t have to be too expensive if you get creative when searching for them. Local scrap yards and eBay are full of scrapped machines and precision parts that can be purchased for a fraction of their brand new prices. You have to be persistent in your searches and patient enough to wait for the right parts at the right price. Find and join your local makerspace or hackerspace. Those places have a lot of tools, materials, and people who can help you find your way. I would not have been able to build my machine without all the help I received from the brilliant people, and access to tools and materials at the Milwaukee Makerspace.

<p>Hello Mark, I would like to know if you have a complete modeled CAD file I can look at on solid works. and how much did it cost approximately to build this baby?, I have in mind spending around 1,000 I have some really strong stepper motors in my pile of goodies, this have the drivers on board, any way I would really like to replicate your work, you did a great job on this, really.</p>
<p>Great article.</p>
<p>Thank you for a great information.</p><p>After reading all this I want to upgrade my Z- axis with a lead screw. For the sake of availability and simplicity of integration I was thinking about using a single nema 17 motor that has an axis machined into a lead screw: </p><p><a href="http://reprap.me/nema17-205mm.html" rel="nofollow">http://reprap.me/nema17-205mm.html</a></p><p>You have mentioned that lead screws should be supported by radial bearings on both ends. In this motor/ lead screw design there are only two bearings spaced around 30mm apart inside a motor. Do you think that not having both ends of lead screw supported by the bearings would negatively effect printing precision?</p>
<p>Great article thanks. Do you have any opinions on V-Slot instead of T-slot? http://openbuildspartstore.com/v-slot</p>
<p>I don't have any experience with it, but their catalog shows that it's all based on 20 mm square geometry. We have a $2K printer at the makerspace built from 20mm square aluminum extrusions and if I push on the frame it moves. That printer produces OK prints, but can't match the quality I get from SoM. Maybe it's the shape of the frame, maybe its the small cross sectional area of the extrusions, I don't know, but when I see flex it bothers me.</p><p>Their linear actuator bundle is $80. That's probably what I spent making SoM's X- axis with a used linear guide. I'm pretty sure a linear guide/bearing block will be a more stable extruder platform, but maybe better than it needs to be.</p>
<p>Yeah I was wondering about the size as well (not that I have any experience in the area though, just going by the size you were talking about for the T-Slot). They do have a 40mm x 40mm version <a href="http://openbuildspartstore.com/v-slot-40x40-linear-rail/" rel="nofollow">http://openbuildspartstore.com/v-slot-40x40-linear...</a></p><p>I liked the idea of the system but it would be interesting to know if it's strong enough</p>
<p>I`ll stick with my Makerbot</p>
<p>If you're satisfied with its performance, I encourage you to do so.</p>
<p>You are referring to the linear guides in your instructions. Are those something like these <a href="http://www.3ders.org/images/open-rail-for-3d-printer-1.jpg" rel="nofollow">http://www.3ders.org/images/open-rail-for-3d-print...</a> or something else? There is so much of these on the internet, do you have any recomendations ?</p>
<p>No, those aren't linear guides. They are intended to be a less expensive way of performing the function of a linear guide. The specific parts I used are NSK LS-15 linear guides with preload that I bought via ebay, but there are about 100 different companies that make similar parts. These are the similar: <a href="http://goo.gl/qH6evF" rel="nofollow" style="">http://goo.gl/qH6evF</a> If you buy new parts, they tend to be expensive...</p>
<p>Hi, nice writeup! I always say we don't have so much money that we can buy cheap things. I am planing to build my first 3D printer and I want to do it the proper way. I came across this design http://www.thingiverse.com/thing:588277, is this a good way to start?</p>
<p>That's one of the better corexy designs I've seen. He did a lot of things the right way. I don't know about how precise the mechanism can be with such long cables, and I'd prefer to see linear guides in X and Y over end-supported rails, but it looks like he at least used 12 mm rails in metal mounts, so it might be pretty good. I'd extend the frame to put the electronics underneath the print chamber, and maybe extend the drive cables enough to put the motors outside the print chamber, too. I would also enclose the whole thing for ABS printing. I don't think the bed sensor is necessary- I suspect this machine is rigid enough to hold the bed level and zero settings. I also don't think the corner gussets are necessary if the frame is bolted together the way I did mine. As large as my frame is and as heavy as my printer is, corner gussets have not been necessary. A much smaller and lighter weight machine should not need gussets.</p>
<p>Thanks for the reply. Why would you put the motors outside the print chamber? Aren't they already outside (based on designs)?</p>
<p>The simplest way to enclose the printer is to attach flat panels to the outside of the frame and fit one at the bottom to isolate the electronics, assuming the electronics are placed under everything else (which minimizes the footprint of the machine). That puts the motors inside the print chamber. When I say put them outside the print chamber, I mean move them outside the frame. You'd have to cut holes for the drive and electrical cables to pass through the walls, but small holes won't have much effect on the internal temperature of the enclosure.</p>
<p>What is the effect of putting motors on the outside? Any performance issues ? Cooling?</p>
<p>The point of putting the motors outside the print chamber is to keep them from overheating. Motors are generally spec'd up to 60-65C. If they get warm to hot when operating exposed to ambient room temperature, they will cook inside a build chamber at 45C when you're trying to print ABS parts without warping or delaminating. In a closed chamber you'll need an extruder motor that doesn't run hot or you'll have to use a Bowden extruder with the motor located outside the print chamber. I have found that the extruder fan is fine for cooling the hot-end inside a 45C print chamber (at least for printing ABS), but if you want to run even warmer, you might need to go to a water cooled hot-end or do what stratasys does and connect flexible air ducts to the hot end and blow outside air over it and exhaust it back out of the build chamber.</p>
<p>I like to say that the cost of a 3d printer is roughly $5,000. Anything you dont pay twoards that 5k in cash you end up paying in time. </p>
I beg to differ you don't own a Zortrax M200
<p>yo can get them cheaper if you are willing to sacrifice size or quality.</p>
<p>THAT is the whole point of this instructable. I want people to realize what they are giving up when they pay $300 for a 3D printer and to show what can be done when minimizing cost isn't the #1 priority.</p>
<p>Although you can build a cheap $60 dlp 3d printer that has amazing quality, but a tiny print area. It looks pretty ghetto though. I'd recommend at least checking it out. </p><p>https://www.instructables.com/id/Chimera-60-DLP-resin-3d-printer/</p>
<p>You're probably closer to right than wrong on this.</p>
<p>I like it.</p>
<p>Someone at the makerspace recently asked me why the undercarriage is arranged so the long dimension is in line with the Y axis instead of being positioned the other way. They though having the linear guides spaced wider apart would improve stability. There are several reasons that I thought would be worth commenting on here.</p><p>1) Since the motion is in the Y axis direction, having the long dimension of the undercarriage in the same direction allows the linear guide bearing blocks to be spaced farther apart which leads to increased stability.</p><p>2) If the undercarriage were made wider to allow wider spacing of the linear guides, the support plate for the linear guides would have to be 2X as big and heavier than it already is. The undercarriage plate would likewise be wider and heavier unless you used the current size plate and just rotated it. In that case the bearing blocks would be closer together in the Y axis- not good for stability. </p><p>3) The bed plate is only supported at three points- if you rotated them so there were two supports/adjusters along the X axis and one along the Y axis, at least one would be very hard to reach for leveling the bed.</p>
<p>I think the reason that there are NO low cost commercial filament 3d printers with an enclosure is because there are patents on enclosing the build volume.</p>
<p>You may be right. Would you let that stop you from enclosing your printer?</p>
<p>Let what, threat of a lawsuit? Yep , that would stop me.</p>
You cant be sued for using an idea in something for yourself that you arent selling.
<p>So you're OK with your kid's fingers (or your cat's tail, etc.) getting mangled and burned because some big company might own the idea of putting a box over your printer?</p>
<p>Thanks for promoting the value of building something reliable and high quality. My grand-father always said : &quot;if it is worthwhile to do it, it is worthwhile doing it good.&quot;</p>
<p>Thanks! I agree completely.</p>
I built it using your swaggy designs and it is BEAUTIFUL! The print quality and speed is amazing. Thank You!
<p>Are saying you built a printer like mine? In the few days since this has been posted? Please post a picture!</p>
I did, though slightly modified, with a little of my tweaks and touches
<p>You can build a precision machine from imprecise parts. If not, then where did you precision parts come from?</p>
<p>I'm pretty sure machine development didn't jump from sloppy to a precise in one step. I suspect there were a lot of incremental improvements that resulted in the precise machining we can do today. So no, you can't build a precision machine without precise components.</p><p>Here's another way to think about it: if you could build a precise machine with imprecise parts there would be no need for precise parts to exist. Yet they do...</p>
(I'm not arguing here) I still disagree. At some point there was that first milling machine turning out parts that were more precise than it's predecessor; and after incremental improvements we have the precision we have today. It's about building a machine that can be calibrated. If the 8mm rods bend under the load, then the software need to know to move the z as well as the axis that is moving so that the part comes out correctly. <br><br>I believe that with some thought and a little tech, those $300 dollar printers can be improved.
<p>For anyone interested in the process of building a lathe, milling machine or drill press from scratch, I recommend reading the books by David J. Gingery. </p><p><a href="http://gingerybookstore.com/" rel="nofollow">http://gingerybooks.com/<br>http://gingerybookstore.com/</a></p><p>I would not recommend for anyone to actually go through the process of <em>building</em> these machines anymore, at least not for the sake of just getting one. (&quot;Because I want to &quot; is a different story, of course.) Nowadays low cost machines of OK quality are much more easily available than when these books were written. But it is an interesting read anyway.</p><p></p><p>On the other hand, building a 3D printer like the one in this instructable is clearly a lower cost option than buying a commercially made machine of the same build quality. Yet another project likely to start in the garage :-)</p>
<p>While it may be possible to compensate for many of the problems in software, someone has to do it, and so far no one has. You certainly won't be able to do such compensation using an Arduino/RAMPS controller combo. Auto-tramming and orthogonal axis compensation are attempts to fix some of the problems but they are very limited in scope and make assumptions that aren't always valid. In the mean time, people keep buying $300 printers and setting them aside in frustration like those $50 telescopes that so many people buy for kids only to sell them off at the next garage sale. </p>
<p>High Precision - how do you know it's precise? Are you gauging it based on the quality of the output, or are you measuring it?</p>
<p>Precision is the ability to hit the same coordinates over and over and errors tend to show up as flaws in the finish unless they are really gross. I have not measured it, and I'm not sure what a meaningful measure would be- is it going to be constant over the entire build envelope of the machine? How would you specify it? We have some instruments at the Makerspace for inspecting machine tools, so I'll see if I can get some sort of measurement from them, but I'm not sure what it would mean. </p><p>Corners of boxes are very illustrative of the precision of a printer's mechanism. The attached photo is the edge of the red calibration cube object seen in the Instructable. The machine had to go to the same XY coordinates each time and you can see very little deviation from a straight line.</p><p>I look at things like the green vase with the very thin flutes at very high magnification. If you follow the edges of the individual layers as they stack up on each other you see very little deviation from the smooth line was was surely present in the CAD design. The individual layers are either 0.3 or 0.2mm thick (I don't recall which) and the lateral deviations are a tiny fraction of the thickness of the layer, so we're talking about maybe a few 10s of microns. The STL file consists of triangles that only approximate the smooth line that existed in the CAD file, so any visible deviations from a smooth line may simply be a result of the limitation of the STL file resolution.</p><p>These images are new- I just designed and printed an adapter to allow my phone to take pictures through a microscope today. I'll be adding some more pictures to the Instructable shortly.</p>
<p>Mark, those pictures are really amazing. The layers are perfect. Well done!</p>
So it's hard to tell from the output if slight deviations are from the model or from the machine; makes sense. Have you tried producing the calibration cube at all 4 corners of the build platform then measuring it? I think that if they all come out the same (measured with your micrometer) then you can say if its the machine or the stl. I've tried to test my design's repeatability by having it move around then come back and touch an affixed digital vernier. I was almost able to get it to count down the vernier by 0.01 mm each cycle (the machine's supposed to have been accurate to within 5 microns).
<p>No, I don't really feel the need. Prints come out looking fine wherever they are on the bed.</p><p>5um sounds like a marketing department spec based on calculating individual microstep size. That has little to do with reality when frame and guide rails flex, and bearings and threaded rods wobble, etc.</p><p>If you're getting 10 um repeatability I'd say you're doing pretty good.</p>
<p>Hi Mark</p><p>This is the first 3-D extrusion printer here, that makes sense to me. And it's a very good instructable. Your explanations are profound.</p><p>I am interested in building a really large one. (Build size in the range of a qubic meter) But i think it's prudent to build one of your size first, to gather some experience in extrusion printers.</p><p>I saw a couple of professional 3-D printers with different technologies, i even installed one(Z-Printer). I also work on routers, flatbed cutters and laser engravers/cutters. (not as a user, but as technician)</p><p>That's why i mostly smile, when i see the quick and dirty attempts on 3-D printers here ;-) </p><p>The idea behind the big printer is to print advertising objects like wine bottles, donuts and so on. I'm also thinking about the possibility of injecting colorants into the extrusion stream for colorized objects, instead of painting them afterwards. This is possible with the Z-Printer, but it's another technology(powder and colored binder) with drawbacks for this application.</p>
<p>These guys <a href="http://www.re3d.org/gigabot/" rel="nofollow">http://www.re3d.org/gigabot/ </a> make some decent looking big printers- study their machines and pick out the good stuff to use in your's.</p>
Well written, informative and inspiring!
<p>Congratulations ! Vey nicely made and constructed. The documentation, photos, and drawings, make it &quot;clearer&quot; to those with prior knowledge of precision equipment. It shows that your &quot;attention-to-detail&quot; is spot-on and further &quot;proves&quot;, that when one is &quot;cutting-corners&quot;, the result is rarely successful. Nothing beats experience.</p><p> AHN</p>
<p>Thanks!</p><p>When you set out to cut corners, you usually cut more than just the corners!</p>
<p>Wow. You really put in a lot of effort into this write up! It was very informative. I would like to know your thoughts on the peachy printer: <a href="http://www.peachyprinter.com/" rel="nofollow">http://www.peachyprinter.com/ </a> </p><p>It's only $100 but i think its design might work because it eliminates all the motors, heaters, and the extruders. </p>

About This Instructable




Bio: I was electrical engineer for 22+ years, then went back to school for 6 years and became a dentist.
More by Mark Rehorst:Space Laser Manual Go-To For Your Telescope 3D Printer Bed Upgrade/Replacement Use DesignSpark Mechanical to Duplicate and 3D Print a Decorative Finial 
Add instructable to: