Airtripper Extruder Filament Force Sensor – Introduction

By | May 30, 2013

Following the announcement of the Airtripper Extruder Filament force sensor I found a bit of time to run a few tests and to plot a few graphs to find out if the load cell is not just a fancy 3d printer add-on. Enough graphs and explanations have been added below to help you decide whether the load cell add-on make for a serious bit of kit or it’s just a waste of time. But before we get into the graphs, we’ll start with the introduction to the Airtripper Extruder Filament Force Sensor; with images to boot.

This is a project with a lot details to cover so there will be three articles including this one. This article is about selling the idea, then the next article will be be about the load cell bracket construction. The last article will then cover the electronics with load cell calibration and software interface. I would advise not to go out and buy the load cell or supporting electronics until advised by this project. This is just to make sure that your load cell will get the best start for successful calibration.

Airtripper Extruder Filament Force Sensor

Airtripper extruder Filament Force Sensor

Airtripper’s Load Sensitive 3D Printer Filament Extruder Using A 5KG Scale Load Cell

You probably get an idea of how this Airtripper load sensitive extruder works by looking at the picture above. I don’t expect it will look great on every 3d printer but it looks good on mine and I shall be fitting a second one soon. The attachment footprint is small which should suit many 3d printer set-ups. All the load sensor bracket components have been designed to provide good stiffness to the complete assembly. More details about the bracket assembly and other options will be covered in the next article.

Airtripper Extruder Filament Force Sensor

Airtripper Extruder Filament Force Sensor

How It Works. It is basically an Airtripper bowden extruder that is attached to one end of the load cell. When the extruder feeds the filament to the hot end, the extruder is effectively pushing against the filament causing the extruder to apply extra load on the load cell. Load cells have strain gauges attached that change in electrical resistance when under different loads. This resistance change provides small voltage levels that can be amplified and then read by an analogue to digital converter. In this project, an Arduino Uno is used to read the analogue output from an instrumental amplifier. The readings taken from the load cell are linear which makes it easy to create an accurate weight table in the Arduino Coding.

Because of the stiffness of the load cell and the brackets, printer wobble has very little influence of the final sensor readings. Any operational lag in the assembly is likely to be much less than the combination of stretching and compression of the bowden extruder system. You’ll notice in the picture above there is a filament guide tube fitted between the extruder and the filament real. This filament tube guide prevents the extruder pulling down on to the load cell when tugging at the filament reel; skewing sensor readings.

Airtripper Extruder Filament Force Sensor Graphs

Set Of 3 3d printed 608-ZZ Ball Bearing Axles

Set Of 3 3d printed 608-ZZ Ball Bearing Axles

Basically, the purpose of doing these graphs is to find out what sort of information we can get out of the load cell that is used for the filament force sensor. We want to find out if the graphs can be used as a guide for better extruder set-ups. The graphs below is just a start and not a complete test of every set-up situation.

Some Test Conditions. I used the same test print object for all the graphs below accept for graph twelve.  The test print object is a set of three bearing axles used on the Airtripper’s Bowden Extruder.

Skeinforge was used to compile the g-code for each test while Pronterface was used to interface with the Marlin Firmware on the Sumpod. It should be noted that the temperature used in the tests below is the temperature of the nozzle heater block and that the nozzle temperature could be much lower.

Graph One

3D Printer Extruder Activity Graph One

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 220, Extruder Retraction Speed (mm/s) = 13.3, Retraction Distance (mm) = 0.8, Restart Extra Distance (mm) = 0.

Graph one is a plot of what was my typical set-up for months. The 3d printed outputs were good but a bit of cleaning was needed to get rid of the many fine hairs and the odd clumps of plastic.

a The load sensor shows that a consistent pressure is maintained with the current settings, however, there is a slight climb in pressure after each retraction. b The retraction was not long enough to fully de-pressurise the hot end nozzle which caused some pressure to be lost from the nozzle tip through extrusion. Unwanted extrusion usually causes stringing and clumps of plastic to be left between object cavities and perimeters.

Graph Two

