Turning the Ender-3 into the “perfect” desktop 3D printer

Zayn Rashid
9 min readJul 31, 2021

3D printers suck right now.Instead of being utilitarian as the name a “printer” suggests, getting one that’s sub-$1000 will generally turn it into more of a hobby instead. Constant repairs and maintenance are needed to keep them running, especially when you own a dekstop printer any less reliable than the Prusa i3 MK3 (currently my favourite printer). This tech is fairly young within the consumer space, and desktop FDM printers have so many moving parts and breakable components that even the smallest user errors (things like turning off the printer while it’s hot or not levelling the bed within 0.3mm of accurate) can cause serious issues.

A few months ago, I set out to modify my Creality Ender 3 to fix some of these issues and get the printer to a state where its ease of use and reliability rival that of the Prusa i3 MK3s, with some extra quality-of-life features like cloud printing and of course the automatic printing system I previously developed.

Ideally, the total cost would be far lower than that of the Prusa i3, and would provide a similar experience. The end result of this project would also have ideally been for the ease of use of the printer to reach a level where my 10-year old sister can easily start and remove prints from my printer wirelessly, using her own laptop (think how a desktop paper printer might usually work).

Instead of going straight to the end result, I’ll first take you through a list of all the upgrades I chose to make to my printer and why I selected each one.

The upgrades:

1. Bed leveling — the bane of most sub 3D printer users’ existence. It’s tedious, a little bit difficult, and in my case can be the most common cause of print failures. As a temporary solution I had bought silicone bed springs for my printer to hold the level I set for longer, but it’s still far from perfect. I planned to fix this through adding a BLtouch to my printer — it’s a touch sensitive sensor that you attach to your cooling shroud that taps a number of different points across the printbed before the print and then uses a technique called mesh bed levelling to adjust the nozzle height on every layer while printing to maintain a perfectly level layer. This will improve the reliability of any printer tenfold — the start of a print always tends to be the most dangerous, mostly due to these problems the BLtouch fixes.

2. Cloud printing—with most modern printers the process of starting a print, involves the process of going to your computer, plugging in your SD card reader, preparing your Gcode through your preferred slicing software, saving the file to your SD card, and taking back over to the printer, before clicking on the Gcode file you generated and watching your print and praying it works. Besides the watching your print and hoping it doesn’t fail part, this isn’t much of an issue, but convenience is a big plus — especially when printing as much as I do (almost constantly). Cloud printing is pretty simple — connect some sort of computer (most often a ~$50 Raspberry Pi but in my case a spare PC) to your printer, and use it to wirelessly transfer Gcode files from your main computer to your printer, therefore allowing you to remotely start prints. This may sound lazy (and honestly, it is), but for many (including myself), this added convenience can help a lot with their workflow, especially with the added advantage of being able to run your printer remotely.

The manual printer control interface I use to heat my printer and manually move the axes during maintenance

3. Print monitoring — this is yet another quality of life feature that I decided to implement. Attaching a $10 webcam I found on Amazon to my printer allows me to monitor my prints remotely, and when combined with cloud printing can allow for me to run most of my printing workflow remotely, while also being able to check on the print away from home and stop it if there’s a major error, or if the print quality is bad enough to warrant cancelling the print. This also allows me to use AI-powered print fail detectors like the Spaghetti Detector, to stop failed prints before I even check to see that they’ve failed!

Said “spaghetti” the AI would be detecting

4. Power — being able to stop prints remotely is not only useful in terms of preventing the hassle of having to clean up bits of filament and conserving filament, but also for the health of the printer. Further, being able to cut the power to it remotely acts both as a great failsafe if my cloud printing software isn’t working but also acts as a way to preserve my power supply and my printer fans’ health. To allow for this, I connected my printer to a $10 smart plug I got off Amazon, which I connected to Google Home and then added a toggle to my phone’s power button menu to allow me to quickly turn the printer on and off.

5. All-metal extruder — as you may already know, the extruder on an FDM printer is the housing and gear that feeds the filament into the hotend, usually through a PTFE tube and a heatbreak before it melts in the nozzle, and gets extruded. The Ender 3 comes stock with a plastic extruder, which has proven unreliable for me and many others, especially when printing flexible filaments (TPU, LLDPE, HDPE, etc.). Getting an all-metal hotend fixes these issues, and allows for filaments like these to feed more reliably. It also allows for me to print at higher speeds without the extruder gear losing grip on the filament and under-extruding filament.

The all-metal extruder I installed to replace my old plastic one

