Introduction: Building a 3D Printer
I recently presented 4 3D printers at the Maker Faire Milwaukee. All 4 were designed and built by me. I'll share the links to 3 of the instructables that explain how to build them. This instructable however, is going to take a more general look at what to expect when building a 3D printer.
One repeating question I get at shows is, how much it costs to build a 3D printer. The answer depends on what you're building but, of all my printers the minimum is about $400.
The follow up question is, why you would pay that kind of money for parts, if you can buy a 3D Printer for less than that. Good question and here's my answer to that:
You only would build a 3D printer if you want to experience the process of building a printer. Yes, it can be more expensive (I won't pass judgement on the quality of the cheaper, ready made products) but think of the process of building a printer as a learning experience. You are paying for the experience and out of it you happen get a working project.
One of the most remarkable things about building a 3D printer is that you'll amaze yourself (and can take great pride in) at what you are capable of.
I built (and to some extend) designed my first printer 4 years ago without an ounce of experience in robotics and electronics.
A fair warning: Building a 3D printer is like getting a Tattoo; it will never end with one.
Step 1: Type of Printer
If you know you want to build a printer the next step (if you haven't set your mind on any yet) is to determine what type of 3D printer you want to build. The most common printers are either a Cartesian 3D printer or a Delta Kossel 3D printer. An example of the common Cartesian 3D Printer is something like the Prusa I3 and a well known example of a Delta Printer is the AnyCubic Kossel.
Heads up, the Cartesian is a bit easier to configure and maintain than the Delta Kossel. They say, a Delta Kossel 3D Printer has the advantage that it can print faster but some say the other type of printer have long since caught up. Also if you're looking for speed you may have picked the wrong hobby.
Other 3D printers you might consider building are a Core XY printer or if you're really adventurous maybe a Scalar Printer. Core XY is like Cartesian but it's mechanics, has some advantages over the traditional cartesian. Scalar is pretty experimental and you may find it hard to find the software to handle it.
Oh, did I mention the hang printer? Why build a frame printer when you can use your ceiling? I have little experience with this but I'll add some links under the resource step
Step 2: Features
Before starting any build or design think about what it is you want your printer to be capable of. Following is a list of features you should consider when starting your 3D printer build project.
Volume is probably the first thing you need to think about when building your own printer. Building it yourself, allows you to get outside the range of standard sizes. Generally, printers come with volumes of about 210mmx210mmx250mm (standard I3), It's now more common to find bigger ones going up to 400x400 and higher. I'm currently building one that is 330 (diameter) and 1250mm high.
That said, some of you might actually be more interested in building something tiny. It's nice to have a huge printer but, how often are you really printing upwards of 1 meter?
For X and Y, I would recommend sticking to some of the standard sizes as it lets you buy parts more easily (like bed surfaces and heaters). To get an impression of what sizes are out there check out BuildTak.com and look at their print surface sizes. They have most brands covered and if it's a popular brand you'll be able to get parts that fit.
Filament size/material can drive your design as different materials require different features. Filament comes in 1.75mm and 3mm (really 2.85mm). Most printers use 1.75mm and you'll probably find the best prices in this size. Materials however come in a variety of differences and each has it's printer requirement to operate at optimum.
PLA is the easiest and requires the least functionality from your printer. You can get away with a cold bed and lower temperatures.
Most other materials need a heated bed. ABS on top of that needs an enclosure around the printer for optimum quality. Flexible materials like TPU in general work better with direct extrusion as opposed to bowden (more on this later).
Speed is nice but need I remind you, you're building a 3D Printer. It will never be fast. You might get a print to finish in 14 hours instead of 18 but we're still talking hours. Without going into detail printing at 300mm/s instead of 100mm/s doesn't necessarily make it 3 times as fast. Mechanically many printers can now go faster. Considerations, like 24 Volt, Nema 23 instead of 17, linear rails and 32 bit boards can get you there but don't forget about the plastic you need to melt. If you want to print at 300mm/s (few can) you'll need higher melting temperatures and generally better nozzles to keep the molten plastic flowing fast enough.
Accuracy is often reduced when going too fast. Speed is a factor, but so are many other features. Rigidity of the frame plays a huge role. A weak frame will bend along with turning corners or going opposite directions from the last (jerk/acceleration comes into play here). I designed and built a few cantilever printers and although they look good they are not very rigid. Caged frames are great but are only as strong as the corner braces and brackets you apply. I would shy away from 3D printing corner brackets. Instead go with metal corner bracket and corner plates when possible.
I'm a big fan of using linear rail as opposed to metal rods but have not seen any physical proof of them being better (for the price you pay for them). Cheap bearings or cheap linear rail for that matter can do a real number on your prints. Movement has to be smooth, cheap bearing are not.
Most steppers are 1.8 degree steps but going with 0.9 Degree can get you more accuracy but you'll sacrifice on speed (not always).
Auto bed leveling is a nice to have feature. The most important layer of any 3D print is generally the first layer. How well it adheres to the bed, how smooth is it. It is easy to mis-calibrate your bed and end up with over or under extruded first layers. There's the good old fashioned using a piece of paper and measuring the corners of your bed but I've had great success with Auto bed leveling. The nice thing about it is, you can do it each print if you want (I do). I personally use flex plates so removing and adding it after every print can have adverse effects on the bed position but so can trying to pry off a stuck print from a stationary bed. Auto Bed Leveling itself is really not the right term. You bed is not adjusted as part of the process. Instead measurements made of your bed's inaccuracies are applied to the print process and the Z-axis will compensate for them. It's should really be called Auto Bed Compensation.
Temperature applies to more than just the temperature at which plastic melts. Different materials have different properties and require proper heating AND cooling. For example, PLA likes to be cooled at the hot-end (With a parts cooling fan), whereas ABS can't tolerate moving air and prefers a closed chamber (preferably heated up).
Then there is the speed at which temperature is reached. I build my printers with 110Volt heated beds for fast heat-up. With it, I can heat up to 110C in a little over 1 minute (Where it would take over 10 minutes with a low-end MK2-bed heater).
Sound will start playing a bigger role over time. When you first finish your 3D printer you'll marvel at its kinetics and ability to make stuff but after you're 50th print you'll start to get annoyed with all the sound it generates. The motors will whistle and sign and as mesmerizing this is at the start, the more annoying it is going forward. Different drivers and different modes can play a big part in keeping sound down. The TMC line of stepper drivers are nothing short of miraculous when is comes to quiet. Then there's the different fans around your printer that can get pretty annoying over time. Choosing the right fans can make a world of difference. When my budget allows I'll always try to go with Noctua fans (dead quiet)
Material removal can be a major pain or pure pleasure. There's something about bending a flexplate and listen to the print separating itself from the build surface. Most printers however don't come with Flex plate systems. If you're just starting out with your printer build consider making the flex plate system part of your bed (by possibly already embedding magnets in the bottom of your metal bed). But no worries if your not sure yet, there are flex plate systems out there that can be applied to existing beds. It's a bit more pricey and the heating of your bed might need some adjustments.
Video/monitoring won't be the first thing on your mind when building a printer but is a nice feature to have. You can make very fancy lapse photography videos but simply have the ability to look in on your print from the bedroom is a nice feature to have. Add-ons like OctoPrint are easy and have little effect on the overall design/functionality of your printer. Where and how to add the camera maybe something to keep in mind.
Filament management is one of those nice to haves but can also effect what and how you print. Decide on whether you want to go bowden or direct extrusion. With Bowden extrusion the stepper motor and extruder are stationairy and push filament through a bowden tube to the hot-end. The advantage of this is a light weight hot-end where forces of mass play less of a role moving the hot-end around. With direct extrusion your stepper motor and extruder sit on top of the hot-end. There's cons and pros to both. Keep in mind that although not impossible, it is harder to print flexible filaments with bowden. It will be harder to work with multi-materials when using direct extrusion.
Also consider adding some filament sensors to your printer. There's nothing more frustrating to come back to a printer to find it ran out of filament 18 hours into a print.
Cooling for most printers means a fan to keep the hot-end heatsink cool (very important) and a stock fan inside your PSU unit. For many printer this will suffice but there's more cooling needed for excellent quality. At least look into a parts cooling fan that will cool the filament as it is deposited. It can make a big difference for certain materials. If you're going big or are using heat sensitive stepper drivers, like the TMC lines of drivers consider adding a fan directed at your controller board. The software can handling all of these fans coming on and off based on need.
Step 3: Frame
There are many different options for frames. The very first printer I built was made entirely out of acrylic, All printers after, used aluminum extrusion for various different types of frames (cage CoreXY, Cantilever, Delta).
If you choose to go with acrylic, as your frame, keep in mind it won't be as strong but it also won't last. Acrylic has a tendency to weather in the sun and crack around all screw holes (just give it time). It can however be much cheaper than aluminum.
Like I stated earlier, a frame adds stability/rigidity to a printer but only as much as it's connecting joints. If you go with an aluminum frame I recommend using the metal brackets/plates that come with it. 3D Printed corner brackets aren't as stiff and again also weather/crack over time.
I get some of my aluminum extrusions used on eBay.com but be aware of scratches and non-uniform/exact angles.
Speaking of angles; if you're going rely on connecting extrusions directly to each other, consider getting it pre-cut from the vendor. They are much better at achieving exact 90 degree angles than your Miter saw. You can also "enforce" proper angles by relying on corner brackets and plates.
Step 4: Motion
Most 3D printers are referred to as Cartesian printers and have an easy to understand dynamic of motion. One motor for the X axis, one for the Y axis and one (or two) for Z.
The Z axis will lift the X axis (either by one or two motors), The X axis will move the hot-end around (and in case of direct extrusion the extruder motor as well) and lastly the Y-axis will move the bed back and forth.
Most popular printers like the Prusa line of printer, Enders and Crealities all operate in this fashion.
It works well but the one downside to this approach is that an awful lot of mass is moved around in all directions.
The X-axis moving a possibly heavy extruder stepper motor from left to right and the Y-axis is moving an entire bed and with that, the entire model you're printing. Depending on what you are printing, this can get heavy and/or unstable. The video below illustrates what happens with you swing back and forth 6 skinny sloping towers at 200mm height.
A more stable approach than the Cartesian model is the CoreXY implementation. In the CoreXY movement, the bed only moves up and down and the X and Y movement are controlled by 2 stationary stepper motors. Both X and Y are controlled not by a single motor each but by the two motors working in conjunction. What's nice about this motion technique is that there's less inertia from heavy motors moving around (X and Y are stationary steppers) and the bed only goes up and down (in increments of fractions of millimeters).
here's an example of my CoreXY implementation on the C3Dt/xy:
A third and very popular option is the Delta motion in a Delta 3D printer. A delta printer doesn't really have Axis but instead 3 towers that move an effector (the part holding the hot-end) over a single plane. The claim is that this type of motion allows for much more speed and it produces less artifacts (blemishes) on the final print. Because the effector is controlled by fairly thin arms you generally don't use direct extrusion but a bowden type of extrusion. If you plan on printing with flexible materials, beware that this gets more challenging (not impossible) with bowden extrusion. Because of the complexity of motion (three motors controlling all three directions in tandem) it is also recommended to use a 32bit controller instead of the more common 8 bit controller.
Here's is my latest Delta implementation (the C3Dt/bd) at work:
If you have to look at it from a complexity standpoint I would say the easiest (and most common) to build is the Cartesian Model, the Core XY is a bit more complex and the Delta is probably the hardest. I do love my latest Delta. It prints better than all previous builds, I designed and created.
Step 5: Electronics
The controller is at the heart of any 3D printer you will build but they're not necessarily the most expensive. A plain RAMPS 1.4 kit (shield on top of arduino with simply LCD) will cost you less than $40 on amazon.com. A KFB 3.0 kit (arduino integrated into controller baord) will go for even less at $35 on Amazon.com. I have 4 printers running on this board and never had an issues. I have several instructables that involve the KFB3.0 (same to KFB2.0) like the instructable on how to wire the KFB2.0 (same applies to KFB 3.0).
You can also opt for going better and fancy with something like the Duet Wifi and PanelDue 7i (throw a Delta Smart Effector while you're at it) from Filastruder.com. Cost will immediately go up though. A Duet Wifi will easily cost you upwards of $150 (that does not include the Touch screen LCD and excellent smart effector).
With any option also not that any screen on any printer is a nice to have but every printer you build could run without. Even with an LCD anything more than a plain text LCD is icing on the cake. Every printer could be controlled either directly though some software on your PC (something like Pronterface) or web interface in some cases (like the web interface to the DuetWifi.
The vast majority of 3D printers are powered by an "Universal Regulated Switching Power Supply". These come in 12 Volt or 24 Volt. You can go with the generic ones that will cost you less than $20 on Amazon.com or you can spend a little more and get Mean Well NES-350-12 for a little over twice that. I had good luck and bad luck with the cheaper ones.
BEWARE!! If you have kids you better make sure that if you choose a universal power switch you are dealing with exposed 110Volt power. Whatever printer you are designing make sure these wires ARE NOT accessible with little fingers.
If you want to play it safe go with a Power brick that does not expose high voltage. Make sure it provides enough amperage for your needs. A heated bed can use quite a bit.
Stepper motors come in different sizes and different power needs. For most printer builds you will be looking at Nema 17 stepper motors (generally 1.8 deg. step angle good 200 steps/revolution) that range from 0.4A to 2.0A. Most of my printers run on 1.7A steppers from Amazon.com, although my first build made due with 0.4A.
The motors are controlled by stepper drivers. If you buy Kit like mentioned above they'll come with generic A4988 or DRV8825 stepper drivers that will do just fine, or you can get something like the TMC2130 stepper drivers that offer features like stallgaurd and stealchop (you won't know, your printer is working unless you look at it). Btw, I have an instructable on how to use these TMC2130 driver here.
If you decide to go nuts like me and use 3A Nema 23 Stepper motors you'll have to go with something more serious like the TMC2660 as found on the Duet Wifi (and make sure you keep it cool).
End stops are there to stop your axis from running of their rails and hot-ends from drilling through your bed. They come in different shapes and sizes varying from the simplest Micro limit switches to the more commonly used Makerbot type endstop switches and for those who are worried about mechanical wear the optical limit switch. I personally like the Maketbot type switches that have an LED on but any will work. All of them come with either two or three wires and all go onto the same spot on your controller board. Heads up, connect them wrong and you can fry parts of your board.
I mentioned Stall guard earlier which theoretically allows you skip end stops altogether (when the axis goes boom at each end of the rail it will stop) but my experience is that, that feature is not quite there yet.
As for the Z-axis you can certainly go one step further and use a proximity sensor.
Proximity sensors are nice to have as they enable you to use a feature called Auto Bed Leveling which ironically doesn't level your bed at all. What it does so is sense irregularities in your bed and will adjust the printing process accordingly. Again these sensors come in a variety of shapes and sizes. The more common ones are the inductive proximity sensors that will detect metal and in this case an aluminum bed (or spring steel removable bed). Then there are is the BLTouch that does it's sensing in its own way (instructable here). It has some mechanical pieces to it that work fine on the genuine BLTouch but have proven less reliable on knockoffs.
The Delta Smart Effector has a contact sensor (smart PCB, where a piezo is somehow built into the circuit board) that triggers when it hits the bed regardless of material and has no mechanical parts to it (that I'm aware of).
If you build a printer yourself I highly recommend implementing auto bed leveling. It will currently set your printer apart from most cheap offerings from China.
Step 6: Software
The good thing about building your 3D printer is that, no coding is required. Yes you will have to handle software but most of that process is configuration of the software. The other good thing: It's all free!
In order to operate a 3D printer you will need at least the following types of software:
- Firmware (think of it as the operating system of the 3D Printer)
- Slicing Software (software that turns a model into something the Printer understands, which is mostly gcode)
- Host software to operate your Printer from your PC (optional for printing but useful building one)
Firmware will most likely be Marlin Firmware or RepRap Firmware if your dealing with a 32 bit controller board. That said, since version 2.0 Marlin can now also operate 32 bit boards. This list of firmware is quite expansive however (see full list here)
If this is your first printer build I highly recommend Marlin and if you use the Duet line of boards it will come with it's own version of RapRap Firmware (highly recommended as well).
Slicing Software is available in abundance as well (most of them free). The two biggest names in the free space are Cura and Slic3r and in the paid space Simply 3D is a know player. Fair warning as a beginner the free slicers can do as much (if not more) as the $150 you pay for Simplify 3D (S3D). For every loud voice proclaiming S3D being the best you may find two other calling BS.
I've been building printers for 5 years now and have never used anything other than Cura and Slic3r. I think preference will grow based on which you use the first and/or the most. It is not easy switching from one to the other. Sure one will import the profiles from the other but they look, feel and behave different.
Host software comes in handy when your printer does not have a display or does not have a display yet. I use host software to test my components and board long before I've connected the LCD. I've personally never used anything other than Pronterface (Printrun) for all my Marlin printer. Duet comes with it's own web interface.
Step 7: Tools Needed
I'd like to say is all you need is a screw driver and a hack saw but in general you'll find you need more tools than that. As matter of fact, when you see an instructable stating "build a 3D printer for less than $200" take into account you may need to buy some tools you don't have yet.
Here are some of the tools I have in my constant reach:
Caliper: Make sure it's both inches and millimeters. Almost all 3D Printer specs are in metric (best get used to it)
Needle nose pliers
screw driver set: I prefer to use hex socket screws for most my builds.
Scissors (if only to open all the parts packages coming your way.
Allen wrench Hex Key set (mostly for some of the bigger stuff like M6 Hex nuts)
Tape Measure (again metric)
Smaller ruler (metric) for the places calipers can't reach
tweezers as there's a lot of small stuff happening
I like to use a metal deburring tool (also useful for post processing 3D prints)
ferules (comes as set with ferules)
lighter or small torch for crimping tubes
Soldering Iron station I doubt you'll get away without a single solder
If you plan on cutting your own extrusion a miter saw will do just fine. However don't count on your cuts to be exactly 90 degrees. If an off angle is not a necessity go at it. If it is I recommend ordering pre-cut to size from 8020 Inc or openBuilds.
One indispensable tool I build myself was a "magnet stick". Basically a m3 screw rod with a Buckey ball magnet at the end. It comes in handy when nuts or t-nuts drop into the extrusion where tweezer/fingers can't reach.
Keeps sharpies and pencils around for marking stuff.
I'm sure there's more, but these are all the "goto" tools for me that are all in my direct vicinity.
Step 8: Resources
You're not alone. Many have gone before and many will follow and most that did will are part of a huge 3D printing community that in most part is there to help you. Following are links to useful places to visit to find information and/or answers:
https://reprap.org/wiki/RepRap everything 3D printer
Join the 3D Printing group on facebook there's about 70,000 3D printing enthusiasts ready to help
For parts a good place to start would be Amazon.com
if you're patient and can wait a few weeks consider Aliexpress.com
For excellent aluminum extrusion, check out 8020 Inc
Ebay has a bunch of stuff so don't dismiss them (8020 has a discount store there as well)
For a lot of the fasteners, plastics and metal pieces, check out McMaster-Car
Following are some of the 3D printing vendors I have done business with
Filastruder.com (home of Duet Wifi and much more)
Matterhackers.com good for all things 3D printing
BuildTack.com if you want good bed adhesion and which can add magnetic beds to any printer with the and the Flex Plate System (I'm a huge fan).
For Software check out these places:
Marlin Firmware: http://marlinfw.org/
All things Duet: https://duet3d.dozuki.com/
PrintRun for operating your Printer from PC: http://www.pronterface.com/
OctoPrint will allow you to make any Printer wifi (with so much more): https://octoprint.org/
Best places to download designs to print (or designs for printers)
Instructables.com (oh, that right, you already found it).
Step 9: Few Final Thoughts
You can never have enough screws. There have been more than one occasion where I'm at the end of a build and I find myself 3 screws short. Sure there's an ACE Hardware not too far away but it hurts to pay $0.35 for a single screw when you get a 100 of those for the same price from AliExpress.com.
Not all of it is fun. I get a great kick from building 3D printers. What I don't enjoy is crimping wires. For some parts of the process you just have to bite your lips and march on through.
Build a 3D printer for the experience of the process. It teaches you all about 3D printer but it also teaches you, you are capable of doing anything. You're building a machine that operates in the range of microns. That's exciting stuff!
Ask for help when you need it. Join a local MakerSpace if you have one. Chances are, someone there can help you. Either with the building process or help you make parts for your printer (with machines like CNCs and Laser Cutters)
Most important of all: HAVE FUN.
If you want to dive right in, I have 3 instructables for three different 3D printers ready to build.