3D Printer Extruder Activity Graph Two

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 220, Extruder Retraction Speed (mm/s) = 13.3, Retraction Distance (mm) = 2.0, Restart Extra Distance (mm) = 0.

b Retraction is increased to 2mm and the change is reflected in graph two. The retraction is long enough to drop the pressure to 0kg but the consistent pressure maintained across the graph a still shows a slight climb after each retraction b.

Retraction was long enough to relax the filament in the bowden extruder system but not long enough to pull the filament from the nozzle tip. Some oozing may have occurred to cause a slight loss of pressure. Graph two looks better than graph one because of the signs of less pressure being lost between retractions.

Graph Three

3D Printer Extruder Activity Graph Three

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 220, Extruder Retraction Speed (mm/s) = 13.3, Retraction Distance (mm) = 2.0, Restart Extra Distance (mm) = 0.1.

Using the same settings as graph two but using Restart Extra Distance of 0.1mm, the graph shows a consistent pressure level across the graph a and also in between retractions b. You will notice that all the retractions b are hitting the 0kg mark consistently. The width of the retraction indicates travel period between plastic filament extrusion.

This demonstrates the sensitivity and the consistency of the load sensor. Adding Restart Extra Distance will add more plastic to the 3d print and alter some dimensions.

Graph Four

3D Printer Extruder Activity Graph Four

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 220, Extruder Retraction Speed (mm/s) = 25.0, Retraction Distance (mm) = 3.0, Restart Extra Distance (mm) = 0.

With this test I have altered a few more settings (shown in bold red above) since graph three. The main change to note is that we now have a Retraction Distance of 3mm. This has brought the retractions b to well below the 0kg mark. Each retraction shown in the graph is consistent in length and the pressure a has maintained a consistent level between retractions and across the graph.

The effect of this change now means that the filament is pulled from the nozzle tip; preventing pressure loss caused by melted plastic oozing from the nozzle tip. The Extruder Retraction Speed setting is almost doubled to reduce the retraction operating time between plastic extrusion.

This has provided the best set-up for my 3d printer, no oozing and no strings. I was able to print a tray of different objects without loss of quality to object walls; no 3d printed parts clean up was needed. A lot of time saved on production runs.

Graph Five

3D Printer Extruder Activity Graph Five

Flow/Feed Rate (mm/s) = 48, Temperature (C) = 220, Extruder Retraction Speed (mm/s) = 25.0, Retraction Distance (mm) = 3.0, Restart Extra Distance (mm) = 0.

Flow Rate and Feed Rate are both doubled to a setting of 48mm/s but all the other settings remain the same as the previous graph. Because the parts being printed for this test are small the printer would not make the 48mm/s speed. However, speed is increased and is reflected in the graph as an increase in pressure compared to the last graph a.

Although the pressure is nicely maintained across the graph, pressure ripple a has appeared as a result of increased speed. All the wider peaks a look to have a similar patten which would suggest that this is caused by a control feature of the firmware as a result of printing a small part at a higher speed. Although the pressure has increased the retractions b still make it below 0kg and the retraction length remains consistent across the graph.

Despite the ripples the graph still looks pretty neat and tidy and as uniform as the previous graph that had good print results. This faster setting also produced the same good print results.

Force Sensor / Load Cell Temperature Detection Test

The following graphs from six to eleven is about what difference the temperatures makes to the force sensor / load cell readings.

Graph Six

3D Printer Extruder Activity Graph Six

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 215, Extruder Retraction Speed (mm/s) = 20.0, Retraction Distance (mm) = 2.5, Restart Extra Distance (mm) = 0.

220 degrees C looks to be the best setting for my 3d printer set-up and may get away with 215 degrees C as shown in the above graph. The temperature decrease as shown a slight increase in pressure a and a slight variance in pressure across the graph. The length of the retraction b shown in the graph look less consistent.

Graph Seven

3D Printer Extruder Activity Graph Seven

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 210, Extruder Retraction Speed (mm/s) = 20.0, Retraction Distance (mm) = 2.5, Restart Extra Distance (mm) = 0.

