Bondtech BMG Vs E3D Titan extreme retraction torture test


As readers of this blog will know, I use a Diamond mixing hot end. For retraction to work with a mixing hot end, it is necessary to retract all loaded filaments concurrently. If just a single filament is retracted, then all that happens is that molten filament is drawn from one or more of the other inputs, rather than from the nozzle tip. Retracting all the filaments together is accomplished by using firmware retraction.

If one or more filaments do not move forward during a print, it can lead to several problems. Firstly, if left at print temperature for an extended period of time, PLA will hydrolyse (become more and more runny). Secondly, even with very high air flow over the heat sinks, after several hours at print temperature there will be some heat creep and the plastic will soften in the area of the heat break. Constant retraction and un-retraction will cause the softened plastic to get pushed into the shape of the tube or PTFE liner (effectively to swell). Thirdly, constant retraction and un-retraction of the same piece of filament can cause it to get ground away – even completely through. For these reasons I always try and keep all filaments moving forward at least slightly. Even using a mixing ratio of 1% for the “unused” filaments is usually enough.

However, there are a couple of scenarios where it isn’t possible to keep all the filaments moving forward. The first is this type of print (it’s a 5 colour scaled up version of Aria designed by Loubie).


This started with 100% clear filament which was then mixed with increasing amounts of blue, then blue with yellow, then yellow with red and so forth. So at any point in time, only two filaments are moving forward but all 5 are being retracted and un-retracted.

The other situation where it isn’t possible to move all filaments is where a pure colour is needed, especially when that colour is white. Even mixing only 1 % red will lead to a shade of pink. This failed print is an example


So, I need to move all filaments forward during a print but in the above two scenarios, I can’t. Now the first problem of filament hydrolysing after prolonged periods of time at print temperature can be overcome by either using something other than PLA (I have found PET-G to be much better in this respect) and/or by purging the hot end before switching to the new filament. The Aria was printed using PET-G.

The second problem of swelling due to heat creep can also be overcome simply by having a good grip on the filament to force it through. At least, that is what I have found with my PTFE lined heat sinks.

The third problem of filament being ground away is less easy to deal with. Of course, if the filament gets ground way, then it has an impact on the second problem – i.e it isn;t so easy to get a good enough grip to force the swollen filament into the hot end. The Aria model had around 7,000 retract and un-retract cycles so it’s fair to say that by the time the final filament came into play, the same section had probably been through 6,000 or so retraction cycles. The way I dealt with it was to back off the extruder tension for the “unused” filaments, then just before each one came into play, I increased it. A very hands on approach and not at all ideal.  The failed print above has a whopping  27,000 retraction cycles due to the small spindles and fluted columns. The way I deal with that was to not use firmware retraction. That is to say, I printed it by only retracting the filament that was in use and the others remained stationary. Effectively, no retraction which lead to a very stringy print which took a lot of cleaning up.

So what I need is another extruder that can retract and un-retract the same section of filament thousands of times without grinding it away. Of course, that is a lot to ask of any extruder and as I use five of them, I need to reasonably confident that any alternative to the E3D Titans would be worth the money. With that in mind, I contacted Martin Bondéus of Bondtech who very kindly sent me a BMG unit for evaluation, which leads me nicely into the purpose of this post.

Test Methodology

The failed print above took 27 hours to print on the second attempt. So I decided to create a test rather than print an actual object because it would be faster and use less filament. At the same time, I wanted the test to simulate an actual print as closely as possible. I decided to use the 3 colour version of the Diamond, rather than the 5 colour version because that was already fitted on the machine. The extruders for this hot end are numbers 0, 2 and 3 (extruders 1 and 4 are used with the 5 colour Diamond). I installed the Bondtech in place of one of the Titan extruders (extruder 0). I decided to use PLA as that is the filament which has given me the most problems. I then loaded the same filament from the same reel  into the Bondtech and two of the Titans. Just a short length was loaded into the Bondtech and one of the Titans. These would be the “unused” filaments. The main reel was loaded into extruder 3. The mixing ration was set to 0:0:100. i.e use none of extruder 0 and 2 but 100% or extruder 3.

For the test itself, the sequence was to retract all filaments, unretract all filaments, extrude a small amount of filament (2mm) from extruder 3 and repeat 30,000 times. I know that 30,000 cycles might seem excessive but that failed print had 27,000 cycles so it is a possible scenario. To keep count of the number of cycles, I moved Z by 0.1mm every 10 cycles. So every 0.1 mm of Z movement equates to 10 cycles, 1 mm equates to 100 cycles and 10 mm equates to 1,000. I started with the nozzle 10mm clear of the bed (Z=10). So the number of cycles would be Z-10 (mm) x 100. i.e Z at 20mm would equate to 1,000 cycles. (20mm less the starting position of 10 mm = 10 mm movement @ 100mm per mm).

I wrote a little Python script to generate the code. Here it is:

with open(destinationFile,’w’) as endFile:

for J in range (1,3000):

zpos=10 + J/10
zstring=”%.3f” %zpos

for K in range (0,10):

endFile.write (“G10″+”\n”)
endFile.write (“G11″+”\n”)
endFile.write (“G1 E2 F300″+”\n”)

endFile.write (“G1 Z” + zstring +” F9000″+”\n”)

Note, there are 10 “K” loops for every “J” loop so with J at 3,000, this will give 30,000 cycles.

Then I just added a few commands to the start to heat the hot end etc so the first few lines of the test gcode file look like this:

M106 S0 ; turn off print fan
G28; home all
G10 P0 S195 R195 ; Set tool 0 operating and standby temperatures
G10 P1 S195 R195 ; Set tool 1 operating and standby temperatures
G10 P2 S195 R195 ; Set tool 2 operating and standby temperatures
G10 P3 S195 R195 ; Set tool 3 operating and standby temperatures
T2; select tool 2
M109 S195 ; complete tool heating to 195 and wait.
G21 ; set units to millimetres
G90 ; use absolute coordinates
M83 ; use relative distances for extrusion

G1 Z10.000 F9000 ; start 10mm above bed
G10 ; retract
G11 ; unretract
G1 E2 F300 ; extrude 2mm
G10 ; repeat
G1 E2 F300
G1 E2 F300
G1 E2 F300
G1 E2 F300
G1 E2 F300
G1 E2 F300
G1 E2 F300
G1 E2 F300
G1 E2 F300
G1 Z10.100 F9000 ; move Z 0.1mm every 10 cycles
G1 E2 F300

Fitting the Bondtech BMG

I didn’t really set out to compare these extruders in any way apart from their performance under these particular circumstances. However, there are a few things that I noticed which are worthy of comment. The grub screw that holds the gear/hobbed bolt to the motor shaft is at the end furthest away from the motor. I found this to be much easier to get at than the Titan which has the screw close to the motor. The gear itself is very much longer on the Bondtech than on the Titan which means that positioning is far less critical and a lot easier. On the Bondtech BMG, the mesh between gears is taken care of by a cleverly designed locating pin, whereas on the Titan, it is matter of slackening all the retaining bolts and “rotating” the entire assembly – effectively using the clearance between the bolts and the bolt holes as a means of adjustment which is something that I’ve always found fiddly and if I’m honest, a bit “hit and miss”.  The filament outlet guide is part of the housing on the Bondtech, whereas on the Titan , it is a separate part that has to be slotted in between the body and the Bowden adaptor. My overall impression is that fitting the Bondtech BMG is a doddle but the E3D Titan is a bit fiddly.

For the purpose of this test, I didn’t calibrate the steps per mm for the Bondtech BMG but just used the stock 415 setting.

I had to reverse the motor direction compared to the Titan. This was a right hand version of the BMG – I’d assume that the left hand version would use the same motor direction as the Titan.

The tension on the Titan was set to my usual setting which is just enough to print at 80mm/sec and push slightly swollen filament through. This may be a little higher than the tension that most people use. There is no tension adjustment on the Bondtech.


I made a video of the test as it ran. This is the easiest way for me to explain the results. You can view it here (it’s about 8 minutes):


I highly recommend that you view the video but if you can’t or don’t want to, the Titan ground completely through the filament at between 7,000 and 8,000 cycles but the Bondtech went on until the test was aborted (due to the filament running out) at around 23,600 cycles. After which time, it was still possible to move the filament normally.

I can only surmise as to why this is the case. My feeling is that it is because the Titan has a spring loaded tensioner pushing the filament against a single hobbed bolt, whilst the Bondtch BMG is fixed tension and has two hobbed bolts. Perhaps as the filament starts to wear, the sprint tensioner takes up the wear and maintains the same pressure on an every decreasing filament diameter, whereas gap between the hobbed bolts on the Bondtech is fixed so the filament to bolt interface would act more like a rack and pinion. Also, the grooves on the Bondtech hobbed bolt are very much finer so won’t bite so deeply into the filament (and of course there are two of them so the gripping force will be as strong if not stronger than a single deeply grooved bolt). Whatever the actual mechanism, it works….

I did try to take some close up pictures of the hobbed bolts but they area bit blurry. Anyway, this is the inside of the Bondtech BMG after 26,000 plus retraction cycles:

Bondtech 1


……….and this is the Titan. To be fair, it wasn’t clean at the start which is why there is white debris as well as red. Wait………….. I’ve just noticed a metallic part in the bottom which looks suspiciously like part of a bearing……..Another reason to change extruders perhaps?

Titan 1




This post is in no way intended to belittle the E3D Titan extruder. Mine is a unique usage case and the vast majority of users will never have the need to run their extruders in the same fashion as I do. But for me in this particular situation, the Bondtech BMG is by far a better extruder.  The E3D Titan ground completely through the filament at between 7,000 and 8,000 cycles whilst the Bondtech BMG continued until the test was aborted at over 23,000 cycles. At that point, it was still possible to move filament normally.

All I need to do now is save up to buy 5 units…………….








5 thoughts on “Bondtech BMG Vs E3D Titan extreme retraction torture test

  1. great
    my bondtech will arrive tomorrow…only have a cr-10 – modded – with duet
    on higher speed a normal extruder is to bad

    nice printer do you have


    1. Thanks. I’ve just taken delivery of another 4 Bondtech BMGs so I’ll shortly be changing the rest of the E3D Titans. It’s quite a big job though as it involves changing the entire extruder gantry.


    1. Yes I’ve found that I have reduced the retraction distance from 5mm with the E3D Titans, to 3.5mm with the Bondtech BMGs. Both extruders have the same gearing so I’m inlined to think that it’s more to do with the spring loaded tensioner on the Titan. Perhaps it grinds the filament down on retraction, so the un-retrcat move length has to be greater because the filament diameter is reduced. Either that or maybe thee was some slippage with the Titans that I was otherwise unaware of.


  2. hi

    testing now 64 microsteps on BMG extruder
    because of the very small extrusion on 0.1 or lower layer
    I think i looks better…have to test more…

    on Anet A8 I’m testing KLIPPER Software on Pi3 with original Anet v1 Board (optiboot)…
    works good, fast, but without TMC its really loud
    waiting for Maestro Board to buy in EU or germany

    Greetings from Hamburg
    Ingo (Knaudler)


Leave a Reply to Knaudler Cancel reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s