6. Capricorn PTFE/bowden tube — the PTFE tube on bowden-style 3D printers serves a much more important purpose than one might think. Basically, the filament has to pass through the tube on its way to the nozzle. However, if not insulated correctly, a bad quality heatbreak and PTFE tube can allow heat to creep from the hotend into the tube, melting filament prematurely and thus causing jams. The only two solutions to problems like these (I had these issues for a period of time) are to upgrade your cooling fan or to upgrade your heatbreak and PTFE tube. Capricorn is known for their PTFE tubes having excellent heat isolation, so I made the switch and it reduced my jamming issues tenfold!

7. Enclosure — printing most exotic/strange filaments, or other normal but difficult filaments like ABS is virtually impossible without an enclosure. Differences in temperature between the printer and its surroundings can cause severe warping on prints, and I’ve found that given my bedroom’s conditions (where I keep my printer) I just can’t print anything besides PLA, woodfill PLA, and other easy filaments without an enclosure. To use as a temporary enclosure, I use a photo tent to fully enclose my printer and maintain a consistent temperature all around it — this eliminates my warping issues with other filaments, and it’s easy to take off and put back on when switching between my default PLA and other filaments.

8. Automatic printing — a few months back. I developped a fully automatic printing system for my Ender 3, mainly for the purpose of being able to keep prints running almost constantly when I’m away from home. I was able to build on this system with my cloud printing additions to be able to even manually remove prints if I need to, through pronterface and remote desktop software, in addition to the added benefits of being able to monitor the success of each print, the success of the print removal, being able to check how many prints have finished so far, and being able to create and send the automated Gcode to my printer remotely.

Timelapse of the fully automated print removal system — see full article for more details

9. Magnetic PEI Buildplate — when I first got my Ender 3 I had a number of issues involving PLA plastic either sticking way too much or way too little to my buildplate. Many prints were impossible to remove in one piece and as a result were pretty much ruined. I eventually replaced this with a glass printbed — this produced better results, but not nearly as good as those produced using a PEI buildplate. It’s flexible, and attaches to my printbed using a magnetic backing that keeps it in place while printing but also allows me to remove it after printing. Much like with all Prusa FDM printers, you can now simply bend the buildplate and have the prints cleanly pop off.

10. Other minor upgrades — I made a number of other minor (mostly printable) upgrades to my printer for some added quality-of-life benefits. To name a few:

  • Screen cover to block the screen’s light while I sleep
  • Fan mufflers for the power supply and main board
  • Cable chain to allow the bed to move back and forth more smoothly (plus it looks better)
  • Cover for the back of the LCD screen allow me to hold onto it while I use it without touching the exposed PCB
  • A filament guide on a ball bearing to keep the filament from snapping if it goes into the extruder at too sharp of an angle (this tends to happen with especially brittle filaments like Solutech clear PLA)
  • A thumbscrew belt tensioner to keep my printer’s belts at the right tension without having to unscrew the whole thing
  • Last but not least, a far smoother-spinning filament spool holder on ball bearings, which allows the filament to feed much more smoothly into the extuder, also preventing the spool (and therefore the printer) from shaking while filament roll spins— a common issue with the Ender 3’s stock spool holder
The spool holder and filament guide

The end result:

After putting together all of the upgrades over the course of the past few months, I finally got everything working together. The automatic bed leveling is 100% functional, and produces a great first layer every time, Octoprint is functioning perfectly to transmit Gcode files over the internet and monitor prints remotely, filament’s extruding reliably due to the bowden tube, spool holder, and extruder upgrades, and removing prints is as simple as peeling the magnetic buildplate off the printer’s bed and popping the prints off.

My printer can now be used much more like a desktop paper printer than ever before, all for only about $200 worth of upgrades. When added to the original cost of the printer ($200 retail), this makes up for a roughly $400 total cost, although keep in mind this is including shipping and bought through a middleman (Amazon). When buying these parts straight from the manufacturer in bulk (ideally what a printer manufacturer would do), the cost would be vastly reduced, to a point at which it rivals the reliability and ease of use of the Prusa i3 MK3s, while costing significantly less. I’ve also met my chosen benchmark of having my 10 year old sister be able to use the printer! She can now 3D print things for her school projects almost as easily as printing her worksheets out on our paper printer.

Overall, I’m very happy with the end result of this project. I’m now able to remotely monitor, start, and remove prints from my printer, while also hardly having to worry about it printing reliably. Things like this are what get me excited about the future of household 3D printing, and how popular it has the potential to become in the near future.

If you have any thoughts, comments, or questions, send me an email: zayn.rashid@gmail.com

Feel free to reach out on LinkedIn,

and sign up for my monthly newsletter!

--

--