Duet pressure advance experiments

This is a follow up to my post about exploring melt rates and printing at high speeds with a Diamond hot end. https://somei3deas.wordpress.com/2017/06/22/exploration-of-print-speeds-with-a-diamond-hot-end/

During those tests I noticed that the beginning and end of the moves were rough and raised. I also noticed that during a long corner to corner non-print move, the filament was oozing and being deposited in blobs. Both of these issues got worse as the print speed was increased. It seemed to me that pressure was building up between the extruder and hot end which was what was causing both of these issues and “normal” retraction settings were not enough to compensate. It was also apparent that using retraction alone, I would need to set it higher and higher as I pushed the speed up. So I decided to experiment with using the pressure advance setting that is in Duet firmware.

It should be noted that I had tried playing around with this setting some time ago. The wiki states that a value of 0.1 to 0.2 would likely be appropriate for Bowden tube setups. As my Bowden tubes are only 165 mm long, I thought that a low setting would be needed so I tried from  between 0.01 to 0.2, none of which made any unnoticeable difference, but then I didn’t really have a problem with print quality to start with. I thought at the time that maybe there was something about a mixing hot end that negated the effect of using pressure advance. It was only when I started playing around with higher speeds that I noticed an issue.

I started with everything as before – same filament still loaded. Print setting unchanged. Same gcode file (sliced at 100mm/sec). After laying down a few layers at slow speed to get a good foundation, I pushed the speed straight up to 150mm/sec which from my previous tests, was close to the maximum melt rate that I could extrude at (with a single filament), and more or less the worse case speed for showing up the rough ends of the moves and the non-print move blobs.

I started with a pressure advance setting of 0.2. That is to say, while the print was running I used M572 D0 S0.2 then did the same for the other extruders (D1 and D2). Even though they were only contributing 1% each and doing was doing 98% of the work, I thought it best to set them all the same. There did seem to be a slight improvement but not much.

So I went up to 0.3 and there was a marked improvement but the short front to back “Y” moves slowed noticeably. DJDemon on the Duet forum had reported this and DC42 (the writer of the firmware) said it was due to having a high pressure advance value combined with a low extruder jerk setting. So at this point I doubled the jerk setting from 600 to 1200 which resulted in an instant increase in speed. Note that only the short “Y” moves are noticeably affected as pressure advance only applies to the acceleration and deceleration phases of the extruder(s). The long “X” moves were still largely unaffected as the acceleration and deceleration phases are short relative to the constant speed portion.

Further improvements were noticed at 0.4 and 0.5 “S” values but going up to 0.6 made no further difference. That is to say that I couldn’t visually see any difference in print quality between using 0.5 and 0.6 so elected to use the lower value.

As before, I took some video footage and put together a short video which compares with and without pressure advance.

This one is much shorter – less than 8 minutes in total. When you look at what the extruders are doing, it looks and sounds absolutely crazy but prints beautifully.


As you can see, the roughness is almost gone and the non-print move blobs are history.

What is interesting is that the same pressure advance setting works for all speeds and both single extruder and three extruder configurations.

I will have to re-visit my retraction settings as it is highly likely that I’ll need to use far less.

As for why I need a much higher value than expected. I have a theory that maybe the Bowden tubes play less of a part than expected. Personally, I don’t buy into the theory that the filament itself can be compressed like a coil spring, but it could buckle somewhat inside the Bowden tube, but a 1.75 mm filament inside a 2mm tube isn’t going to buckle much. What I think happens is that it’s a more a function of the volume inside the hot end. We’ve seen that the Diamond has a large melt chamber (if we include the long 2mm diameter section). Also, it has three chambers which are connected together. So pushing filament into a high volume space, the pressure will build up more slowly (than a smaller volume space) but when we stop pushing the filament, the higher volume will mean that it will take longer for the pressure to normalise than it would with a smaller volume.

It’s just a theory and until we can get a pressure transducer inside a hot end, we’ll never know.

As ever, watch this space…………..






Exploration of print speeds with a Diamond hot end


Note that in the following blog I make comments about the Diamond hot end, E3D’s Titan extruders, and Duet electronics and maybe some other organisations. I wish to make it clear that I have no affiliation with any of these companies. All the items mentioned were bought by me as a paying customer and any comments I make are my own personal observations. None of what follows should be construed as any sort of recommendation or otherwise.


