Good day readers, in today’s article I will be showing you how I upgraded my old Folgertech Prusa i3 Acrylic to use T8 Leadscrews instead of the stock 5mm threaded rod included in the kit.
So. you might be asking yourself, “Why should I upgrade to leadscrews?”, here are some reasons why you should make the change:
- Smoother Z axis motion
- Little to no Z banding
- Stronger and harder to bend
- More precision and accuracy
- Better looking prints
In my case, my Prusa was suffering from a lot of Z banding because both of the rods were bent, which led to many lines and artifacts showing up on the layers of my prints. This sometimes went as far as to throw off the tolerances of my prints, which did not let me print extremely accurate parts. Because of this, I decided to move to leadscrews.
The whole process of converting the Prusa i3 to Leadscrews is not very complicated. You will of course have to buy some hardware, which you can buy on Ebay or on any other 3D Printer parts dealer (Such as Zyltech or Folgertech). There are also some 3D printed parts needed, and I will link to the files that I used below. Of course, you will need a working 3D Printer to print these parts.
So, without further a due, here are the parts that you will need:
Mechanical Parts Needed:
- 2x – 300mm T8 Leadscrews w/ Brass Nuts
- 2x – 5mm to 8mm Couplers
- 8x – M3 x 10mm Screws
- 2x – 608ZZ Ball Bearings*
Printed Parts Needed:
- 1x – PM_i3_x-axis-motor_end_R2.stl
- 1x – PM_i3_x-axis-idler_end_R2.stl
- 2x – PM_z_axis_bearing_cap_608.stl (One needs to be mirrored)*
- 2x –PM_i3_Z_axis_bearing_holder_608 (One needs to be mirrored)*
Note: Parts with “*” are not used. I will later explain why.
The first step in this mod was to print all the parts. These parts were designed by the Phil_Maddox on Thingiverse. If you also enjoyed his design you can go to the things page on Thingiverse and either give him constructive criticism about his parts or thank him for his work (Also I am sure donating to him will also help).
I used Zyltech PLA filament to print these parts, with the first layer printed at 205C and all other layers at 200C. For the first layer I used a layer height of 0.3mm and a brim to stick the parts to the bed. I printed most of my parts at 30% infill with 4 walls on every side (Top, bottom and sides). These were also printed at the insanely fast speed of 50mm/s! If your parts stick properly to your bed, you can just use a skirt, but either way a brim helps it purge the filament and stick to the bed so I rather use it instead, mostly for those smaller parts.
After all the parts were printed, I looked through my parts bin to see what parts I had in hand and what I needed to purchase. When it came to the mechanical parts, I basically had everything, except for one 5mm to 8mm coupler, which I ended up purchasing from Zyltech. Other than the coupler, everything else I had in hand from old projects, which came in handy because I didn’t had to spend much money on it, but on average I think this project should cost a little less than $20 (If you don’t include the filament).
Assembly of the Modification
Now that we have all our mechanical parts, and our printed parts are done printing and cleaned up, we can move on to disassembling the Z axis of the Prusa i3. We start from the top by removing the screw holding the 8mm rod stopped. This part is better done by holding the M3 nut with needle nose pliers and then unscrewing it from the top with either an Allen key or a screwdriver with the proper bit.
After removing the top z rod stopper we can set it aside since we will be needing it later. We will do the same for the other one on the right side.
After removing both top Z rod stoppers, we can focus on the left lower side of the Z axis. We can use the Allen key to loosened the grub screws holding the 5mm threaded rod. This is accomplished by loosening the two top grub screws. After the rod was loose, then we loosen the bottom ones which attached the coupler to the 5mm shaft of the stepper motor. We will repeat the same steps for the right motor coupler.
Now that the coupler is detached from both rods, we can start the full disassembly of the Z axis. First, we can slide out the 8mm rod through the top, leaving the left side of the z axis only held together by the threaded rod. Then, we can do the same for the right side. Remember to remove the Z endstop from your 8mm rod.
Now, while holding the X axis by the 8mm rods with one hand, we can unscrew the 5mm threaded rod from the left end of the Z axis. Keeping in mind not to let go of your X carriage or it can fall down and damage your printing bed.
After removing the 5mm threaded rod from the right side, in the same manner as the left side, the X axis is finally free from it’s prison.
Now we can start taking apart the X axis in order to replace both ends. We begin by disconnecting the endstop wire in order to have more room to work with. Then, we can focus our attention on the left side of the X axis, which for me contains the idler of this axis. The idler side contains the bearing that allows the GT2 belt to loop around. This can be removed by unscrewing the M3 screw from the back side of it.
After the screw is off, we can remove the idler bearing and set it aside along with the M3 screw and nut. Now our belt should be able to be removed now to make it easier manage. We can set the belt aside as well for now.
Now, we need to remove both of the LM8UU bearings enclosed within the idler side of the X axis. These are the ones that slide across the previously removed 8mm Z axis rod.
These linear bearings tend to pop out easily when pushed from either one of the sides. When taken out, these bearings need to also be set aside for later use. After this step, we can remove the M5 nut from the idler side and now you can decide whether you want to throw this printed part away or save it. I would keep it around, along with the M5 nut and threaded rods just in case.
Now we can slide out the X carriage from the two 8mm linear rods. We can just set it aside for now as we will need it later on.
Now we can focus on the stepper motor side of the X axis. First we need to remove both of the two 8mm linear rods from it and also set them aside.
After removing the rods, it is now a matter of removing the screws from the x axis stepper motor and setting both of them aside. After that, we can remove the two LM8UU bearings from the printed part as we have done before with the idler side. Set both of them aside too.
With all the parts of the X and Z axis removed, we can start focusing on the new parts. Take both the X axis idler and motor end and place a brass T8 nut on each of them, with the the longer threaded end facing inwards within the part and the shorter end facing outwards. Then, you can fix the nut to the printed part by using 4x M3 x 10mm screws, do this for both ends.
Now we can take the LM8UU linear bearings that we removed from the ends before and pop them into the holes. If the holes are too tight, I would recommend sanding the inside of the holes until they fit snugly but that does not take a big amount of force to put them inside.
Now will also be a good time to put back in place the idler bearings. Using the same idler bearing, M3 screw and nut put the idler bearing in place.
Now we will focus on the motor end. We will put it back into it’s place by using the same M3 screws that it had previously.
It is time for us to place back both of the X axis 8mm rods into the motor side end. Then, we will slide the X carriage in place, finishing by adding the idler end to the other side of the X axis. Basically, are putting the all the parts of the axis as they were previously before we tore it apart. Don’t forget to put your endstop in the same way as it was before and connect it’s cable to it.
It is time for us to add the belt to the X axis carriage by attaching one side to the X carriage’s back. This belt we can then loop around the pulley on the stepper motor and then do the same on the idler side. Now we can pull the belt tight and insert it in the back of the X carriage, making sure it has good tension.
Now we will take the whole X axis, and we are going put the X axis in the position that it was before. First, we are going to slide one of the Z axis 8mm rods through the top left hole, that same rod we are going to slide through the linear bearings hole in the left side of the X axis. This will allow us to fix the X axis to one side of the Z axis. Now do the same for the motor side of the X axis. Remember to install and connect your Z endstop again.
We move on to adding the 5mm to 8mm flexible couplers to the Z axis stepper motors. This is done by spacing the bottom of the coupler about 5mm from the acrylic part. You can use the previously removed acrylic rod stoppers to space the couplers. For now we will only be screwing on the bottom grub screws in the coupler so we can attach both couplers to the motor shafts.
Now for the installation of the new leadscrews. We will start by sliding the left leadscrew through the hole at the top left, then threaded it through the brass nut until the end of the leadscrew is above the spring of the coupler. From there you can just tighten the grub screws in the coupler to secure the leadscrew to the coupler. Do the same procedure to attach the right leadscrew in place.
With the Z axis is in place, we can go ahead and place the Z axis rod stoppers at the top of the left and right sides, this will constrain our 8mm rods so they will not go anywhere.
And congratulations, you are done with the mechanical build. Pad yourself in the back because the hardest part is done. However, the build is not done yet. We still need to modify our firmware in order for it to properly use the T8 leadscrews and after that we need to calibrate our Z axis and level our bed.
Modifying the Firmware
Since our leadscrew is different in size and pitch to our 5mm threaded rod, when a full rotation of our leadscrew occurs, it will move the Z axis a difference amount in mm in comparison to our threaded rod. Because of this, we need to change the amount of steps per milliliter for our Z axis. This is done by modifying our printer’s firmware files.
This will be the same process whether you are using the original firmware that Folgertech provides or a different one. You can find the original firmware for the acrylic Prusa i3 here.
First, download and decompress the “Marlin_RAMPS_EPCOS_i38” (With original firmware only) compressed file and then with Arduino 1.0.6 (or latest Arduino, in this case needs to be 1.0.6 for the older original firmware) open the file named “Marlin_RAMPS_EPCOS_i38.ino”.
Once opened, you will see a tab named “Configuration.h”, click on that tab. Now we will scroll down until we see the line that says:
Which we will change to:
What this line gives us are the values for the Steps/mm. Which means how many steps does our stepper motor has to move in order for it to move 1mm. The value of 400 steps per millimeters for a T8 leadscrew.
Now, it is time for us to connect our printer to the computer through the USB port. In order to be sure that our Arduino will flash properly, we will first make sure that our board is selected on the Arduino IDE. Head over to Tools > Board and check that Arduino/Genuino Mega is selected.
Now we have to check if our board’s port is selected. Head to Tools > Port and select your serial port from list.
Now click the arrow at the left top corner of the window (The one pointing towards the right) in order to flash your printer’s board, and that’s it! You have successfully flashed your newly configured Marlin firmware to your printer with the your new Z axis steps/mm values. Now it’s time for calibration.
Calibrating the Printer
I will not go into a lot of detail when it comes to the calibration part. We just have to make sure we that both of the Z axis towers are leveled and that our bed is leveled. The reason why I will not go into a lot of detail in this part is because most people have already done this more than once, and the steps are detailed in the printer’s instructions.
In order to level your Z axis, what you need to do is take a ruler or calipers and measure one side (let’s say the left one) from the acrylic base of the Z axis where the stepper motor is screwed onto, to the bottom of the idler end. With that measurement, you will do the same to the motor side and see how off is the other side in comparison to idler side. To adjust the distance from the base, you just need to turn the leadscrew by hand. Be sure to turn it slowly, or you could end up generating enough current to move the other stepper motor and throw off your measurements.
To level your bed, you first need to home your Z axis and tweak the distance of your Z axis endstop so when you home your printer, the tip of your hot end will be a piece of paper away from the heated bed. You might have to home and adjust many times to achieve the desired distance from the bed so be patient on this step. Then, you have to make sure that at every corner of the bed, your hotend tip is a piece of paper away from your bed. To do this, you have to turn the small thumb screws under your bed until you reach the desired distance in every corner.
If you have successfully gotten to this point, then congratulations, you are finally done! Now you should attempt to do a print and see the results of your effort!
Let me know what you think of this tutorial. If you have any question regarding any of the steps, please leave them in the comments below.
Now, regarding my issue with the 608ZZ Ball Bearings, the printed parts PM_z_axis_bearing_cap_608.stl and PM_i3_Z_axis_bearing_holder_608. My issue was mostly with the printed parts. The problem was that the holes in the part for the M3 screws did not align with the ones on the acrylic parts. This issue basically rendered the whole thing useless for me. I also had issues with the caps not pushing into the top of the part because of super tight tolerances. I believe this was my fault as my printer seemed to be overextruding slightly when I was printing these parts. In any case, I was able to just use the acrylic rod caps and leave the leadscrew without bearings to guide it. I will eventually get back to it and see what was the issue.