Build A 3D Printer Workhorse, Not An Amazing Disappointment Machine

3D printers have become incredibly cheap, you can get a fully workable unit for $200 – even without throwing your money down a crowdfunded abyss. Looking at the folks who still buy kits or even build their own 3D printer from scratch, investing far more than those $200 and so many hours of work into a machine you can buy for cheap, the question “Why the heck would you do that?” may justifiably arise.

The answer is simple: DIY 3D printers done right are rugged workhorses. They work every single time, they never break, and even if: they are an inexhaustible source of spare parts for themselves. They have exactly the quality and functionality you build them to have. No clutter and nothing’s missing. However, the term DIY 3D printer, in its current commonly accepted use, actually means: the first and the last 3D printer someone ever built, which often ends in the amazing disappointment machine.

This post is dedicated to unlocking the full potential in all of these builds, and to turning almost any combination of threaded rods and plywood into a workshop-grade piece of equipment.

Taming Shaky Frames

The age of the shaky Mendel threaded rod frame is long over, it has been replaced by the age of shaky single-sheet Prusa i3 frames. Decent printing results require a darn sturdy frame, so add brackets and stabilizers wherever you can.

If you’re building a cube-style printer from aluminum extrusion, use angle brackets to stabilize the frame. If you’re building a Prusa i3 variant, make sure you’re either getting a frame with stabilizers or add stabilizers later. If you’re building a classic Mendel, add stabilizer boards to the cross struts.

Facing 3D printed parts

PLA is a horrible material choice for the 3D-printed portion of a DIY 3D printer, first for it’s low melting point, and second for its brittleness. Almost any material will perform better, but at least ABS parts can last forever. Print them really hot – at least 255 °C to get a good layer adhesion and they will never fail on you. Nevertheless: Always keep a set of spares, because you can. It needn’t be a 3-pack.

Yet, the absolute accuracy and surface quality of 3D printed parts isn’t generally as polished as the aluminum extrusion and sheet materials they attach to. When you attach a 3D printed part to a flat surface using screws, you have basically two options to get a solid connection: Make the screws very tight – which almost always breaks the 3D printed part – or use a fine grit sandpaper to flatten the contact surface of the 3D printed part to get a good contact between the two. Once the screws apply a reasonable amount of pressure, the static friction between the two surfaces takes over and provides a high resistance to shearing forces.

Drive systems

In conjunction with a rigid frame, both belt drives in various configurations (except for the H-bot) and spindle drives can achieve a repetitive accuracy that exceeds the requirements of FDM in the X and Y direction by magnitudes. However, the quality and longevity of any drive system depends a lot on the quality of the involved components. Eccentric pulleys or couplings, as well as components that introduce backlash, are the most common pitfalls here. Grinding belt teeth can cause vibrations, so make sure all belts are running in the center of their pulley and idler tracks. Use flanged idlers or at least washers to prevent the belts from rubbing against other parts of the printer.

For the Z-axis, it’s worth mentioning that the quality improvement you may expect from a stepper motor with integrated ACME lead screw shaft over the common threaded-rod-on-a-flex coupling solution is pretty insignificant – even in terms of longevity. Stainless steel M5 threaded rods in the Z-axis allow for great printing results and last for many years, even when exposed to the steady stress of auto bed leveling. In this case, the budget solution may be good enough. Of course, large and heavy printer assemblies do indeed require proper leadscrews.

Linear guides

As long as your build doesn’t exceed the typical size and weight of a desktop 3D printer, avoid using linear ball bearings in the X and Y axis, as they are a very common failure point. Their quality varies greatly depending on the manufacturer, and even if the cheap shot works seemingly great in the beginning, they won’t last for long. 3D printed plastic debris and even fragments of their own assembly will sooner or later cause them to block. Tribological, polymeric slide bearings are the way to go here. They are self-lubricating, maintenance-free and virtually last forever, at least by the standards of linear ball bearings. They are also available in Japan standard compatible form factors as drop-in replacements for the commonly used LM8UU.

Don’t use multiple linear bearings in line to increase the angular stability of a carriage. There are prolonged versions available for almost every linear bearing type , for example, use the LM8LUU form factor instead of two LM8UU.

Motors and drivers

$3 difference, double printing resolution

Even if you’re on a budget, think about using stepper motors with a 0.9° step angle instead of 1.8° for the X and Y axis and for any ungeared extruder. They will probably cost you $2 or $3 more a piece, but they double your mechanical resolution, which can be extremely visible. Microstepping is great for reducing vibrations, but – contrary to popular belief – does not increase the effective printing resolution. The following images of Yoda heads show the quality difference quite clearly. They are printed at 0.1 mm layer height on the very same Prusa i3 from the very same G-Code — the only difference is the physical step angle of the motors.


It’s a dirty hack, but it’s better than driving two motors from a single driver.