For a while now, I’ve been wondering what the maximum print speed of a Diamond hot end might be. My rationale has been that effectively it has three melt zones (one for each filament) which in theory, if all three were used at the same time, should result in a higher filament melt rate and thus higher possible print speeds.

Also, looking at a drawing of the hot end, shows that many of the internal dimensions are very similar to E3D’s Volcano nozzle. Here is a drawing of the Volcano, reproduced here with kind permission from E3D.


Here is a picture of the Diamond hot end, reproduced here with kind permission of RepRap.me.


As you can see, the internal dimensions for the filament path are very similar, so possibly the melt rate might be similar too – and of course, there are three of them in a Diamond hot end.

Test Methodology

I guess one way to test the melt rate might be simply to heat the nozzle and extrude filament into air at higher and higher speeds and measure the actual amount of extruded filament each time. However, I wanted to know how that translates to actual attainable print speeds, so I decided to adopt a different strategy and actually print something.

My first consideration was that I needed to know that whatever speed I chose to print at would actually be attained and not limited by acceleration. Also, I wanted to have long continuous moves so that the extrusion wasn’t too affected by stopping and starting. Finally, I wanted to be sure that the first few layers were laid down nicely so that the quality of subsequent layers wasn’t affected by the quality of the underlying layers (this didn’t quite work as planned but more on this later).  So this meant that I would have to start slow and gradually increase the speed. With that in mind, I didn’t want something that was big in both X and Y directions as the first few layers would take a long time to lay down.

As readers of this blog will know, my gantry assemblies are heavy. In the X direction it’s about 1,670gms and in Y  about 3,048gms. So my accelerations are correspondingly low but X is higher than Y (obviously). (The acceleration figures were derived from calculations of the masses involved and the stepper motor characteristics and verified by testing to ensure that they are attainable without any missed steps).

So, I elected to have an object that was  long in X but narrow in Y which would be fairly quick to print the first few layers. I created a simple cuboid 300mm in X, 30mm in Y and 30mm in Z which I sliced using 100% infill at 90 degrees (i.e,. the infill is parallel to the sides).  I would simply ignore the short Y moves and concentrate my findings on the longer and faster X moves.

The theoretical speeds are as follows.

X length is 300mm. Acceleration is set to 1200 mm/sec^2. With the initial velocity being zero the formula for maximum speed is sqrt(2*acceleration*length/2) = 600mm/sec (should be adequate)

Y length is 30mm. Acceleration is set to 660 mm/sec^2. Using the same formula, the maximum attainable in speed in Y is 140.7 mm/sec. So regardless of what speed is demanded, that’s as fast as moves in Y will go, and they will ramp up to that speed, then ramp down to zero.

The object was initially sliced at 100mm/sec. I used my “normal” PLA settings which are 195 deg C hot end, 50deg C bed, and with an extrusion multiplier of 95%. I bought three identical reels of PLA from the same vendor and loaded one into each of the extruders. The object was then printed, starting at 50% speed (so 50mm/sec), for the fist few layers. Then the speeds was increased on layer change and the surface finish visually checked for obvious under extrusion or other signs of distress.

A total of four test were carried out.  The first was with a (more or less) standard 0.5mm nozzle and single filament input, at 0.3mm layer height. Note that the standard Diamond nozzle is 0.4mm but I always drill mine out to 0.5mm for reasons that I won’t go into here. Note also that I always use the hot end as a mixing hot end. That is to say that I always keep the filament moving in the “unused” inputs. So when printing with a single filament, I load some into the other two inputs and use a mixing ratio of 0.98:0.1:0.1. This means that the “single input” tests were actually using 98% of one input and 1% of each of the other two.

Test number 2 was with the same 0.5mm nozzle and 0.3mm layer height but using all three inputs in more or less equal proportions (actually 34%, 33% and 33%).

Test number 3 was with a 0.9mm nozzle (RepRap.Me will supply one if you ask them), 0.6mm layer height and single input.

Test number 4 was with the 0.9mm nozzle, 0.6mm layer height and all three inputs.

Note that the model was re-sliced at slower speeds for tests 3 and 4.

