Sunday, October 30, 2016

Installing a Bondtech QR extruder on my Rostock MAX V3

It's no secret that I'm a big fan of the Bondtech QR extruder. The big advantage these extruders have over others is that they use driven counter-rotating drive gears to push the filament. That simply means that the filament is being pushed from two sides, powerfully, unlike most extruders that have a single drive gear attached to a stepper shaft and a pressure idler on the opposite side of the filament. This dual drive gear system generates a huge amount of torque and the geared (standard 5.18:1 geared Nema 17) stepper provides better than 450 steps/mm extrusion resolution.

It was only a matter of time before I installed a Bondtech QR on my new SeeMeCNC Rostock MAX V3. The install was straight forward and almost a drop-in replacement for the stock EZRstruder using the simple Bondtech QR Rostock MAX V3 mount I designed (get a copy of the STL here).

Preparing the Printed Mount

Print the mount with three perimeter and three shells (top and bottom) with 50% infill. The hole in the narrow edge is tapped for an M3 cap head screw to secure the stepper motor. Make sure your stepper fits into the large round hole and sand or scrape the bore until it fits if not.

Installing the Bondtech Q3

Turn off your printer the remove the top cover and disconnect the EZRstruder connector from the RAMBo. Then remove the side plate that the EZRstruder is mounted to, the entire plate and extruder should come right off. Remove the EZRstruder and save the two mounting screws and nuts. Attach the printed mount using these screws as shown here:
Install the new geared stepper, make sure its connector is facing down as shown:
Secure the stepper with an M3x12mm socket head screw inserted into the recess and hole you tapped earlier. Don't over tighten.
Now reassemble the Bondtech QR to the stepper motor following Bondtech's Assembly & Installation Guide.
The Bondtech QR rotates in the opposite direction from the EZRstruder if wired the same way. This can be corrected either in firmware or in the wiring. Unfortunately, changing the stepper direction in Repetier firmware requires recompiling and uploading new firmware, so let's simply change the wiring to accommodate the direction change.

On the right is the original EZRstruder connector. Note the BLUE-YELLOW-GREEN-RED wires from left to right. On the left is the connector for the new stepper, note the BLUE and YELLOW wires are reversed, this changes the direction of the stepper. Your Rostock MAX V3 kit came with extra connectors and pins in the RAMBo box. The photo shows the bag that came with mine. If you don't have those or don't want to crimp new pins, you can cut and splice the old stepper harness with the new one, just make sure to connect BLUE to YELLOW and YELLOW to BLUE wires. 

