Search This Blog

Thursday, July 4, 2024

I Just Cannot Trash Bin a 3d Printer

My Anycubic i3 Mega 3d printer cost nothing.  One of my son's friends was about to throw it in the trash, but my son suspected that I'd want the unit.  Maybe I could revive it, or at least scavenge parts from it.

Anycubic 3d printer

After rummaging through the parts collection that I was given, I finally had a nearly functioning Anycubic 3d printer.  It needed stepper drivers as they were missing for some reason.  Looking back, I really wish that I'd bought TMC2130 drivers instead of A4988 drivers.  The TMC drivers in my Creality Ender 3 Pro are much quieter than the A4988 drivers in my Anycubic.

At last, a fully functioning 3d printer brought back from the dead!  However, the print quality was terrible.  Layer lines were inconsistent.  There were droops when doing short bridges,  Then again, the issues seemed to be connected to cooling and the Z axis.

I adjusted the belts and replaced the linear bearings, a bit of a try-it-all approach.  X and Y improved with layer lines stacked straight on top of each other as they should have been.  The inconsistent layer lines thickness issue persisted.  The differences were tiny, but noticable.

I had not replaced the Z axis linear bearings because they were more expensive than typical linear bearings.  That's when I noticed that the ends of the X axis were tweaked inward as if the belt was drawing the two outer boxes together at an angle.


After completely disassembling the X axis and replacing the linear bearings, I reassembled it without the belt and lined the outer boxes up perfectly and added the belt and adjusted it.  Everything seemed fine but Z axis resistance seemed inconsistent.  I moved the Z axis by hand through full range and found that the Z axis lead screws wobbled which seemed to vary movement resistance.

I created a pair of Z axis lead screw bearing holders and installed them.  First, The Z axis coupling was fully loosened to let each rod go to its natural position.  The Z axis was moved through full range to detect any binding.  There was no binding; so, I tightened the couplings and verified again, by hand, that there was no binding.  Perfect!

At last the old Anycubic that was headed for the trash was functioning correctly.  Now, what to do with it?


First, I had to support the drooping cables with a retracting key fob.  Uncle Jesse mentioned using these in one of his videos long ago.  After adding a strong magnet to the retractor, I attached it to the cable and it worked well.


Next, the spool holder had to be addressed.


I found a design for a side mount spool holder on Thingiverse and printed it added it to the unit.

I had a Creality Ender 3 Pro that I really liked and the print quality was good; actually it was a bit better than the Anycubic.  I've always wanted to try Klipper, so why not put Klipper on Anycubic?

Installing the Klipper firmware onto my Anycubic i3 Mega was quite easy.  Just follow the instructions in the Klipper GitHub and connect a Raspberry Pi to the Anycubic and add a Anycubic config file to the Raspberry Pi and that's all there is to it!

I had an old Raspberry Pi 3A and a 5 inch LCD to use for running Klipper.  After creating an enclosure for the Raspberry Pi and LCD, I connected the Raspberry Pi to the Anycubic 3d printer and started it all up.


Klipper gets a lot of attention for speed printing like speed Benchy contests, etc ..., but that's not why I wanted Klipper.  I wanted Klipper because the settings are kept in a simple text file.  Edit a setting without recompiling and reinstalling firmware and you'll never want to go back to the old way of doing things.  

Opening VSCode and using PlatformIO and editing a C header file, compiling, placing the bin file on an SD card, rebooting and waiting to see if everything worked is a pain compared to just editing a config file.  Besides, if you make a mistake in your config file and save it, Klipper will let you know where you goofed; so, just go back to the config file and undo the changes.  The Klipper GitHub even has an Anycubic config file, so you can just use that if you make a huge mistake in editing.




I'm not entirely sold on Klipper.  I like the editing convenience, which is why I installed Klipper.  I like that it makes experimentation easy.  Do you want input shaping?  Slowing down when approaching corners?  More precise acceleration control?  Easy, just add a line in the config file.  No need for lengthy recompiling and anxiously waiting to see how things worked out.


The only thing that I don't like about Klipper is that it is a separate control part of the 3d printer.  However, it is nice to be able to directly send prints to the Anycubic using WiFi.  I may even add a camera for remote monitoring prints in progress.  Maybe I should tie in my Raspberry Pi power to the Anycubic so that one switch turns everything on.  It'd feel more cohesive.  Maybe I'll try printing a speed Benchy.  That's what I like most about Klipper, maybe do this or maybe do that is easy compared to using Marlin.