With a lower temperature of 210 degrees C there is an obvious pressure wave showing in the graph a. Despite this wave, each retraction b is still hitting around 0kg and looking a lot less consistent in length. The lower temperature setting is now plotting a graph that is now a lot less uniform.

Graph Eight

3D Printer Extruder Activity Graph Eight

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 205, Extruder Retraction Speed (mm/s) = 13.3, Retraction Distance (mm) = 2.0, Restart Extra Distance (mm) = 0.

With the temperature lowered again the load cell is detecting higher pressure a and also the pressure wave that was shown in the last graph. The Retraction Distance setting is reduced to 2mm and the graph now shows a pressure wave on retractions b similar to the upper pressure wave a. The wider peaks between retractions are now showing indications of sharp rise or sharp falls in pressure.

The walls are looking a bit less evenly printed on the test parts now, but no real signs of major print disaster.

Graph Nine

3D Printer Extruder Activity Graph Nine

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 195, Extruder Retraction Speed (mm/s) = 13.3, Retraction Distance (mm) = 2.0, Restart Extra Distance (mm) = 0.

At a temperature of 195 degrees C the pressure is now detected by the load cell at well over 2kg. The above graph shows similar characteristics as graph Eight.

Graph Ten

3D Printer Extruder Activity Graph Ten

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 195, Extruder Retraction Speed (mm/s) = 25.0, Retraction Distance (mm) = 4.0, Restart Extra Distance (mm) = 0.

The Retraction Distance is adjusted keeping the same temperature as the previous graph. The retractions b are now hitting around the 0kg mark and no longer matching the pressure wave of the higher peaks a between retractions. The retraction length shown in the graph are now not consistent across the graph.

Graph Eleven

3D Printer Extruder Activity Graph Eleven

Flow/Feed Rate (mm/s) = 24, Temperature (C) = 185, Extruder Retraction Speed (mm/s) = 25.0, Retraction Distance (mm) = 4.0, Restart Extra Distance (mm) = 0.

This is where everything goes a bit pear shaped. The temperature is lowered to 185 degrees C and the pressure peaks at above 3kg as detected by the load cell. The graph is looking a bit distorted because the extruder drive gear has reached it’s filament pushing power limits due to the higher pressure. The test parts failed to print properly under these conditions which was mostly due to filament slippage.

Set Of Three 608-ZZ Ball Bearing Axles

Set Of Three 608-ZZ Ball Bearing Axles. Graph 11 test subject

The graph shows indications of filament slippage c and stepper motor stalls d, e. Stepper motor stalls produce a knocking sound and so is easily detected without the aid of the force sensor. Filament slippage is a lot more difficult to detect but can be seen easily on the graph at point c. The filament slippage seems to continue until a lower pressure is reached where the stepper drive gear can move the filament and get a fresh grip; forcing the pressure to go up again.

Sometimes stepper motor stalls look like retractions like at point e on the graph. At point e a retraction happened just inside a stepper motor stall and we know this because the pressure dropped to 0kg and the retraction return did not fully recover. From the settings above we know that the retraction start and return points should be at around the same pressure level.

Graph Twelve

3D Printer Extruder Activity Graph Twelve

Flow/Feed Rate (mm/s) = 48, Temperature (C) = 220, Extruder Retraction Speed (mm/s) = 25.0, Retraction Distance (mm) = 4.0, Restart Extra Distance (mm) = 0.

Graph twelve sees a return temperature of 220 degrees C and the Flow Rate and Feed Rate of 48mm/s. But this time we a printing a larger part to encourage a faster print speed.

While comparing to graph Five we have achieved a higher pressure level a and still maintaining consistent retractions that drop below 0kg b. The print still looks as good and you don’t get the pressure wave as shown in graph eight with similar pressure levels.


The Graphs. Since adding the filament force sensor to the bowden extruder the 3d printer is now outputting it’s best print runs. The graphs have played an important role to identify the best extruder set-up, for the first time I have real feedback to work with.

The graphs above are typical of the test part I chose to print and it is important to note that printing more complex objects could produce graphs that look very different. The pressure level will not always be the same across the graph for some 3d prints and this can be due to the firmware printing at varying speeds. Infill is usually printed faster than the perimeters so higher nozzle pressure will be detected during infill printing.

