3d print

CR-6 Klipper Upgrade

As I was contemplating huge prints I started to look for quick wins to reduce printing times...

History

I bought a Creality CR-6 Max second hand and not printing reliably. It had all the usual problems you can read about for this model printer, enough that you may wonder why anybody wants one. Well the answer to that is the 400x400x400 build volume :-)

It's huge!

It had all the usual problems for this machine - hotend (clogging, lose screws), as well as guide wheels out of alignment, a lose frame, cables dragging all over the place, noisy fans, and weird belt tensions. It's a Bowden tube design, and shipped with a weak filament extruder mechanism that had been replaced with a metal extruder, but not a good one.

I spent about 20 hours identifying mechanical problems and correcting them. I removed the base panel to expose the power supply and improve cooling, and added a bimetallic throat to the standard hotend (Original design suffered terribly from heat creeping up the hotend and ruining everything after printing for a few hours). I replaced the filament extruder with a better quality (but still cheap) geared extruder. A shoelace and rubber band tensions the hotend cables so they don't drag on the print, and I replaced a few hotbed cable clamps that had snapped off.

The unit then worked a treat and processed lots of reels of PETG.

It's not a fast machine because it's big and heavy. I need to print some big parts, a few days each, so it was a good time to look at anything that could improve the print speeds - it's been many years since the original design.

Much of the machine can't be improved simply - heavy things are heavy. But there has been a lot of clever software advances, especially with accelerating heavy parts. It seems a move from Marlin firmware to Klipper would give these key improvements, as well as many other quality of life features (read more about the software here).

The CR-6 Max is not a particularly common printer, and not so many have been converted to run Klipper firmware, and far less have published projects with hints and tips. There are however a few CR-6 SE (smaller, similar) machines that have been converted.

It seemed doable.

It seemed fairly easy.

Nope.

Information was a little scattered, and out of date. I spent a couple of hours a day for a fortnight collecting information and making a checklist; 124 items :-( Working through them took ages. Often you could see someone had made an unusual choice for a configuration item, but you'd not know why. This is especially common as the people who make the move to Klipper like to dabble - so all sorts of after-market hardware mods could be in play. For each one of these situations I needed to check if the change was due to poor default selection or because someone had modded their machine. I also have a few major changes to my machine, and had to work out how these needed to be reflected in the configuration. I thought to enlist the help of a few AI models in their searching capacity, especially since traditional web search is pretty messed up at the moment (you get what the AI thinks you want, not what you ask for). Oh the fun to be had as google's AI invents documentation, and Perplexity writes configs based on fantasy.

As an aside a major flaw with LLM AIs is their incomprehension of tacit understanding. In terms of volume, 3D printing information is explicitly, or tacitly assuming that PLA is being printed. If you read a web site it is pretty obvious if this assumption is being made by the author. In AI land there are no such clues, and they spout off "facts" based on what they have scraped from people. The jolly AIs then put this junk forward as factual knowledge. Much time is spent adjusting prompts to compensate for AIs that are just not up to the task of natural language and human comprehension. I'm not convinced getting results this way was any quicker than reading sample config files and referencing the Klipper documentation. Certainly the errors the AIs made would cripple the efforts of someone who didn't have a fairly deep understanding in the first place.

One of the big hurdles turned out to be making decisions about how to approach operating the machine. It's smart to use a bed-levelling mesh - a way to compensate for distortions in a print bed using a probe and some fancy maths. Some people make a mesh every now and then, and assume not much changes. Some assume things change all the time and make a new mesh every print. As I have a big bed, with a few warps (because glass and aluminium and heat = lets move about), I need to make a mesh every print, but want to minimise making meshes as it's slow. Enter Adaptive Mesh. This fancy technique involves looking at the gcode for a print to work out where it will be on the print bed, and just probing and leveling that bit. Much quicker and easy to do every time. Because it's fairly new, and involves changes to code in many places, the AI assisted searching was very very poor. Add to this that the AI started making up information which was even more disappointing. Back to the doco for this. I found that a bunch of system changes were needed, and got there in the end, removing all the manual bed levelling code and macros, which was great. I was super happy when the machine finally announced it was doing a subset of probing (3 x 3), and concentrated on where I was printing rather than the 81 x 10 matrix it wanted earlier!

So after all the work, I'm printing 17% faster.

I've more tuning to do, need to fit an accelerometer, and adjust pressure in my tubes(!), but off to a good start!