I recorded a video clip of each step and put it all together, with comments. Note that even though I shortened the video by cutting out many of the intermediate steps, it’s still around 27 minutes in length. Watch it if you can – you’ll be surprised by some of what you see.


Notes and conclusions. 

Firstly, it soon became obvious that at higher speeds there was an issue at the end of each move. This was much more obvious on the short 30mm “Y” moves but also noticeable at the end of the longer “X” moves. My theory (which will do until I can think of a better one) is that (at high speeds) pressure builds up between the extruder and the nozzle tip. Then as the carriage approaches the end of it’s travel, it starts to slow down but because of the pressure that has built up, and although the extruder starts to slow down, the filament is still being forced out at the same speed, resulting in over extrusion of filament relative to axis movement. This leads to the raised ridges which are visible in the video at the ends of each move. Duet firmware does have a pressure advance setting but I’ve never experimented with it all that much – perhaps it’s time that I did – watch this space……………..

Secondly, in a similar vein, as the speed was increased, blobs started to appear on the print. Despite my setting seams to “nearest”, Slic3r decided to move the print head diagonally from one corner to the other on layer changes at the end of the “Y” direction infill. This was a long non-print move and the blobs got bigger as the print speed was increased. Again, my theory that it was due to pressure build up would explain it. So, again using pressure advance in the firmware might help.

Thirdly, I had expected to reach a point where the demanded extrusion speed exceeded the melt rate for the filament and that it would be obvious when that speed had been reached. I reality, it wasn’t as clear cut. In general terms the extruded filament just got “thinner” for want of a better word and was less able to cover defects from the previous layer. It seems that the Titan extruders do too good a job of pushing the filament through. No clicking (apart from the last test), no skipped steps, no grinding of filament – nothing! In some of the tests, there is clear evidence that the maximum speed at which filament can be laid down has been exceeded but it is fair to say that some under extrusion probably started at some speed before this.

Fourthly, my somewhat arbitrary observations of maximum melt rates are as follows:-

With a 0.5mm nozzle and 0.3mm layer height, the maximum print speed before severe signs of under extrusion occurred was 160mm/sec. To calculate the maximum melt rate I used nozzle area (0.0558125mm^2) x the layer height (0.3mm) x the speed (160mm/sec) x the extrusion multiplier (0.95) giving me 8.955 mm^3/sec.

With a 0.5mm nozzle, 0.3mm layer height and using all three filament inputs, the maximum print speed before severe under extrusion was observed was 260mm/sec (honestly! ……. watch the video if you don’t believe me) giving a calculated melt rate of 14.551 mm^3/sec.

With a 0.9mm nozzle, 0.6mm layer height and single filament feed, the maximum print speed was 62 mm/sec. Using the same formula for melt rate calculation, nozzle area is 0.381753 mm^2 x layer height (0.6mm) x speed (62) = 22.485 mm^3/sec.

The final test using a 0.9mm nozzle, 0.6mm layer height and all three inputs was much harder to estimate the point where severe under extrusion occurred. In the end I decided on 90mm/sec (180% of 50mm/sec) based solely on the fact that at higher speeds, “clicking” from the extruders was clearly audible. This gives a calculate melt rate of 32.640 mm^3/sec.

Whether my somewhat arbitrary choice of maximum speeds or whether some lower speed would be more realistic, I leave up to each reader to come to their own conclusions. Personally, I think that the Diamond hot end is capable of some fairly substantial melt rates, possibly comparable to an E3D Volcano (at least when being fed by three extruders), but as I’ve never used a Volcano, I cannot say for sure.

What is fairly convincing is that using all three inputs results in higher melt rates and thus higher speeds. Also, a 0.9 mm diameter Diamond hot end can maintain a larger volume flow rate than a 0.5mm nozzle, even when the smaller nozzle is being fed with all three inputs.

I hope readers will have found something of interest in the above. (Does anyone have a use for several 300mm x 30mm x various thickness plastic sticks?)


PS. The featured image is a still from the video. Did it really reach 300mm/sec? Time to reach 300mm/sec at 1200 mm/sec^2 (Vf-Vi/a) = 300/1200 = 0.25 secs. Distance to get up to 300mm/sec (s=1/2at^2) = 37.5mm. So yes, it was accelerating for 37.5mm, and decelerating at the end for 37.5mm so for the 225mm in the middle it really was doing 300mm/sec.