A good graph such as graphs 1 to 5 show a good measure of control over the extruder operation. Settings in the g-code are detected accurately and there is good consistency showing across the graph. Achieving this type of graph from the bowden set-up delivers the best print results.

Graphs 7 to 11 shows how things start to get messed when hot end nozzle temperature is gradually reduced. Pressure waves form across the graphs and retraction lengths become less consistent. In a more serious case of low temperature the extruder load cell (used as a filament force sensor) was able to detect filament slippage and also stepper motor stalls.

V9 Hot End Clone Heater And Nozzle

V9 Hot End Clone Heater And Nozzle Used In This Force Sensor Test

The Pressure Waves. In graphs 7 to 11 you can see a kind of pressure wave where the pressure seems to go up and down like a sine wave. This has caused elements of the graph to lose consistency such as filament retractions and nozzle pressure.

We know that the pressure wave appears when the temperature is reduced because graphs 1 to 5 and 12 show no wave at all; despite the same test part being printed throughout. We also know that 3d printing at a higher speed does not produce the same wave effect because graph 12 pressure reading compares with graph 8 that has the wave.

On this 3d printer hot end the nozzle sticks out from the heater block by about 8mm which I think is plenty enough to cause a large temperature difference between the heater block and the nozzle tip. My guess is that when extra force is needed to extrude filament at lower temperatures the hot end pressure rises causing the nozzle tip to get hotter until it extrudes filament more quickly. As the filament extrudes more quickly the pressure starts to drop causing the nozzle temperature to drop. As the temperature drops in the nozzle the filament becomes more difficult to extrude causing the pressure in the hot end to rise again. I think this is a temperature rise and fall cycle the force sensor is detecting and producing the pressure wave in the graphs.

The Future. I think at the very least this filament force sensor technology could be used for benchmarking new hot ends. We probably should be seeing test results from the many new hot ends that are now appearing on the market to help our purchasing decisions. If the filament force sensor becomes popular it could certainly be used to help troubleshoot extruder problems with new hot ends fitted. The data collected from the filament force sensor could be used to better prepare new hot end for the market. Having new hot ends backed up with good filament force sensor data would help build customer confidence.

The extruder filament force sensor technology could redefine the reputation of bowden type extruder set-ups and the bowden set-up may even become more popular on 3d printers. The filament force sensor would provide an easy set-up and configuration procedure based on sensor feedback.

In the future the filament force sensor could be used to allow 3d printer firmware to calibrate itself to determining the best speed, the best temperature and the best retraction length settings. The firmware could also dynamically adjust the retraction distance when printing speed is adjusted on the front panel. This kind of 3d printer set-up could be the ideal thing for consumer level 3d printers.


The next post will be the guide to setting up the Airtripper Extruder Filament Force Sensor brackets and how to adjust the brackets to fit different load cells.