The rated current of your stepper motor drivers must be able to deliver the rated current of the stepper motors, as the stepper motors will only deliver their full torque at that current. Leave a margin of 20% to prevent constantly maxing out your drivers. Even if some retailers ship Pololu-style driver modules (i.e. A4988 and DRV8825) with (wrong-sized) heatsinks and thermal adhesive pads (of questionable quality), these heatsinks usually do more harm than good. Leave them out and stick to the 20% current margin, and you will always get the full torque.

Besides that, don’t wire multiple stepper motors to a single driver, especially the tiny Pololus. If you can’t get your hands on a proper port duplicator with buffer capacitors for each driver, a cheap and fully useable workaround is soldering female headers to one Pololu driver, add male headers for the motors, and backpack a second on top of it.

Controller Board

The particular choice of 3D printer controller board mostly depends on your individual requirements in terms of pure functionality. If you want a plug and play machine that works every time in any environment, avoid clones of Arduino based boards or other products that use cheap usb-to-serial bridge replacements, such as the CH340/CH341. They may eventually work, but long term plug-and-play driver support for all major operating systems might be something that’s worth paying for since it eventually becomes part of the user experience.

Thermistors And Thermocouples

Know your components and only use temperature sensors that come with a trustworthy datasheet. Otherwise, the measured temperature will just be a slightly better guess. Make sure the sensor has a good thermal coupling to the heated bed or hotend heater block to allow the temperature controller to keep the temperature steady. Thermal compound is the way to go here. NTC Thermistors typically don’t survive temperatures above 300° C required to print some engineering plastics, you’re locked in with thermocouples. Besides that, whether you measure the temperature of the heated bed and hotend with an EPCOS NTC, a Vishay NTC, a Semitec NTC or a welded tip K-type thermocouple does not necessarily matter, they are all accurate enough.

LCD Controllers

ReprapDiscount SmartController (by Reprapdiscount, image source)
ReprapDiscount SmartController (by Reprapdiscount, image source)

An LCD controller with SD-card reader turns your 3D printer into a stand-alone factory. The classic RepRap Discount SmartController with a non-graphical display will absolutely do for most configurations. There are clones around that work just fine when used with the provided RAMPS adapter, but some of them have their connector column flipped 180°, so pay attention when you hook them up to boards with dedicated EXT ports for the display panel, such as the RUMBA.

The click-and-scroll menu most firmwares provide for the common LCD controllers may be a bit cluttered and dissatisfactory to use, but that can be fixed quite easily and we’ll cover that later in this post.


A Raspberry Pi loaded with OctoPrint, maybe even with an LCD touchscreen, greatly improves the usability and productivity over the sparse LCD controller. It lets you send G-Code directly from the slicer to the printer over the air and allows you to conveniently control your printer through a pleasant user interface. However, it does add several failure points to the machine. While the SPI connection between the SD card and the microcontroller is pretty much bullet proof, you will almost certainly experience a frozen Raspberry Pi or a hung OctoPrint sooner or later. It’s still rare, but if you are using OctoPrint to stream G-code to the printer, make sure you add

M85 S30; activate 30-second idle timeout

at the very beginning of your start G-code to activate the idle timeout and

M85 S0; deactivate idle timeout

at the very end of the end G-code to deactivate it again. The 30-second timeout will kill the printer and shut off all heaters in case the OctoPrint host freezes or otherwise stops sending commands before the print finishes as scheduled.


ABS layer bonding at 280° printing temperature is strong as hell and makes printing large, tough ABS models without cracking and warping on the first attempt a breeze. Full metal hotends are the way to go here, as PEEK insulators and PTFE liners that reach down to the melting zone start degenerating at much lower temperatures. So, use a full metal hotend and at least a 40W cartridge for fast heatup time. Make sure the hotend sits rock-solid in it’s mount on the print head.


Bowden extruders do have a certain backlash, but that’s not necessarily a problem when printing ABS, PLA and Nylon. Yet, the 1.75 mm variants of flexible materials such as (insert distinctive term here)Flex are pretty much incompatible with Bowden extruders and at best extremely troublesome. If you’re planning to work with these, use a direct drive extruder. Even when using a direct drive extruder, make sure the filament is delivered to the extruder through a Bowden tube that is safely attached to a tube fitting on the spool holder. Setups, in which an extruder on a flimsy linear guide pulls the material right off the spool typically deliver poor results as the pulling force unpredictably deflects the print head during the print.

All shown drive gears and hobbed bolts work great, although most regular hobbed bolts (right) wear out quick. Go for hardened steel.
Go for hardened steel and sharp teeth. The MK8 drive gear and the black hobbed bolt shown above are just examples. Most regular hobbed bolts (right) wear out after the first meters and suffer from filament slip.

Most 3D printed extruder assemblies, such as Wade’s extruder or AirTripper’s Bowden extruder work just as well as the more expensive ones you can buy. The most important factor for the consistency and reliability of the extrusion is the drive gear. Go for a high-quality, hardened steel drive gear or hobbed bolt, with sharp teeth and good grip.

Heated Bed