PPS – Some more calculations (as of 23rd June).

Looking again at the drawing of the Diamond, we see that there is a tube about 21mm long and 2mm diameter. Given that the filament is 1.75mm diameter it’s difficult to estimate the filament to metal contact area, so difficult to estimate what contribution this section will make to the overall melt rate. However, taking the shorter 0.4mm “tubes” there is a 3mm long part and then another 2mm long part giving a total area of about 6.3mm^2 for a single filament – using three inputs we have 3 x 3mm plus 2mm giving a total area of 13.8 mm^2. If we open those holes up to 0.9 mm, the area for a single filament becomes 14.1 mm^2 and for all three, 31.1mm^2.



Making an Insulating “Sock” for the Diamond Hot End.

I’ve been intrigued by the silicone “sock” that E3D make for their hot ends. I’ve recently been using their “Edge” filament which has a great affinity for sticking to the nozzle and E3D claim that using a silicone sock helps to keep the nozzle clean. The other potential advantage that I see is for situations where the print cooling fan blows air across the nozzle which can drop the temperature. This may in itself not be enough to affect the print but in recent versions of Duet firmware, it can trigger a heater fault. For safety reasons, if the firmware sees a sudden drop in temperature, it will turn turn the hot end heater off because it could well be caused by the heater cartridge coming out of the hot end.

In my particular case, the fan ducts are arranged so as to deflect the print cooling air down and away from the nozzle. However, it is practically impossible to prevent cooling air being deflected back up to the nozzle off of the bed or the printed part. As a quick test, I heated the nozzle to 195 deg C then, with the bed 100 mm below the nozzle, turned the fans on at 100%. There was no discernable drop in temperature. I then repeated the test but with the bed only 1 mm below the nozzle and noted a 2.1 deg C drop in temperature. Not bad but not desirable.

Searching the internet I couldn’t find any “off the shelf” insulating “socks” for the Diamond hot end so decided to have a go at making my own. The result was quite successful. Here is how I went about it :-

Firstly I designed the mould. I’ll put the stl and OpenScad files on Thingiverse and add a link at the end of this post.  Here is picture of the OpenScad design.


There are 4 parts to it. The cone shaped part is the same size as the Diamond hot end with a small locating pin added to the tip. This cone has a hole in it which takes the “clover shaped” part. This is to make clearance around the heat sinks but leave a lip for the sock that will go over the top of the brass nozzle. I’m still refining this “inner top” part so by the time I get to put it on Thingiverse, it may look a bit different.  The two parts together form the inner section. I had to do it this way so that it could be printed. The other two parts go together and form the outer part of the mould. This outer part makes the shape of the Diamond but 2mm bigger all round.

Here are the printed parts.


As I said, the “inner top” is still evolving. Here is the inner section assembled. They don’t need glueing together – in fact it’s probably best not to.


I didn’t do anything special about smoothing the parts. I printed them using a 0.5mm nozzle with 0.3mm layer height and just gave them a bit of a rub over with some fine abrasive paper. I guess a smaller layer height and better finish would make it easier to get the sock out of the mould but it wasn’t a huge problem with the release agent I used (see below).

What is important is that the parts fit together well. I just stuck the two outer parts together with sticky tape but an elastic band would work too. Once the two out parts are (temporarily) held together, the inner cone shaped part should be tested for fit. The top of the inner should be flush with the top of the outer. If it’s higher, check that the locating  “pin” on the bottom of the cone is going fully into the recess in the outer mould.

I know absolutely nothing about all the various mould making materials. I did a bit of research and settled on using this stuff.


It’s called “High Temperature Moulding Rubber” or “RTV High Temperature Resistance Mould Making Rubber” by DWR Plastics. I bought it off Ebay but you can buy direct  https://www.dwrplastics.com/product-information/5389e00cc0a0e/RTV-High-Temperature-Resistance-Mould-Making-Rubber-250g-Kit.

It’s claimed to be good for up to 330 deg C. There are many other brands of this stuff around, any of which will probably work. The reason I chose this particular one was that it seemed east to mix – simply use the same volume of each part A and part B.