11 thoughts on “Airtripper Extruder Filament Force Sensor – Introduction

  1. William Stanley

    Hi Mark,
    Another bit of excellent design/research. I can see how this would be useful for setting up hot ends as there is no quantifiable way at the moment; it’s all ‘ that’s looks better’ or not, without really knowing why you are changing a parameter.
    I’m off to try some different parameters on my printer based on your results; I’m currently printing at 190 degrees, with blobs and string, fairly slowly. Based on your observations I will try 220 and a bit faster and see what happens.
    I await the rest of the project with some anticipation; If you want someone to build a second proto before you unleash it on the world, email me.
    Thanks again for this ( and the extruder).

    1. Mark Heywood Post author

      Thanks William.

      The project should be fully published within the next two weeks; I’m looking to get the next part out in the next few days. I’ve been testing different load cells to define a calibration strategy that will work for most people. I’ve got more testing to do tomorrow to practice calibration methods with different load cells which will hopefully provide a more solid guide.

      G-code settings are mostly not transferable between different 3d printers so having good feedback from the extruder will be useful, especially on bowden extruder systems. With the extruder filament force sensor, you would only need to print a few layers to get enough data to recommend new g-code settings.

      Your blobs could be at the Z axis travel positions. If you do not have enough retraction distance set then plastic extrusion would continue while the nozzle moves up to the next layer. Retraction usually happens during Z travel as well as other areas. You would need to check your filament diameter in different areas just to make sure it is not oversized; if the blob issue continues that’s not related to retracions.

  2. Peter

    Very interesting measurements. Thank you. I have two questions:
    What filament material was used? ABS? PLA? Something else?
    What was the nozzle size of the head you used?

    1. Mark Heywood Post author

      Hi Peter

      1.75mm PLA was used through a nozzle size of 0.4mm and extruding a layer height of 0.25mm.

      The PLA filament was bought from ReprapWorld and has been the best filament I’ve used so far. It sticks well to glass and oozing is controllable.

      A 3mm bowden will be supported later with a new extruder design to fit the filament.

      The good weather and the dreadful PLA filament I got from Ebay has slowed things down a bit but a new post will be out shortly after some editing.


      1. Peter

        The temperatures seem rather high for PLA. But I cannot claim this since I never used PLA (only ABS and only at the stock 230°C). When you used lower temperatures and got the sine wave in the force chart, was the filament nicely straight in the bowden? The point is that when higher force is required and the filament is not tight in the bowden all the time even just after the airtripper drive gear then a wave can appear in the filament (especially when retracements happen) and this can increase friction in the bowden which can be irregular. Although it probably would not create a nice sine wave in the force chart. Just want to be sure this cannot be the reason for the “sine signal” in your force charts.

        1. Mark Heywood Post author

          I’m using an insulated heater block which is probably close to the temperature I’ve set for PLA filament. However, the hot end nozzle tip will be much cooler. But, without a thermal camera, it will be hard to tell what the temperature difference is; I reckon it’s more than 10 degrees C difference.

          I have to set a high enough temperature to compensate for the temperature difference between the heater block and the nozzle tip.

          It’s unlikely that the filament would create a friction variance of say 500 grams inside the PTFE tube to cause a sine wave under a constant force. This is why I think the temperature at the nozzle tip has more to do with causing the sine wave than any friction in the bowden.

          The sine wave could be unique to my nozzle design so I’m looking forward to seeing graphs from other printers for comparison.

  3. Kalle Pihlajasaari

    Would be interesting to see the temperature of the thermistor and/or the PWM duty cycle on the graphs.

    The extrusion rate could also be interesting.

    These would allow one to try and see what effect the amount of material to extrude has on the force required.

  4. James

    These numbers look great! Are the values on the axes absolute? If I’m reading it correctly, a 1.4 kgcm nema 14 stepper with a 5.5mm drive pulley would generate 2.5kg, which is plenty to push 1.75 mm filament through the hot end. Since nema 14’s can be as light as 180 g, this could really open the possibility of using light direct-drive extruders…

    1. Mark Heywood Post author

      Hi James,
      The numbers are good, stepper motor effort is directly transferred to the load cell.
      2.5kg would be enough as long as the hot end and other components are in the best condition. However, using a drive pulley as small as 5.5mm may be an issue due to the reduced contact on the filament compared with the 10.56mm pulley I use.

      1. James

        Ah! I meant a 5.5 cm radius, which would be a 11 mm hobbed pulley. Although, hobbed bolts definitely go way smaller than that, and I’m pretty sure I’ve seen people directly hobbing the motor shaft somewhere on the reprap wiki. Having hard numbers on the actual force required to push filament is very beneficial — the reprap wiki recommends >40 oz in motors with a Greg wade extruder, which translates to a whopping 42 kg of filament force after all gearing and the much thinner hobbed bolt.

        Would you happen to have numbers on 3mm filament as well?

        1. Mark Heywood Post author

          I’ve only used 1.75mm filament so far, mostly because I use a bowden type set-up.

          The problem with small diameter hobbled pulleys is that they can constantly slip on the filament at higher force. A larger diameter pulley is more likely to stall the stepper motor than slip on the filament. Larger pulleys tend not to dig into the filament like the small pulleys at higher pushing forces.

Comments are closed.