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…………..





9 thoughts on “Duet pressure advance experiments

  1. Hi Deckingman, do you have some photos for comparison? It’s kind of hard to see in the video.
    Do you know the difference between “velocity extrusion” done by machinekit and pressure advance in the reprap firmware?


    1. Hi. Sorry no still photos. The video looks like night and day difference to me. What are you viewing the video on? Suggest you view it on a PC then just pause it to see the difference.
      Have no knowledge of Machinekit.


  2. Very interesting, thanks for sharing! Also interesting printer you have… Is it really better to have the extruder travel along instead of sitting on the frame? your “push” length is shorter, but does it make a big difference in your experience?


    1. Hi Marcelo. The frame is 600mm x 600mm so if I mount the extruders on the frame, to reach any corner, I’d need Bowden tubes around 1 metre long which does lead to problems with pressure (the filament buckles slightly inside the tube) so then a lot of retraction is needed to compensate. I could mount the extruders above the centre of the build plate which would allow me to use Bowden tubes of about 500mm long which would be better, but then I’d have to mount the filament even higher and the machine is already 1.5 metres tall. So, in my opinion mounting the extruders on their own gantry makes the most compact machine machine as well as allowing the Bowden tubes to be much shorter.
      The latest design I’m working on has 5 colours so I need 5 extruders. This means that the extruder carriage will be heavier than the hot end carriage. So instead of it being passively dragged around by the hot end, I’m planning to drive it. Essentially, it’ll be two CoreXY gantry’s stacked one above the other. The upper one driving the extruders and the lower one driving the hot end. Watch this space………….


  3. Hi. I have been experimenting with advance presure in a direct extruder, single extruder. Im experienceing also good results but the stepper motor makes horrible noises, it look like it is missing steps too… have you experienced this in your test to?


    1. Hi Martin,

      The extruder motor certainly does strange things with high pressure advance levels. It can even run backwards. With short segmented moves, the extruder does do a lot of work but I wouldn’t describe what I’ve observed as being “horrible noises” and certainly no missed steps.

      TBH, it’s been a while since I experimented as I get all sorts of problems doing arcs. The latest versions of Duet firmware seem to be worse than earlier versions and the feedback I’m getting from DC42 is that it’s because my slicer (Slic3R) doesn’t generate equal segment lengths, and that in turn triggers pressure advance to happen multiple times when doing arcs and circles. The proposed solution is to use a different slicer but I haven’t found a slicer that handles multi coloured objects as well as Slic3R so I’m kind of stuck. Earlier versions of Duet firmware were better at doing arcs with a single extruder and pressure advance but I’ve always had problems with arcs and multiple extruders. The trouble is, I seem to be the only person in the world who has tried to use pressure advance with a mixing hot end, so nobody seems to take much notice of the problems I have. The only option I have is to not use pressure advance because it screws up arc movements, which is a shame because it shows great potential.


      1. Hi, very interesting. Your theory is near reality. I think you can see what the Bernoulli principle is. So, maybe you can imagine what’s when you have little and bigger volumes in a streamline.


      2. Thanks. I am familiar with Bernoulis’ principle but fundamentally, it applies within a flow of constant energy. So I’m not sure how relevant that is to this situation where the extruder speed (and hence the energy) is varying. The extruder speed and therefore the energy, is only constant during the steady state phase of a move and not during the acceleration and deceleration phases. These changing dynamics make Bernoulis’ principle an over simplification of what really happens inside a hot end IMO.


Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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