Install the side plate with the new Bondtech QR and route the wiring to the RAMBo. 
(Here's looking at you, Bondtech QR!)

Now connect the stepper to your RAMBo as shown here:
And that's it for the installation.

Configuring and Calibrating

The only thing you need to change in Repetier is the "extruder 1" steps/mm. The good news is, this can be done in EEPROM so no recompilation is necessary. You do need to use a control program that allows you to edit the EEPROM. MatterControl, Repetier Host and OctoPrint with a special plug-in all do. I use OctoPrint here.

Here's what you are looking for: Extruder 1 steps per mm, this is the default EZRstruder value (92.4mm/s) that you most likely have in your EEPROM.
Change that to a target default value, I typically start with this:
That should get you in the ballpark, now it's time to test the Bondtech QR and calibrate the extruder. Martin (Bondtech inventor) shared a quick technique to do this:

Insert a short piece of PFTE tubing (2-4") in the output side of the Bondtech QR, make sure it is pressed in all the way. Next feed apiece of filament in from the top of the extruder and push about 1" out the bottom of the tube. Score the filament with a sharp hobby knife right at the end of the tube and snap it off - PLA works well for this.

Turn on your printer and warm the hotend up to 170°C or so - the firmware will not allow you to test the extruder unless the hotend is hot! Once up to temperature, use your control program's jog controls to feed 100mm of filament. 
If you wired things properly, about 100mm of filament should have extruded from the end of the tube. Use digital calipers to measure the actual length. It helps to start with straight filament! In my case, the amount extruded was 99.20mm, a little less than the 100mm I requested. So a quick calculation will fix that:

(100mm / 99.2 mm) * 458.55 steps/mm = 462.25 steps/mm

The 458.55 steps/mm is the default value we entered in EEPROM. The calibrated calculated value is 462.25 steps/mm so enter that into EEPROM any you have a calibrated Bondtech QR ready to print on your Rostock MAX V3.

Friday, October 21, 2016

Tools of the Trade

I thought folks might enjoy a photo and description of the tools I use before, during and after printing. From left to right:

A 2" x 5" piece of leather. I use this before every print to polish the tip of the nozzle. The back side is suede-like and I'll use that to remove blobs of melted filament. Then a couple of quick swipes against the smooth side, and the nozzle is nicely polished. This minimizes filament sticking to it, which minimizes stringing and bad top surface finish. I wrote more about this elsewhere on SublimeLayers.

A SeeMeCNC spatula (I have 5 of them so one is almost always near by) to remove parts and clean the bed surface. I've modified mine, I bevel one side of the rounded edge so it can easily insert under the base of a print. The spatula is about .7mm thick, so what is that going to do to a print with .2mm layers? Exactly, smash it. So bevel one use with 600 grit sandpaper. I ALWAYS bevel the face that the eye logo is on, that way when I pick the spatula up, I just make sure the eyes are looking at me and that insures the bevel is in the correct orientation to do its job! I use the long edge to scrape off stuck filament from my PEI surfaces.

A pair of "normally closed" tweezers. I use these to snip blobs of filament from the nozzle tip. Even as a print starts and the nozzle descends to that magical X=Y=Z=0 spot on the bed, sometimes the flexing of the Bowden will force a little ooze out. So, tweezers at the ready, I simple squeeze them to open, grab the nozzle tip and let them close under their own power. It takes 32 seconds of practice to master this.

A 6" x 2" x 1" aluminum block. Just because! Actually, I use it for a couple of things. Some of my thin fly fishing reel parts come off the bed a little soft. I press them against this block to simultaneously flatten that surface and cool it off. I also use this thing like a happier to tap the back of my spatula for parts that are "aggressively" stuck to my bed. I intend to cut the wooden handle off square so I'm not hitting the point. There are other uses for this block, yes many other uses...

A sharp (quality) pair of wire cutters. I use these to snip filament in preparation for feeding through the extruder.

Links to Tools
SeeMeCNC Spatula
Aven 18423 Self Locking Tweezers
Ace Hardware Diagonal Pliers
Leather - but any old piece of scrap leather from a purse, shoes, belt, coat or upholstery will do
6" x 2" x 1" aluminum block 

Friday, October 7, 2016

Some musings on retracts

Many folks misconfigure retract settings in their slicers and believing that "more and faster is better". Nothing is further from the truth for modern hot ends and materials like PLA. The following observations, musings,and recommendations are based on hundreds of hours of experimentation, measurements and observation on the effect of retract and other settings on printing with PLA and ABS. So let's dive in!

Stop for a minute and think about the geometry of the internals of the nozzle up through to the heat break:
On the left I show a typical hotend in equilibrium as it extrudes. Cold filament (blue) is pushed at a more or less constant rate towards the heat block where it melts and is pushed out the nozzle.

The heat from the heat block is conducted to the neighboring metal parts: the nozzle below and the heat break above. The nozzle is typically brass or other thermally conductive metal so the molten filament does not cool and solidify before being extruded. That makes sense. The heat break is designed to minimize heat conduction upwards and which minimizes the length of the melt transition zone - where filament transitions from solid to fluid plastic. The heatsink's job is to prevent heat creep all the way up the hot end, which would result in a very long melt transition zone. The reason this is not good is described below.

Now look at what happens during retract - and this is conceptual. The entire melt transition zone is lifted. The molten filament is viscous enough that it follows along and is pulled up out of the orifice. In this diagram I am attempting to show a hypothetical 1mm retract. Since the nozzle is about 1mm long, in theory, a 1mm retract should pull all of the plastic out of the orifice and create a cavity about 1mm long in the nozzle. In practice, it isn't as simple and clean as this. Several factors influence the retract behavior. Here are a few of the larger contributors but there are others like capillary action, etc.

  1. Temperature is a key player since the hotter the molten filament, the more fluid it becomes. If the fluid becomes too fluid, it could simply drip out the orifice rather than be pulled back up with the retract. This is why printing at too high temperature than required is not a good idea. Ideally, you want to find the minimum reliable melt temperature to maximize the viscosity of the molten filament.
  2. The length of the orifice also plays a big part. In fact, my experimentations and modifications a few years ago with the E3D V5 hot end nozzle geometry resulted in a redesign that is now the V6 hot end. If the nozzle bore is too long, materials like PLA tend to not be cleanly retracted and can ooze. Many people then compensate for this oozing my increasing the retract length - which see next.
  3. Retract length has a very large impact. The longer the retract, the further up into the heartbreak the melt transition zone is pulled. It also tends to elongate as shown in the diagram. When the retract gets to a certain point, the top part of the melt transition will actually cool and solidify in the cold zone (heatsink). This results in a plug or jamming. Depending on many factors, sometimes this plug will be pushed ahead and remelted when the filament is advanced. However, if these factors are aligned against you, a jam occurs and results in filament starving and your print will show gaps. Many times this starvation might self-correct if another retract happens soon afterwards and frees things up. But if you are really unlucky, the plug continues to solidify and your print is completely ruined.
  4. Retract AND advance speed also play a big role. If retract is too fast, the molten plastic just "snaps off" at the end of the small diameter orifice and the nozzle bore is not cleared. If too slow, you waste a lot of time. On the other side, advance, a different situation exists. If you advance too quickly with PLA, the molten material appears to increase in viscosity to the point where it will not flow. This is called non-Newtonian fluid behavior. Most of the time, this might not cause a problem but in some cases, it can result in a plug and filament starving. With PLA, you can actually retract rather quickly (50mm/s) and advance slower (20mm/s) with excellent results. At this writing, only the KISSlicer provides this capability (and it was added at my request). It makes a difference. I've print 100s of parts a month in PLA and have not had a single jamming/plugging issue in several years.
In fact, I discovered this when I first began printing PLA parts like the white mesh on the side plate of the fly fishing reel shown below a few years ago. At certain places in the print there were many rapid, machine gun like, retract/advance moves. And every time that happened, I would get a plug and the print was ruined. I spent many hours setting up experiments and testing to arrive at some general guidelines for retract settings that I will list below.

It is very possible to print good parts with too high melt temperature, too long of retract, sub-optimal nozzle geometry, and retract/advance speeds too low or too high since it often is a combination of these, along with the specific part's geometry and slicer settings, that lead to a retract-related plugging problem. Movements, layer changes, retracts, slowing or speeding up to print perimeters and infills all interplay wth each other to produce good prints.

If you don't optimize your retract and temperature settings, one day you'll come across a part, sliced a certain way, that just doesn't print reliably. Unfortunately, many slicers provide profiles or printer manufacturers or owners advocate profiles that have very high retracts, very fast retract/advances, and high melt temperatures either due to lack of understanding or to compensate for one or more sub-optimal parameters or issues. Temperature and retract length, in particular, are often abused - the "more is better" syndrome seems to be the recommended solution to many printing problems.

A Little Math

The volume of a cylinder can be calculate using the formula: π x r^2 x length (Pi times radius squared times length). So let's take a look at how much PLA is in a nozzle office .4mm diameter by 1mm long:

π x (.2)^2 x 1 = 0.13 cubic mm of PLA

and just for comparison, the stock SeeMeCNC nozzles have a .5mm diameter:

π x (.25)^2 x 1 = 0.20 cubic mm of PLA

Now, let's calculate how much volume a 1 mm retract of 1.75mm diameter filament moves:

π x (0.875)^2 x 1 = 2.40 cubic mm of PLA

This shows us that a 1mm retract would move over 18 times more filament than required to clear a .4mm nozzle bore - in a perfect (Newtonian) world. In practice, with optimized temperatures, a reasonable nozzle and hotend design and geometry and reasonable retract and advance speeds, this 1mm retract is usually more than enough to get clean transitions and minimize oozing problems. Hot ends with longer melt zones, larger diameter orifices, less efficient heartbreak cooling, and other factors typically require additional retraction to compensate.


  1. First and foremost, determine the minimal melt temperature for your filament. See my Strategies for Successful (and Great) Prints point #9 on how to do this.
  2. Don't over retract. The E3D V6, SeeMeCNC HE280 and other similar all-metal hotends should perform very well with 1mm retract.
  3. PLA is more sensitive to retract/advance speeds than ABS and other materials. My recommendation for PLA is to retract relatively fast (40-50m/s) (and short as per the previous guideline) and advance slower (20-25mm/s). At this time, only KISSlicer has this feature. In other slicers, a reasonable compromise is to retract and advance at 20-25mm/s.
  4. Keep your nozzle tip clean and polished.

Hopefully this post will help you understand the complex process that allows us to print plastic objects with pretty darned good results. I've left quite a bit of details out (and I may be dead wrong on others) but I can say that if you pay attention to the above 4 Guidelines, your reliability and quality should go up markedly.