There are a lot of top ten lists, videos, and guides out there on what you should upgrade on your 3D printer. While I viewed many and installed many as well, I often got the impression that some people were just trying to fill a quota of sorts. Maybe they wanted it to be a Top Ten list so bad that it had to be 10 items. Perhaps they were reaching for a video oh-so-many-minutes long. I don’t know.
There were times during my research into 3D printer upgrades where I felt like I was reading about trivial computer upgrades, like adding 4GB of RAM to a computer with 16GB of RAM already. (Yeah, I know thats not a practical example since RAM at those levels is in 8GB increments… tisk tisk). Let’s say upgrading your Internet speed from 300Mbps to 500Mbps. Most people who maybe have a gamer in the house, a few tablets, and a couple TVs running Netflix wouldn’t notice any difference. Plus the Internet company throttles your speed anyway and you are paying for something you never fully utilize.
Let’s get real.
I’m only going to give you the 3D Printer upgrades that will make the biggest difference to your printing experience; be it quality, ease of use, or whatever. These upgrades actually produce noticeable improvements, not something ‘just a little better’ or convenient.
This list is fairly short, because everything else is pale by comparison. Also, the list is mainly for the folks who don’t buy top-of-the-line equipment. This is for the layman, Mr. Budget Printer. Ender, Aquila, Chinese Clones, Kit-Builders and the like. Other upgrades may be nice, but not game changers. Let’s change the game.
Automatic Bed Leveling
Whether its with a CR Touch, BL Touch, or Chinese knock off 3D Touch (Seems to work the same at 1/10 the price), adding a bed leveling sensor is probably the single most important upgrade if your printer doesn’t do it automatically. Nothing can make you lose interest in 3D printing faster than having to spend 15 minutes every three or four prints leveling your damn bed. Bed leveling sensors don’t actually level your bed. Instead, they take several measurements of the entire bed surface right before each print if you put it in your G-Code. I have it in my Cura profile for my printers so it’s always there in every slice. The system then uses these measurements to map out your bed. If the bed is a little low in one spot, the Z-axis will compensate in the one spot. So actually your bed can be a little uneven and the printer will make up for it by laying down the filament a little lower or higher here and there.
This goes hand in hand with upgrading your bed leveling tension springs since better springs or silicone spacers will hold the bed at the last leveled position for a very long time. You may still need to level your bed once in a great while. Mainly you would be manually leveling it when you make a change to the equipment, like when you change nozzles, upgrade your hot end, take the printer apart...yada yada.
#CommissionsEarned - As an Amazon Associate, I earn from qualifying purchases.
Heatbreak For Your Hotend
Not to be confused with an ‘All Metal Hotend’. You can have an All Metal Hotend and still not have a heatbreak. A heatbreak is what your bowden tube feeds into. A heatbreak doesn’t allow the bowden tube to go all the way down to the heater block. This is very important even if you have high temperature Capricorn PTFE tubing. This is crucial if you plan to print using ABS, TPU, or other filaments that require temperatures over 230 degrees Celsius. With standard bowden tubing, the tubing itself begins to char and cook at high temperatures. Not only does this release toxic fumes, it causes clogs.
The main reason you want a heatbreak is to prevent clogging. Since the filament doesn’t heat up inside the tube when a heatbreak is used, it doesn’t expand and clog the tube. This can be critical during a power outage, because when you suddenly cut the power to a hot piece of metal you have something called thermal runaway. Heat rises, I think we mentioned that before. If the cooling fan is off, heat will rise up the hotend and melt your filament inside the tubing. Even with a direct-drive system this can happen. As a side note, most Direct Drive systems still use a small section of bowden tubing between the hotend and the extruder to connect the two.
Clogged nozzles really suck. You have to get out your tools, remove the hotend shroud, remove the nozzle and replace it (I mean you can use that little wire to unclog the nozzle, but I got like 50 nozzles for $5… ain’t nobody got time for that.), often cut off a little bit of bowden tube and reinsert it, reassemble everything, feed your filament back through… hell no, I ain’t got time for that.
Note: Although I've linked one below, the throat comes in different sizes for different hotends. You should measure the one you have currently and buy the same size.
Many printers only have a stepper motor to raise and lower the Z-axis on one side. At first this seems fine. But it has many drawbacks. First, it puts a lot of stress on the side with no motor. The gantry wheels have to be tighter and that wears the rubber on them down. They are not expensive, but replacing them and realigning everything is time consuming. The Z-axis will also eventually become skewed where one side is slightly higher than the other. No amount of bed leveling will resolve this. Your prints will just be jacked half the time.
If you plan on going to direct drive, you definitely need to have dual-Z because of the extra weight putting the extruder stepper motor on top of the hotend. However, direct drive is NOT on this list as a game changer type of upgrade.
Mainly you want dual-Z for consistent even printing. There is the added benefit of less stress on a single stepper, and the ability to probably print a little faster.
Silent Stepper Drivers
Ok, this one you probably already have. Most newer printers have this by default. But, if you are like me you may dare to buy older model used printers. (I got an original Ender 3 clone for $61 with free shipping, and it looked like new.) Once you have the basics of how a 3D printer functions, you will find they all pretty much work the same. Many of them use the exact same parts. But older printers are very noisy if they have old stepper drivers.
What are stepper drivers and how do they work?
Well, thats a long and complicated topic. Basically they are just little computer chips on the motherboard of your printer. Older ones make the motors noisy, and I mean really noisy. Newer ones like the TMC2209 make the very same motor ultra quiet and use less power while running faster and printing smoother.
If you have an older motherboard in your printer, it’s best just to buy a 32-bit board with built-in 2209 drivers. That’s what I did for my Aquila C2. I got an MKS Robin E3 with built in silent TMC 2209 steppers. I do not recommend that particular board though. It took a lot of banging my head against the wall to get everything working on that board because it had not been supported for like 3 years. Instead I recommend these:
There are several tools available for managing your printers so that you can do such wonderful things like not using a freaking micro-SD card to transfer files to your printer, remotely monitoring your prints with a webcam, stopping prints if they start going crazy making plastic spaghetti, and much more. I choose OctoPrint because it has a very easy to setup, has a lot of support and add-ons, and it is free. Free is very important to me. Did I mention it is free?
Running OctoPrint means that your 3D printer is now on your home network. You can get on any computer, tablet, or even your phone and see how things are running. No more waiting by the printer for hours like a parent making sure their toddler doesn’t have an accident in the bathtub. You can be the parent who goes to the bar and do shots while your toddler is safe and sound. Maybe that isn’t the best analogy, but you get the drift.
OctoPrint requires a spare computer dedicated to the task, … well sorta. What I mean is that you really want a computer dedicated to the task. Using your main laptop or desktop can be problematic if the computer goes into standby, is shut off, or another user logs you out. The computer is sending a constant stream of G-Code data to the printer and should not be interrupted. Most budget friendly 3D printers connect via USB cable, so the computer has to be close to the printer as well. Although silent stepper motors make things a lot quieter, fans are still noisy if you are right next to them.
Just about any old computer you have laying around doing nothing can be your OctoPrint server. You can use an old laptop, and old desktop, or a simple SoC computer like a Raspberry Pi. Getting your hands on a Raspberry Pi can be a challenge because there was/is a microchip shortage and people love to scalp them as soon as they become available and jack the price up 400% and put them on Amazon or eBay. Raspberry Pi clones (Orange Pi, Rock Pi, XYZ Pi) are often buggy, have weak or no support, and I wouldn’t recommend them. If you are patient, you can go to the official distributers of the Raspberry Pi listed on the official website and sign up to be e-mailed when they are back in stock. But when they e-mail you at 3:00AM that they are back in stock you better be submitting your order by 3:15AM or they will be gone. That’s what I did, and I own seven of them. At the time I bought them, I used them for other purposes. I use a single Pi 4 to run my all my printers, and the other 6 are for other projects.
If you can’t get hold of a Raspberry Pi, your next best option is an old laptop running Linux. A laptop is even superior to a Raspberry Pi because it has a built-in backup battery. If the power goes out, your server stays up. My Raspberry Pi is plugged into a backup battery system (UPS), as well as my modem and router. Even a laptop with a weak battery that only lasts 5 minutes unplugged can last hours with the screen off and the lid closed running as just a simple terminal server. It’s the screen that eats up your battery. Once it is setup, you can completely disable the display, the Wifi (if you use an ethernet connection to your router), Bluetooth, GPS, etc.. When you disable all those unneeded systems, that laptop with the junky battery uses very little power.
But Mr. Wyqid, I don’t know how to use Linux!
You got me there. But if your old computer still has a working copy of Windows on it then I would suggest you uninstall everything you can and just run OctoPrint on it. Problem solved.
Linux is not for everyone. Although installing Ubuntu and OctoPrint is pretty straight forward these days, trying to customize it further is pretty challenging for most people. But, if you are only going to use it for OctoPrint there are some automatic installers that make setting that up pretty simple, IMO.
I’ve been using Linux since Moses parted the Red Sea. I don’t use any desktop environment except on my MacBook, its all Linux terminal (i.e. no graphics, just text like MS-DOS). There are three laptops in my house running Windows. One belongs to my significant other, one belongs to my father-in-law, and one is my significant other’s work-from-home laptop provided by her employer. In the lab I have 11 (maybe 12...can’t remember) computers and one is running MacOs and the rest are running various flavors of Linux. Since it’s all terminal, I run all the machines from my MacBook. I’ll admit my setup is quite complicated with three routers, an ethernet hub, two firewalls, special port forwarding, multiple firewalls, MAC filtering, and special scripts. But I’m an old-skool computer engineer. My first hard drive used cassette tapes. The Internet did not exist, but there was a college network you could connect to using something called Lynx if I remember correctly. Graphics? Um… no.
One thing regardless, if you have a computer connected to your 3D printer, you will probably need a special USB cable. You can go through dozens of cables without finding one that will recognize the printer or stay connected. This is a known issue. After quite a bit of research I finally resolved this issue and will teach you how in an upcoming article called How To Build A USB Cable For 3D Printing.
Since OctoPrint (or Klipper, another free printer manager) is part of my essential upgrades list, it is only natural for a webcam to be on the list as well. Just reading the data and graphs on OctoPrint don’t tell you that a print has clogged the nozzle or is spewing out plastic spaghetti. You have to see it.
Pretty much any USB webcam is fine, and the Raspberry Pi can use either a USB webcam or a Pi Camera (Pi Cameras are more expensive but don’t use up a USB port and are usually 4K these days). Since my cameras are mounted on a little 3D printed arm attached to the side of the printer, 720p resolution is plenty good. When you are viewing from only a foot away, the resolution isn’t that important. I got lucky and found two identical Logitec C270 USB webcams at my local Goodwill for a few dollars each. If you are not so lucky, you can pick up an inexpensive USB webcam or Pi Camera from Amazon using the link below.
That’s it folks. 6 (7 if you count the silent steppers for older printers) items. All other upgrades are just perks.
There are some notable items not on this list. Here are a few and why I didn't categorize them as essential upgrades.
Bowden tube systems and direct drive systems both have pros and cons, and neither are significant. Retraction settings can be more cumbersome with direct drive. Plus, if you go direct drive then you almost certainly should upgrade to dual-Z. The extra weight can also increase the ringing effect due to vibration, which lowers the print quality. There are a lot of reasons I won't get into here. I'm not saying direct drive is better or worse, it's more of a personal preference. Below is an excellent video from Teaching Tech that covers the advantages and disadvantages of Direct Drive setups.
They are nice, but you don’t have to have it. The filament doesn’t have a problem feeding with or without one per say. That being said, I have a really sleek one I designed that uses a skateboard bearing and holds a filament runout sensor for both the Aquila and Ender 3v2 posted on Thingiverse. I have filament guides on all my printers, but it’s just a perk.
It doesn’t take long in the 3D printing arena to know if you got enough filament on the roll to complete a job. You can also weigh the spools when you first open them and write the weight on the roll. If it weighs 1.65kg new and it's a 1.0kg spool, the spool weights 0.65kg. Take your spool off and weigh it if you want to know exactly how much filament you have left. If it weighs 0.85kg, and was 1.65kg new… you have… let's do the math… 200 grams of filament left. Your slicing software should tell you in advance how much filament a print will take. I did install filament runout sensors because they literally cost only a few dollars. The sensor will tell OctoPrint the filament is out and stop the print. Thats nice.
The only real reason to upgrade the firmware of your printer is to add needed functionality. If the stock firmware doesn't support your BL Touch bed leveling sensor, then you need to upgrade it. That goes for any new hardware. But upgrading firmware just to add pretty icons or a make the menu more complicated than it has to be is pointless. If you manage your printers with OctoPrint or something similar, you won't be using the control panel much except to raise the Z-axis to clean the bed or to preheat the nozzle when loading or removing filament (and honestly you can do all that from within OctoPrint. You don't even need a control panel display on your printer). You have more control via OctoPrint with various plugins than the display can offer. I do use my manual control panel, because I'm standing at the printer removing a print to start a new one. Why run back to my computer to raise the gantry?
Did I miss something you think is a big deal? Let me know.