Wednesday, April 20, 2011

Flow Rate Redux

After spending the weekend trying to understand the Flow Rate settings in Skeinforge by going back to basics and looking at the physics of extrusion, I then found this newsgroup post that talks about the changes to Skeinforge 40. In this new version of the tool the Skeinforge calculates the volume of filament entering the extruder and hence the volume coming out.

This requires some changes to the firmware. In the original firmware the E_STEPS_PER_MM variable specified the number of 'steps' the extruder needed to make to extrude 1mm of filament. With Skeinforge 40 it now specifies the number of 'steps' needed to push 1mm of filament into the extruder. This combined with the new setting in Skeinforge that specifies the filament diameter allows the tool to figure out how much filament it needs to extrude for a given speed - no more calibrations required.

I followed the technique described in the newsgroup post to calculate my new E_STEPS_PER_MM value.

Initially it started off at 20.1, but after setting Repsnapper to output 100mm (Length on the Print tab) and measuring the amount of filament entering the extruder, I came up with the following value:

 100*20.1/3mm = 670

I used 80% of this value (536) as the value in the Gen6 FW, recompiled, up-loaded and retested. Now 65mm of filament was pushed into the extruder. Repeating the calculations gave the following value:

100*536/65mm = 824.62

Recompile, up-load and repeat testing gave about 75mm filament pushed into the extruder. This clearly was incorrect, so I watched the extruder carefully. It was slipping so I had to tighten the idler bolts, then I retested it again. Now 104mm of filament was fed into the extruder.

100*824.62/104mm = 792.90

You guessed what comes next. Now it was 97mm of filament, so....

100*792.90/97mm = 817.42

Finally I had 100mm of filament entering the extruder.

I tested the settings with my favorite test prints - Feed Rate and Flow Rate set to the same value, and right of the bat they were amongst the best I've had. I could even change the layer height from 0.4mm to 0.3mm without any other tweaks and still get a perfect print.

So how does this compare with the physical analysis in my previous post?

With the new settings the E/L in the GCode file was around 0.04355mm/mm. This should scale by the ratio of the new E_STEPS_PER_MM over the old one and come out around the 1.617 value I calculated previously.

0.04355 * 817.42/20.1 = 1.77

Fairly close, but not exact. However, going forward I'll be using the new version of Skeinforge to calculate the settings - it's a lot more straight forward.


  1. This comment has been removed by the author.

  2. hi james
    could you share the file to do this change please?

  3. I've posted the SF40 settings I use as my baseline here:,27434,84048#msg-84048

    The zip file includes my SkeinArchiver tool, which should allow you to easily save and restore Skeinforge settings.

    Good Luck!