Although issues related to Z-axis stability are not too dominant in 3D printing, fixing them might improve overall print quality. To explore the topic and find out if using belts on Z-axis can have distinct advantages, compared to more traditional screws, we will have a closer look at the design by u/kevinakasam. I'm going to guide you through the upgrade process, compare the print quality "before and after" and speculate a little bit on whether this particular upgrade is worth doing or not. Take my thoughts with a grain of salt as I'm not a professional hardware engineer, but I will do my best to describe my experience and back it up with relevant facts.
I did this upgrade as a fun experiment, and did not pursue any particular goals. If you are aiming to improve print quality, please consider all downsides of this project carefully. There is a good chance that printer maintenance and finetuning settings like S-curve acceleration or linear advance can provide more benefits for less effort. At the same time, I cannot say that this upgrade is useless by any means. There are several reasons why I expected quality improvements for my Ender 3 Pro in particular:
the printer has a heavy hotend assembly with dual part-cooling fans, leveling sensor, and direct drive with the full-sized extruder motor;
the leadscrew has not been cleaned for a long time, and the printer was in constant use without any enclosure;
Ender 3 printers have an inherently weak Z-axis design supported only on one side.
If you are curious about the print quality difference, my experience after a few months of using the printer with the upgrade, or further thoughts on pros and cons, jump down to the conclusions part. Otherwise, let's start from the beginning.
Before we start
First, I'd like to give a shoutout to u/kevinakasam for putting a lot of work into this design, constant improvements, and sharing the models completely free of charge. His dedication deserves a lot of credit, regardless of whether you are planning to upgrade your printer or checking it out to explore possibilities.
Furthermore, there are few things that despite being obvious are also worth mentioning:
- As specified in the project disclaimer, this is not a professional design, and there is a good number of arguments against it. You will have to decide yourself whether the benefits outweigh the downsides. I will try to provide enough further details to give a solid foundation for your decision.
- The source design is limited to the printers with a direct-drive setup as we will be replacing the plate, which usually holds the extruder on the frame. Theoretically, it shouldn't be too difficult to modify the source model to circumvent this limitation, and it seems like the author is going to address the issue soon. Still, at the time of writing this article, neither the current version (v3) nor fan modifications will suit printers with extruders mounted on the X-gantry.
- The project implies relocating the PCU. It shouldn't be a big deal, there are plenty of printable modifications for this purpose, and I will provide links for the one I chose.
- I advise not to use PLA for the printable parts of this upgrade. You can easily break one of the parts during installation, and to print it again, you will have to assemble your printer back to the original state. I would guess that it is quite possible to complete the project with PLA too, but if you decide to risk it, go with version 2 of the design (without belt tensioner) as I managed to crack the first exemplar of tensioner housing, even though it was printed in PETG.
I experienced a slight inaccuracy in the list of parts you need to purchase for this upgrade, especially when it comes to M3 screws. The author is still working on improving instructions and the design itself, so be sure to refer to the latest available guide and use my list only as a reference.
I have bought everything except the aluminum rod on Aliexpress, and the total cost of the upgrade for me came around 30 euros, excluding filament. Perhaps, you can get the rod on Aliexpress too, but given the price of under €3, it is easier to get one in a local hardware shop. I am including a few more screws for the new PSU mount, which are not required but will make sure that the mount sits firmly in place.
So, for this upgrade we will need:
- 20x M5*8mm screws (3 of these 20 intended for the PSU mount)
- 6x M5*40mm screws
- 4x M5*30mm screws
- 20x M5 T-Slot Nuts (3 for the PSU mount)
- 9x M3*8mm screws
- 2x M3*12mm screws
- 4x M3*20mm screws
- 4x M3*10mm screws
- 10x M3 Nuts
- 4x 608zz bearing
- 4x F623ZZ 3*10*4mm bearing
- 3x 2GT 20 teeth 8mm bore pulley
- 1x 2GT 16 teeth 5mm bore pulley
- 1x 2-meter 2GT 6mm Belt
- 1x 2GT 6mm x 188mm belt loop
- 1x Nema17 4 to 6 pin 1-meter extension cord
- 8mm diameter 40 cm rod
- about 22 cm of wire for the new PSU grounding (not required, but highly advised)
The items highlighted in bold were either missing or differ from the original instructions I was following.
The full printing project is available at https://printlike.me/u/printlikeme/project/41/gallery
The parts we will use for this project include:
Upgrade design (version 3) by u/kevinakasam
All these parts can be printed without supports, but I used brim for the top mounts as the contact surface for this orientation is rather small. My project does not include the Z-endstop part. If your printer has one, you will also need to print the adapter.
Motor transmission by VoronDesign
VoronDesign is a team that works on DIY kits for assembling 3D printers. They are doing an amazing job, and I encourage you to explore their website for inspiration. In this project, we will be using a small part of their design for the reduction drive, which also makes sure that the X-gantry does not fall when the stepper motor is turned off.
I would advise printing the motor mount with supports for a nicer surface around the center hole.
Pulley flange tool by VoronDesign
Cable clips to secure Z-motor cable
I used version 4, but any other will do.
As an experiment, I used PrusaSlicer for this project. It did nicely, but I had to fall back to using Cura for the PSU mount as PrusaSlicer still lacks in finetuning support placements.
Currently, there are no assembling instructions available for this design. The author promises to publish both video and text guides soon, and the steps I took might not match those instructions exactly. Follow them at your own risk.
Before we start messing with the printer, let's pre-assemble the transmission wheel. First, we need to remove the flange on one of the 20x8mm pulley wheels. I printed the tool from the VoronDesign repository (you only need "hub puller a" and "hub puller b" parts). You can refer to the video instructions for the pulley tool usage.
Since the pulley is not designed for withstanding big side loads, the flange comes off quite easily. I temporarily used one of the M5 screws and a 20mm M3 screw for the hinge. You can even use the tool without an M5 nut by holding it firmly and pressing the screw head against a plain surface. We will not need the flange for our assembly, and you can throw it away.
Insert the pulley into the printed 80 teeth gear and secure it from the other side with 5 M3*8 screws.
At this point, it is also worth checking how 8mm diameter pulleys sit on the rod. In my case, the rod fitted nicely into the 608zz bearings, but the pulleys were so tight that I couldn't put them on. Luckily, I have the right size file to fix the issue. It is only a matter of around 0.2mm, but making sure that the pulleys can move freely on the rod will save a lot of time later on.
Now, let's disassemble the printer.
1. Start with removing the filament holder if you have one.
2. The original Z-motor cable is too short to reach the location on the top of the frame, so let's remove the control box cover and replace the cable with our 1-meter extension. Test the cable, paying attention to the motor rotation direction. Some cables have different pin wiring, which results in reversed motor rotation. Assemble the control box back.
3. Unmount the PSU. I put it on the printing table to use as a rest for the X-axis extrusion during the next steps to avoid unnecessary load on the nozzle and the hotend in general.
4. Unscrew the plate on the side of the Z-rod. I will call this "the right side" as we are working with the printer facing away from us for the entirety of the project. Remove the motor from the printer.
5. Now we can finish the transmission assembly. Put on 5mm bore pulley on the motor. When I was initially making this assembly, the pulley was missing in the parts list, so I used 20 teeth 5mm spare one. It worked fine but needed different steps/mm setting (will cover settings at the end of the guide). I ordered the correct pulley later as it seems to give better precision, and I like that it results in the same steps/mm value as the leadscrew setup. Put two M3 nuts in the slots of the tensioner handle and attach the handle to the motor with 4 M3*8 screws. Secure the handle and the motor mount together with 2 M3*12 screws but don't tighten. The motor needs to be able to go up and down against the mount. Put on the belt loop and the tensioner knob.
6. Prepare the bearings parts. The bottom bearings use M3*20 screws as axes, and you can skip setting them in place now as it will be more difficult to pull the belt behind them later.
7. Secure parts on the top of the printer frame. Place the motor mount with the motor facing left and use 5 M5*8 screws and T-slot nuts to hold it in place. The exact position does not matter. I have put mine slightly to the right to have enough space for the spool mount on the left. Use M5*30 screws to secure bearing assemblies from the top and M5*8 screws and T-slot nuts from the front.
8. Put the bottom bearing mounts in place. This is the most finicky part since you need to support the T-slot nut in place from the bottom, tighten it the right amount and move the caret down carefully. After that, secure it along the bottom extrusion with another set of screws and T-slot nuts.
9. Insert the rod. Make sure you have the belt loop on as the 80T transmission wheel sits very close to the printer frame, and you might not be able to put it on later. You can tighten the grub screws on the 80T wheel through the designated curved opening in the front. Don't tighten the grub screws on the side pulleys yet. Make sure that the belt loop is under a good amount of tension using the printed knob on top, but don't overdo it to the point of skewing the motor mount. Tighten the M3 screws that hold the motor and the mount together.
10. Cut two timing belt pieces. I measured them to be 88cm each, but you can easily make it 90cm. There will be enough space for a little safety bit. Secure belts in the side plates using 2 M3*10 screws and nuts for each belt.
11. Install plates using M5*40 screws and printed spacers. I also took the time to clean the rollers. The right plate was designed to house an eccentric nut for wheel position adjustment, but that nut is shorter than the printed spacers. I cut one of the spacers and used the smaller piece next to the hex nut to keep it in place. You will need to unscrew the front left plate to be able to replace the original M5 screw hidden in the X-gantry. After assembling the X-axis back, adjust rollers with eccentric nuts. Make sure that the gantry moves without wobbling but is not too tight to result in flat spots on the wheels.
12. Loop the belts around the bearings on bottom and pulleys on top. Secure the bottom bearings. Insert tensioner blocks. Tension the belts using M3*20 screws from the top and nuts from the bottom.
13. After proper belt tensioning, you can tighten the top pulleys on the rod.
14. Replace the Z-endstop mount.
15. Install the new PSU mount. The mount itself is secured with 2 M5*8 screws and T-slot nuts. You can reuse the original mounting screws to place the unit in the mount. By design, the PSU is touching the printer frame for grounding. To make sure this is still the case after repositioning, I used a piece of wire and set it in place with the last M5*8 screw on the bottom frame.
16. Connect Z-motor cable and use cable clips to hold the cable in place.
17. Put the filament holder back on.
18. Adjust Z-steps/mm setting. If you used 16 teeth pulley on the motor, you will need it to be 400 steps/mm, and it should match the setting for the leadscrew setup. For 20 teeth pulley, I calculated it to be 320 steps/mm, and after a few tests adjusted it to 318. If you cannot adjust Z-steps in EEPROM, you can set the value by modifying start GCODE to include the line: M92 Z318.00;
You can check the full test prints gallery at https://printlike.me/u/printlikeme/project/42/gallery
I explicitly took the photos in the bright light to emphasize the layers' structure. I also tried to pick filament that is giving more prominent layers.
As for my subjective observation, I would say that the difference exists, but you need to look closely to see it. Flat walls surely look a lot better with the upgraded printer, while the 0.12mm calibration cube and the figurine don't seem to benefit from it all too much. There can be many reasons for the artifacts that remained visible on the calibration cubes, and I plan to do further research and post updates.
The dimensional accuracy seems to be on a high level, giving only minimal deviations between 0.2mm and 0.12mm layer height prints.
I am personally satisfied with the results of this experiment. But you probably should not rely on my experience only, and I would advise reading through this post's comments on Reddit.
I am going to give my take on the main arguments of proponents and opponents of this upgrade:
- It improves print quality. I agree that you can achieve the same or even better quality with leadscrew(s). Many people say that problems that are fixed with this upgrade come out of incorrect printer assembly or maintenance. That might be true, but I believe that for a non-professional 3D-printer user, belts will be less frustrating to deal with, especially if you get an unlucky printer exemplar with slight leadscrew or mounting defects.
- It is easier to maintain. Even though belts can attract dirt too, proper leadscrew cleaning and greasing is a tedious procedure, and it needs a substantial amount of time and effort.
- Backlash or printing speed impact. I don't think that entry-level 3D printers like Ender 3 operate at speeds that can make these concerns relevant.
- Accuracy. The more sophisticated belt setup presumably has more room for dimensional errors compared to a leadscrew directly attached to the stepper motor. At the same time, after spending a little over a month printing with belts, I didn't notice any print size inconsistencies. I will be keeping an eye on this matter and will post updates if anything changes in this regard.
- Reliability. This is a serious argument that you should consider before doing the upgrade. The belts will wear off after some time and might snap unexpectedly. Regardless of whether it will happen during printing or not, the chance that the failure will damage other parts of the printer is high. You should be wary of this aspect, inspect belts regularly and keep a set of spare ones to replace them in time.
Is it a high-quality design?
I am very satisfied with the quality in general. All parts fit nicely, and tolerances are on point. The only issue I can think of now is the eccentric adjustment nut positioning. It is by no means a major problem, though, and perhaps it will be resolved by the upcoming changes.
What tools do I need to install the upgrade?
On top of the usual set of keys that comes with the printer I would advise to have a sharp knife and tweezers at hand. You might also need a saw to cut the rod to the right length.
Will the X-gantry fall on the printing surface when the printer is turned off?
The reduction mechanism makes sure that it does not happen. Given the proper belt tensioning, your X-axis should not move a bit when the printer power goes off. Worth noting, though, that it is easier to move the gantry down by hand now. It might be a slight factor during hotend inspections.
Will the quality of my prints improve?
There is no good answer to this question. My best guess is that the quality will not degrade. But you should be mentally prepared for the fact that your prints are not going to improve at all. At times it is very difficult to pinpoint the source of a problem, and this upgrade is not going to magically solve all your layer issues at once.
How long does it take to do this upgrade?
I would estimate the average time of performing this upgrade between 0,5 and 1 day. I had several unexpected drawbacks and managed to finish everything in one day, including taking notes and pictures. Of course, that does not include printing time, which you can estimate by checking the project on printlike.me.
That was everything I have to say about this project. Once again, big thanks to the author of the design and the VoronDesign team for making this fun experience possible.
Take care and happy printing!