Long heat up times are a productivity killer, and to reach the temperature fast – within 3 minutes or so, a regular PCB heated bed needs to have a power density of about 1+ W/cm2 (6.5 W/in2). To reach 110° (230 °F) under normal conditions at all, a heated bed should deliver a minimum power density of about 0.3 W/cm2 (2 W/in2). If you want to print materials like ABS, that require a high bed temperature, take the necessary wattage of the heated bed relative to its size into account.

Single sided PCB heated beds tend to breathe up and down, due to the non-uniform thermal expansion of the copper traces and the board material, which can result in a surface finish that is affected by banding patterns. The animation shows the issue quite clearly:

Single-sided PCB heated bed (left) / Double-sided PCB-heater (right)

Since high-quality prints rely on a Z-positioning accuracy in the tens of microns, even minor temperature fluctuations can cause a single sided PCB heater to introduce unwanted artifacts. Use double sided PCB heaters or other alternatives that don’t suffer from this issue (i.e. silicone heater mats attached to a solid slate of aluminum), along with a well-tuned PID control loop.

Modern heated beds, such as the Prusa MK42, achieve a more uniform temperature distribution by compensating non-uniform heat losses with a non-uniform power density, which helps a lot with making large structures stick to the build plate in its corners. In any case, always use a thermal cutoff fuse attached directly to the center of the bottom side of the heated bed.

Thermal image of legacy Prusa MK2B (left) and new Prusa MK42 (right) (by Josef Prusa, image source)

The heated bed must be mounted rock-solid to the frame or carriage it rests on. Don’t use loose adjustment screws with wobbly springs to mount them, as they will seriously affect the printing quality. Ideally, bolt the heated bed down as straight as possible and use auto bed leveling for the fine adjustment.

Enclosed build chamber

Enclosing your printer in a box prevents draft and the retained heat allows you to print larger objects from ABS with fewer distortions. The enclosure itself can be anything from a large enough box or a beautiful acrylic printarium. As long as the heat stays inside, it will just work. Keep the electronics of your printer outside the heated build chamber to prevent overheating of the motor drivers and power supply. Mind that actively heated build chambers also require actively cooled hotend-heatsinks.

Dual enclosed build chamber with glass sliding doors from a $50 OSB terrarium, because, why not?

Don’t add insulation material to the underside of your heated bed, since it decreases the overall heat output. Passively heated build chambers without excessive insulation can easily reach about 40° C or more, just by retaining the heat from the heated bed. Keep maintenance easy by making sure the enclosure can be removed without disassembling the whole thing, and well, a door would be nice. In any case, avoid draft. When printing ABS and HIPS, even an improvised enclosure or just a little cabinet is better than none at all.

Printing Surface

Regular window glass plates or mirrors are indeed able to withstand high temperatures, but at 110° C the slightest impact lets them shatter. If you print on glass, which works great for materials like PLA and PET(-G), use borosilicate glass. For printing ABS, HIPS, and also PLA, a Polyetherimide (PEI) printing surface is rightfully celebrated as the best option. ABS sticks to it rock-solid during the print, and still just pops off afterward. HIPS and PLA work just as well.

From right to left: 1/8″ glass fiber reinforced PEI plate, 1/4″ Garolite plate, Prusa MK2 heated bed, Makertum MK1 heated beds

However, not only is PEI an expensive material with kilogram prices in the hundreds of dollars, it is also in low supply, which led to increased use of thin PEI adhesive films. These films do offer the same great adhesion and printing experience but are quite fragile and easily get damaged. For heavy workshop use, use a 1/8“ PEI sheet instead. It might be slightly more expensive but will last forever and can even be re-faced on a CNC mill once it shows wear. For an even printing surface, the PEI sheet must be stabilized, preferably by gluing it to a sheet of borosilicate glass or aluminum with the help of a heat resistant transfer adhesive tape.

Don’t use heated aluminum printing plates with only a thin film of PEI or Kapton on them. The high heat conductivity of the aluminum overshoots the goal of keeping the contact layer at temperature and heats through the entire print object to a point where it usually gets too soft to support itself.

It’s worth mentioning that the best known printing surface for Nylon is still Garolite (aka. Tufnol). Nylon adheres well to it and even larger Nylon parts can be printed reliably on Garolite.

Auto Bed Leveling / Automated Mesh Bed Leveling

While the classic servo-deployed probe always worked somewhat good enough, the most versatile, accurate and reliable sensor type for auto bed leveling is the contactless capacitive distance switch. Many builds, especially ones with a metal build plate (i.e. the Prusa MK42) or carrier, still use inductive sensors, but these sensors ignore non-metallic printing surfaces (such as a sheet of glass, PEI or Garolite) and only respond to the underlying metal sheet. While this can, of course, be accounted for with an offset, that offset is rarely constant and uniform. Besides that, all contactless distance switches have a certain accuracy, typically about 10% relative to an adjustable trigger distance. Mount them with a short trigger distance, ideally 1 or 2 mm, to get the maximum accuracy. Of course, any sensor needs to be mounted rock-solid to the print head for accurate probings.