The next step was to coat the mould parts in release agent to prevent the RTV from sticking to it. I’ve seen a couple of YouTube videos where people use hot Vaseline and other such things but I decided to buy the release agent from the same source (DWR plastics).

pic5Release Agent

Shake well and cover all of the inner parts, including the top. Then cover the inside and top of the out parts. Allow to dry and give apply a second coat. I actually applied a third coat as well.

Next I assembled the inner part into the outer parts, filled a syringe with water, then filled the mould. It takes around 5ml. So that’s how much rubber you’ll need to mix. Actually, it’s difficult to get it all out of whatever container you mix it in, so mix a little more – say 6 or 7 ml.

I happen to have a few 10 ml syringes laying around (no I’m not a junky but I do use e-cigs and mix my own “juice”).  So I used two of these and managed to “suck” 3ml of each of the two compounds and squirt them into a small glass container. This stuff is really thick and “gloopy” so you need a large hole in the syringe – i.e. don’t fit any sort of needle to it.

Then mix thoroughly – a cocktail stick works well.


The next step is to pour the stuff into the mould


Then insert the inner part which will push the rubber up the sides. Make sure the inner part goes in all the way so that the top is flush with the mould. Then centre it by eye.


Scrape off any excess or top up as necessary then leave it to set. The cure time is stated as being 1 to 2 hours at 25 deg C. I left mine a little longer – just to be sure.

Once it has cured, use a sharp modelling knife to clean up the top.


Then, carefully cut around the “clover leaf” top, down 2mm to the top of the cone proper. I did the same around the outer edge. Then remove the adhesive tape and pull the out mould apart.


It might feel a bit stiff but I found going around the joint with the modelling knife helped but be careful not to cut into the rubber boot. Once a small gap has appeared, insert a small flat blade screwdriver and twist. Keep working around the edge and it’ll come apart.

Once one half of the mould is off, it’s quite easy to pull the rest out of the second half.


The next step is to remove the inner. This is surprising easy. Simply roll it down like this …..


…. and you’ll end up with this……….


…………which is inside out so turn it the right way out and you get this………



Here it is fitted to a nozzle. It is important that moulded rubber is pushed up onto the brass nozzle as far as it will go. Keep going around the nozzle using your thumb to push it up.


So what remains is to carefully cut around the base of the mould to expose the tip of the nozzle, like this.


Now in reality, I found fitting it to be a pain because of the 3 layers of heat break insulation around the heat sinks so I had to cut chunks away and even then, disassemble the heat sinks. Here is what I had to do (on the left)

cut away

So, I said at the outset that the inner top part was still evolving and that is why. I have modified the design so hopefully it will be possible to fit the sock without any cutting and hopefully without having to disassemble the heat sinks. The parts are designed, I just have to print them and make another casting.

Here is a picture of it installed on my machine



I’ve done very limited testing so haven’t all that much to say at the moment but here is what I have so far.

Without the sock, the time taken to reach 195deg C from a starting temperature of about 29 deg C was about 225 seconds. With the sock fitted, the time is about 200 seconds. I haven’t measure the cool down time as it’s unimportant to me, but it seems to take much much longer.

Without the sock and with the print bed at 1mm from the nozzle tip, putting the print cooling fans on at 100 % gave a 2.1 degree drop in hot end temperature before it recovered. With the sock fitted, there is no discernable change in temperature with respect to the operation of the print cooling fans.

There is no gain in maximum attainable print speed. That is to say, the filament melt rate is unchanged which is as I would expect, because there will be no increase in temperature in the melt zone of the hot end. Proof of this and some other stuff related to print speeds will be the subject of my next post.

Link to Thingiverse files here https://www.thingiverse.com/thing:2386473








Printer upgrade

Just a quick post to say that I’ve updated the page which details the latest iteration of my CoreXY build. New features recently added are a complete redesign of the XY gantry arrangement where I’ve reverted back to dual rails. I also have another method of using the hot end nozzle to act as a bed probe, this time with bronze bushes and steel dowels, instead of the moving plastic dovetail joint. Finally, a complete redesign of the extruder mounting arrangement which now has it’s own passively driven XY gantry (and even shorter Bowden  tubes).

Here is a link to the page

My CoreXY Printer build