There are several great firmware projects out there, with the most celebrated ones being Marlin and Repetier. Marlin and Repetier have quite different approaches when it comes to their configuration. Marlin clones from a GitHub repository with two well documented and commented configuration files, one for the basics and one for the advanced settings. Repetier in contrast uses a website that lets you compose your firmware settings in a graphical web interface and download the pre-configured sources. These sources also contain configuration files, but they aren’t quite as well documented as Marlin’s counterpart.

When it comes to features and functionality, Marlin offers fewer features, but a rock-solid highly configurable and reliable platform worthy of a workhorse 3D printer. In contrast, Repetier offers many experimental features, including but not limited to virtual extruders for color mixing. It’s the ideal firmware for exploring the frontiers of more exotic 3D printing applications. Although, not all of its plentiful features are always well documented, which is bound to cause trouble if you’re just looking for something clean and reliable for workshop use.

Temperature Control Algorithms

Only a steady temperature lets you print high-quality models without banding and artifacts. A simple bang-bang temperature control switch does not provide the necessary temperature stability. The easiest and best way to achieve a steady hotend and heated bed temperature is a PID control loop, and both Marlin and Repetier offer that option. They also offer a PID autotune program, which will iron out any ripple in your temperature curve without compromising heat up times or overshooting too much. Repetier also offers an alternative dead time control algorithm, which in many cases works just as well. However, the accuracy and effectiveness of a dead time control loop depend on the ratio of effective dead time and the polling/update interval of the control loop. This results in poor temperature stability on high-power heating elements that happen to have a dead time in the tens of milliseconds. Just use PID.

Cluttered LCD controller menus

The standard Marlin or Repetier firmware with activated display support makes almost every control option available through the scroll-and-click menu. It’s complete, but also cluttered, and lets you navigate through four levels before you can move an axis.

The Marlin menu (simplified, by, CC-BY-SA, image source)
The Marlin menu (simplified, by, CC-BY-SA, image source)

For workshop use, only a fraction of the entries are actually required. Just remove unnecessary entries in the firmware source code. In the source of Marlin, that can be easily done by commenting out unnecessary items in the rather self-explaining ultralcd.cpp.

 MENU_ITEM(submenu, MSG_CONTROL, lcd_control_menu);

You can also simplify the move menu to skip the feed rate selection:

static void lcd_move_menu() {

    MENU_ITEM(submenu, MSG_MOVE_10MM, lcd_move_menu_10mm);

  MENU_ITEM(submenu, MSG_MOVE_1MM, lcd_move_menu_1mm);
  MENU_ITEM(submenu, MSG_MOVE_01MM, lcd_move_menu_01mm);

static void lcd_move_menu() {

    MENU_ITEM(submenu, MSG_MOVE_X, lcd_move_x);
    MENU_ITEM(submenu, MSG_MOVE_Y, lcd_move_y);
    MENU_ITEM(submenu, MSG_MOVE_Z, lcd_move_z);

Fire Prevention

It’s rare, but 3D printers can catch fire. Use the safety features provided by the firmware, but don’t solely rely on them. Both plain MOSFETs and solid state relays typically fail in their conducting state, which can result in runaway heating with disastrous outcomes. Thermal cutoff fuses are $1 components, but they are well able to prevent a runway heated bed from turning your workshop into a crater.

This $1 component is priceless. Use thermal cutoff fuses.

External Factors

Uninterruptible Printing

If your mains power line is unsteady, or if highly inductive power equipment happens to be turned on in the same workshop – cheap handheld plasma cutters for instance – it’s a good idea to operate your printer from an UPS (uninterruptible power supply). Even a short power failure during the printing process ruins the print, and a small cheap UPS will help you out in that case.

Filament Quality

Apparently, making great filament is a little more complex than feeding pellets into a heated something with an auger. It requires accurate measurements and a closed feedback loop to actually keep the tolerances low. Filament defects I found in cheap, low-quality filaments range from trapped air bubbles, variations in properties, color, and diameter. I even found a spool of ABS that faded into PLA half-way through. All this does not contribute to reliable high-quality printing, and if half of the prints fail, it’s not even cheap. So make sure you get a good filament that benchmarks your machine’s capabilities.

The Extra Mile

One great advantage of DIY printers is maintenance. The availability of spare parts and documentation makes it possible, but it should also be fun to work on the machine. Tidy wiring, cable guides as well as a consistent color code for voltages and signals across the printer will save you a lot of time, frustrations, and magic smoke as soon as you need to revisit the internals of your machine a year or two after you initially built it.

I hope you enjoyed this compilation of learnings from more than 20 unique 3D printer builds. Most open source projects maintain a detailed assembly manual but miss out on the details that make a machine a great, reliable, and fun-to-use piece of workshop equipment. The article has grown long, but hopefully fills enough of the gaps to turn any DIY 3D printer project into a success. It’s also bound to be incomplete, so add your own findings in the comment section!

68 thoughts on “Build A 3D Printer Workhorse, Not An Amazing Disappointment Machine

  1. A lot of the philosophy here is still valid even if you don’t care to make your printer perfect or even a “rugged workhorse”. I got a kit in 2014 (not a particularly good one). Then I fixed all the flaws that made it “too low quality” in my opinion, and that was a great hobby for a few months. OpenSCAD makes me feel like a pimp. There are still a few flaws I know about, and others waiting to be discovered. I wouldn’t pretend it is any better than a modern $200 printer, and I have about $800 in it. But I’m very satisfied because it works exactly well enough, and I know I’ll repair it as it ages. It is fun to do it myself even if it doesn’t save me money or get me a better product.

    1. I love OpenSCAD too, as do my kids. But my neighbor who is from the days of hand typing gcode for CNC mills got one and is now spending most working days printing prototypes for other people. He swears by Solidworks, and the snap-together and assemble features are super cool, but I just get more done banging out stuff in OpenSCAD than hunting through the learning curve, screw sizes library, etc in Solidworks.
      Just last evening I designed a low pressure SCUBA regulator for the kids to use in the pool in openscad in under 2 hours, ready to print and use once I strip a Schrader valve from a bicycle tire. No idea how long it would take with Solidworks, though I suppose with the parts assemble feature I could test to see if everything fit before printing. I had almost given up on my own 3D printing design before I started using OpenScad in Ubuntu.

      1. OpenSCAD is great for many types of designs in 3D printing, but doesn’t really export into a standard file format for precision machining. However, I anticipate it will eventually support IGES format export rather than the basic STL and rudimentary DXF with assumed metric scaling.
        Solidworks has quite a few features, but is usually unnecessary for most people doing small parts in FreeCAD (3D) / LybreCAD (2D). Notably, after the recent nVidia driver update… HeeksCAD finally stopped crashing on my machine, and if you have to drill a lot of holes in something its minimalist tool-path generator concept is brilliant.

        Indecently, if your need accuracy with shaft couplers don’t use any of the article’s recommended options.
        For precision applications a Dual Diaphragm Shaft Coupler will provide the best results, and not bind up the machine even under torsional deformation. Also, I can confirm the Prusa i3 aluminium frames still need plate stiffening brackets if you run your machines at high print speeds.

  2. Which reminds me I need to get my sorta wood box sorta acrylic printarium finished. At the point where I need to decide how I’m handling a few things, like how to hook up the shop vac and where to install the dust collector. Along with routing the electrical lines, assuming I decide to not just phone it in by using an off the shelf power strip :P

    On the plus side the ventilation was the first thing I finished so at the very minimum it has been “functionally” complete for some time.

  3. As for the extruder gears, PLA can warp a bit while printing and the gears wear after a while and friction gives a lot of noise, which also means some of the energy is lost and will not translate into filament pushing power.
    ABS is even worse, it wears much faster than PLA. Nylon, even though it warps during print too, it doesn’t wear at all. The gears also find much less resistance going against each other due to low friction resulting in more power to push the filament and it runs quite a bit quieter too.

    My experience with TPC flex filament is quite the reverse, it really had trouble with the old wades extruder, but since I switched to (custom designed) bowden it runs really well. I use 3mm which helps too. Printing speed maximum for tpc flex is about 30mm/s. I can print belts using the spiral option with high accuracy and 0.5mm thin. I used one for a cassette tape player without any distortion in the audio.

  4. A big plus to building/fixing your own printer is that you can try things freely without worrying about destroying your expensive 3d printer. The most expensive part of many i3 type printers can be ~$20 max. It is sometimes good to get two units running or, better yet, have nearby friend with another 3d printer in case you bust a 3d printed part. (glue can usually get you through, however, in a pinch) :-)

  5. This is exactly the kind of writeup that I needed.
    Great animation for the Single-sided PCB heated bed! I would’ve just ignored that info without the proof. Also, thanks for the suggestion of using a UPS unit. :)

    Excellent job HaD!

  6. Regarding the heated build chamber; I built mine with SunTuf, the clear corrugated roofing material, and a wood frame. SunTuf is way cheaper than acrylic, but is still very transparent and rigid. However, I built the front door out of OSB with a (scrap)glass viewport for better viewing.

    Regarding the Thermal Cutoff Fuses; could someone go into more detail about how to implement one of these? I did a little research and it seems that 240C is basically the highest rating you can get them, and this seems a little too low to protect from a runaway hotend.


    1. ” Thermal cutoff fuses are $1 components, but they are well able to prevent a runway heated bed from turning your workshop into a crater.”

      It was suggested for the heated bed, not the hotend.

    2. Pre-Replicator 2 Makerbots had thermal cutoffs outside the kapton/ceramic tape hot end wrap. Determining what that rating is without having an example might involve experimentation. Maybe tape a thermocouple probe outside the wrap in that location.

  7. I have built my own 3D printers and purchased them. Very happy with my Lulzbot Mini, which I got new from a guy on Criagslist. The Kickstarter 3D printer which I am building is an awful design, meaning I will need to spend time to get it to work correctly and upgrade it. For CAD deisgn, TinkerCAD is a great place to start, then move on to Onshape for more features. Both are free. If you like building and experimenting, then build your own. If you want to dive right in, then make mods later, buy one. Either way, 3D printing rocks and I can’t wait for the day when it will take seconds to make a tennis ball size product.

  8. Excellent article…I was always thinking why do even some KS/IGG projects use substandard bearings and heated beds and get into inherent lapses in design.This article just nails it !

  9. about the question: “Why the heck would you do that?”
    Well, I’ve build my own 3D printer, from scratch, just for the fun of it. And to learn from it and to show my skills to my family and friends. Made from wood and old printer parts you can make a very rigid design and I’m very pleased with the results. When I started the build I did not expect it to work this good, my intention was to make simple gears and brackets or small casings. Not figurines, I’m a technician, I needs gears, not a “yoda”.
    Anyway, It’s been a fun trip and I can recommend build one from scratch because it will give much more satisfaction building something yourself then to buy a kit and put it together.

    The extruder used I made myself (from a piece of scrap brass rod, I wanted water cooling so I made some pumps to pump water past the cool part of the extruder, it worked like a charm. Although a bit noisy (pump).
    Eventually I destroyed when I tried to improve it, then I noticed that buying the new the raw material (brass) would be more expensive then to buy an full metal air cooled extruder from china. So my second extruder was from ebay for approx $16. It worked just as good.

    Thanks for the article, it might inspire other to build their own 3D printer.

    1. I’ve also scratch built my 3D printer – I went for aluminium rather than wood and old parts from a flat bed scanner.

      I was also presently surprised it worked as well as it did – sure it could be better but for a first time attempt I’m happy with what I can do.

  10. So i got a question, and i know with a little google its done, but! this looks like a text from a Person who know that stuff and have the knowlege to recommend. So pls tell me is there a good “secret” recommendation that you have for us who want to buy a “Kit” without buying every Part in a Piece ? Or do You know a from you proved site where I can research?

    1. A few months ago I bough a Max Micron Prusa i3 from for ca $280. A week for delivery, came as a kit, took about two evenings to assemble and has been printing great since. One new hole in the bed carriage converted it to 3 point levelling with even better results. Being an Prusa i3 it has lots of room for tweaking and extending/improving as you go.

  11. Great Article, i just bought one of those 200 chinese i3 printers on ebay last week. Great info here especially about the stepper motors i didnt know i could get them with double the resolution.

  12. Fantastic article, thanks for writing it! (Good stuff in the comments too this time!)

    I have a bunch of leftover OpenBeam extrusion from another project, thought I’d see about using that for a printer frame. Are there any ready made printer designs that are based around OpenBeam? Any recommendations for a first time printer build? I’m thinking a i3 style, but there are lots of options, kinda overwhelming…

  13. “Microstepping is great for reducing vibrations, but – contrary to popular belief – does not increase the effective printing resolution. ”

    I have to question this. A 1.8 degree stepper with 1/16 micro stepping converts a 200 steps per revolution motor to 3200 steps per revolution. Switching to 0.9 improves this with the same 1/16 gives 6400 steps per resolution. So 0.9 is twice as good and allows the threaded shaft to move more precisely to the proper height. But clearly micro stepping does increase the print resolution vs 200 or 400 steps per revolution you would have without it.

    1. The problem is that microstepping does NOT produce evenly spaced steps, whereas the 400-step motor does. You will not get 3200 steps out of a cheap 200 step motor, it just doesn’t work that way.
      Also, when microstepping between the physical steps, the motor might not move at all, because usually there is no position feedback, another reason you want more physical steps, consistency is crucial for nice looking prints.

      1. The driver will produce a voltage differential in the coils or poles that produces 3200 different levels and positions unloaded. If the hysteresis or resistance of the mechanism prevents it from fully moving to position then the effective number of steps is indeed less than 3200. But back to your original comment that microstepping “does not increase the effective printing resolution” is just wrong. If only half of those 3200 get to desired position, that is far better resolution than 200 from a 1.8 non-microstepping motor or 400 of a 0.9 non-microstepping motor. Half stepping alone will double the resolution and since the highest torque is when two poles are energized or in half-step position. In the end I agree that 0.9 – 400 step motor will give you better resolution than a 1.8 – 200 step motor but microstepping will increase the resolution and more important than any of this is have a motor with enough torque to handle the forces required and, as you mentioned, the correct current to achieve that rated torque so most positions are achieved. Add to this is the threaded rod pitch. A threaded rod that requires more turns per inch will help filter out missed steps and achieve the consistency desired and ultimately require less microstepping to achieve a typical 3D print resolution desired while still using the microstepping to reduce vibrations between steps for a smoother transition from pole to pole in the motor and layer to layer in the print.

  14. Even though I’m only going to fantasize about building my own printer, this is an excellent write-up because it’s a view into the mind of an engineer and engineering thinking. I love the very clear discussion of the consequences of various design choices. Well done!

  15. There’s also bed size to take into account. I have an N2 with a bed of about 300mm X 300mm and it’s impossible to get the bed level relative to the printing head because the weight of the head makes the rods sag about 0.3 mm between the center and the corners. So the head ends up either correctly spaced on the corners and too close on the center, or correctly spaced in the center but too far away in the corners :(

  16. This is a beautiful and concise overview, and useful for DIY printers as well as people maintaining and upgrading their current printers. I’d love to see a similar article for improvements, upgrades, and maintenance I haven’t yet found one good enough to recommend to others). I’ve noticed that many of the failures I’ve helped resolve have been due to neglected maintenance, or not observing the slow creep of problems that occur after long periods of use (i.e. ground rod mounts eventually wearing out due to poor stabilization).

    1. Bradford is right there really isn’t any articles out there about upgrades and new options. I would love to hear more about all these ARM board coming out. Im not a big fan of dropping a hundo on some new board. When I don’t even know if its gonna to even work.

  17. Illumination. Warp in ABS did come from bed uneven dilatation. I was really puzzled when i discovered that a 60C bed did have just a slight distortion, while 110 visibly lifted up the corners. The heat bed was a one side pcb heater.

  18. 30 seconds may be too short for many on the M85 timeout. For instance, if you run a G29 autoleveling routine that takes longer than 30 seconds. 120 seconds might be better, short enough for safety but long enough to allow long commands to run.

  19. What Makes a printer “low quality”? I bought $130 acrylic Prusa i3 kit from gearbest, but it together in a few hours, bought a piece of Borosilicate, and off she went. I’ve printed about half a dozen parts in PLA and ABS, They are all to tolerance and look great. I do have a tiny problem with some larger ABS parts pealing up a bit at the corners… but nothing that really effects the usability of the final part.

    I design my own stuff using creo parametric, and prints come out great. If I want it a little smoother I change from normal to high quality in Cura. Bam,.. damn near glass like finish on parts. I researched an bought Hatchbox filament. Quality in is needed for quality out.

    Am I missing something? Should I not be amazed at the abilities of my printer? Should I be awestruck that there is something better? What am I missing here? My other experiences with 3d printing are this: A friends Cupcake V1 (pure crap), SLA parts from a few different shops, and two types of Powder bed and inkjet head 3D printers ($10K+).. my $130 FDM blows them all away in terms of quality and dimensional accuracy without even trying.

    One caveat before you answer. I only print usable things. Dust collectors have no place in my home. So the point that a Yoda face may look better on some other printer is lost on me. Even so, I’m sure I could print a pretty good looking Yoda head should i need to.

  20. Hi,
    Great article which left me with a couple questions.

    I Googled for a dual sided heat bed and the only thing coming up is a dual voltage heat bed.

    I Googled the MK42 heat bed and the only thing coming up is the New MK42 upgrade/I3 Prusa 3D printer with a MK42 heat bed with two center hold downs and mesh auto leveling embedded pads. No mention of dual sided heating.

    Let alone the thicker dual sided heat bed as shown in the animation in the article.

    Can you provide links to some USA sources for the heat beds mentioned in the article?

    As well, with the release of this New MK42 (black) with 9 embedded mesh auto leveling pads and two center hold downs and larger edge to edge print area having been announced as of May 2016.
    (Source link: ). How would you say this MK42 compares to those in the article?

    And where to get it other than as an upgrade kit to the RepRat Prusa I3?
    I have a Geeetech i3 Pro B. The aforementioned heat bed will fit, but I do like what was shown with the dual heated bed in the article. Is there a heat bed that has it all?

    1. Nope! Prusa, like other so called open source advocates, hasn’t released sources and instead only lets people buy full kits. 3D printing as a hobby has been replaced by 3D printing as a business. If you want one, you’ll have to figure out how to roll your own.

  21. There are a lot of band-aids in this article, just like there are a lot in cheapo 3D printers like most of those in the photos.

    If you want really precise motion, don’t use plastic bushings or ball bushings on flexible, end-supported round rails. Use fully supported linear guides.

    If you want to print edge to edge on the bed, you need a flat surface. I use cast aluminum tooling plate on a 3 point leveling system. My machine doesn’t use auto leveling. It doesn’t need it. I haven’t leveled the bed in many months even with transporting it back and forth between home, makerspace, and Maker Faire.

    Anything that comes between the gcode file and the printer reduces reliability. If you really want reliability, print from SD cards plugged into the machine’s controller.

    If you want to really build a reliable, high precision machine, take a look at my Instructable
    to see how to do it right.

  22. “Don’t add insulation material to the underside of your heated bed, since it decreases the overall heat output.”

    Please explain how this could be true. Adding insulation to the bottom of the heated bed shouldn’t decrease the heat output, that will be determined electrically (e.g resistance of the bed, supplied voltage, etc.). The insulation should just ensure that more of the heat comes out the top where you want.

  23. any advice on Mk2B dual sided heatbeds vs the new Mk3 single sided but aluminium ones? I can totally see the differences between the two Mk2’s the gif above, but just wondering if there’s been a similar test with the Mk3?

  24. Thank you so much for taking the time to share your experiences. I’m about to select and build my first kit and the pragmatic war stories contained in your piece are pure gold.

  25. I am new to this level of DIY, and so after reading your detailed article I realized I would EASILY have made many (if not all) of the mistakes your article will help me avoid!

    This is so VERY important for one big reason: I am building an ecovillage, and we plan to use the 3D printer for critical components in our construction. With out your guide I would have made a mess of things and the village relying on me would have failed. I cannot EVER thank you enough for this! I hope to learn more as I go along, and will let everyone here know what I find.

    Thanks again!

  26. Excellent article! I’ve already built my first DIY printer, and one of the lessons learned very early on was that 90% of the advice from 90% of the people that have published their own builds is based more on pride than reality.

    I went the T-slot route, and started off with a “kit” of printed components recommended by one of the highly regarded “experts”. The first thing I discovered was a preference for crappy printed components where a suitable T-Slot component was a superior choice. I get it that it is cool to have a primarily printed printer, something very organic about a printer made by another printer… But in the end I used only the parts that were indeed unique and best served by a printed component, and for everything else I used the correct metal T-Slot component. The point being to use some critical thought before you assume the advice of the experts is correct, and not really just a self-serving brag about printing a printer.

    But your article is different, here you discuss ranges of options, and give specific reasons for your recommendations.

    I’m very happy with my first DIY printer, as now I have a good “workhorse” printer that I can use to help me build a better printer… A printer that will be inspired by what I have learned so far, and enhanced and improved upon by some of your recommendations. So thanks for covering so many overlooked topics. I could probably spend the next couple of months re-building my workhorse to improve it further using your advice, but then I would have just one printer still. I learned early on that having a working printer is vital when you are designing and building a new printer.

    So thanks for the excellent read, and the excellent addition to my bookmarks. I’ll be back!

  27. Highly relevant, 3 years on!

    Would you mind updating this for 2019? Is there any tuning of your thoughts on this, given a few more years of perspective?

    Also, can you point us at some of your suppliers? Thise poly linear bushings and hot plates for example?

    Fantastic article, thanks so much for putting g your thoughts to interwebbly print!

    1. Yeah. This is on my list of favorite articles for sure!

      Bushings are made by Igus. If you already have the aluminum pillow blocks from LM8UUs, they slide right in after you tweak open the clips on either end.

      The hot plate he used as an example was from Prusa. The key is that it was two-sided so less likely to warp. I use one of the cheap chinese aluminum plates with a heater built in, and maybe it warps a tiny bit under heat, but it’s not really a big deal, IMO. Glass plates on top, which stay flat under all conditions, solve the warping problem too.

      And being the proud owner of two printers with wobbly frames, I can second what Moritz says at the top about how frame stiffness contributes to print quality, but can also add that another possible solution to wobbly frames is often just to print slower. In fact, if you have the time, lowering the speed and/or acceleration and jerk settings of the print is one of the quickest ways to improve quality. There’s just simply a tradeoff — although a stiffer frame pushes that tradeoff to a higher level.

  28. Re heated chambers,

    For a while Area515 was (in)famous for our trash bag solution. Due to the layout of the space the 3d printer was near the door and cold winds would really screw with prints. I decided to figure out what the cheapest and easiest way to prevent drafts was. We have a seemecnc rostock max v2. Turns out that laser cutting “wings” which go just under the top most plate and extend out past the vertical extrusion allows you to cut the bottom seam out from a trash bag and support it. It isn’t a great solution, but it works well enough. You can lift the bag up a bit to watch the first few layers and then let it down for all the rest. Simple, effective, and proved that even though very few people go through the effort of scratch building popular kit printers having the design files available is useful for little hacks.

    Let me know if you want the design for the wings.

  29. Does anybody tried the ” dirty hack ” of mirroring the driver as shown on picture?
    It looks like a very nice hack but with few information.
    Thank you very much for any feedback and for this excellent article.

  30. 1) tightness: I add big washers, print it solid and tighten it HARD. Wnen it starts to sink into the PETG, it’s tight enough.
    2) polymer bearings: Never worked, either too tight or too loose, depends on the holder block’s tension. i just swapped for LM8UU. And the tightest ones were selected from bag of those.
    3) i just put borosilicate on a cheap bed and off it goes. the cheap bed cannot do harm even on full power (tops out at 110°C).
    4) enable hotend meltdown detection! it really helped me at least 3 times when thermistor failed or dissconnected.
    5) bolted the bendy shaky geeturd i3 PRO B frame to kitchen sink wood plate, and never had to bed level ever since. Vibration dissapeared and quality improved a LOT!
    6) boost PSU voltage to 13,9V by onboard trimer, connect a car battery through a fuse and 4mm2 wires, and you get superior efficiency to UPS. Two batteries in series for 24V to 27,8V.
    7) put a tube between extruder input and some fixed place in front of filament spool. improves quality.
    8) put some dust catching material or cloth around the filament going to the tube. Keeps dust from going into the nozzle.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.