Why the need for extrude (E) step calibration?

Sunday night I performed the E step calibration on my month old Mini (I’m slow about it). The factory setting was 833 and the value I came up with is 813. The nice prints I have been enjoying have improved. Dimensions of holes are only too small by 0.1mm instead of 0.5mm. This and measuring the filament diameter seem to be step one for new users after the first print.

The question I have is why does this need to be calibrated? There is a stepper motor driving the gear that drives a shaft with teeth in it to push the filament through the nozzle. It seems like it should be constant math for the number of steps to the distance the outside diameter of the shaft moves. That is in a perfect world.

Could these items be causing the need for E step calibration:

  • Is it that the diameter of the shaft varies from printer to printer?


  • Is it the distance that the teeth dig into the filament based on the tension spring and filament density which effectively change the diameter of the shaft?


  • Is it that the filament does not advance due to slipping every now and then?

If it is the 2nd one, then the calibration will need to be done each time the filament is changed. Also, I assume the heat from the nozzle flows up into the filament to the teeth pinch point such that it also depends on the history of the filament travel. For example if it is just feeding slowly, the filament will be hotter than if it was feeding quickly. Also, it seems that it would be hotter if it was just reversed.

The diameter and placement of the hobbs on the hobbed bolt shaft tend to vary enough that the esteps value changes slightly depending on how the bolt was cut, how worn the cutter was when it cut the bolt, what position the bolt was in the cutter in relation to the bearing, etc. There are other hobbed thing options that offer greater potential for accuracy across extruder heads (a bondtech extruder core for example), or you can take the time to order a pile of hobbed bolts, then do trial prints to find a set of 3 matched bolts like I did back in the day, which also works well.

Thanks for the reply. So, it sounds like once the E step calibration is done, it should work with different filaments. Maybe it should be done twice a year in case there is some wear.

So, my follow up question is why doesn’t Lulzbot calibrate their machines before shipping them. They take the trouble to print out an octopus and go through a large check list. Why not make the machine play well out of the box. It seems like it might improve their review scores as well.

At the least, they should recommend that new users calibrate their machines after doing the first test print. Maybe include a little 150mm ruler and detailed instructions. It is not hard to do and the return was well worth the effort.

The amount of wear on a hobbed bolt due to plastic is basically undetectable over the life of the bolt unless you get a bearing jam that destroyes the bolt. It’s like throwing a pillow against a brick wall. Sure, eventually the pillows might wear a hole through, but it will be a few billion years.

Lulzbot actually does calibrate the machines and print a test piece before shipping them, using the same general calibration process here: https://ohai.lulzbot.com/project/extruder_calibration/calibration/ only with more custom jigs. They do much more calibration with the Taz 4 and 5 onwards, and the minis, than they did with the Taz 3 and earlier, but even then environmental variables (ambient temperature, humidity, altitude) do play a small roll. So if they calibrate it perfectly for that spot in the factory, if your house is significantly different in ways that affect plastic rate of expansion due to changes in atmospheric pressure, you can get a different result. My Taz 3 was off slightly when I got it on the calibration from the factory (around 12 steps), but it was easy enough to fix.

Not much difference in the air as I live about 5 miles from the plant. But if temperature and air pressure have an effect, it seems that a calibration is in order more than twice a year. Maybe once a month when greasing the Z screws.

I was led to believe it was the bolt and how it was cut and not the filament that mattered. Your last post mentioned “plastic rate of expansion due to changes in air pressure”. Does this bring me back to calibration is needed every time I change filament as the amount that the teeth dig into the filament varies based on the density which also will wiggle with temperature which varies based on feed rate (including direction). Or is there some mechanical limit that fixes the depth of penetration which will be a constant as the springs will push hard enough to always go to the max depth?

It still seems to me that the E step calibration should be done by every owner after receiving their machine and should be part of the machine setup procedure and general maintenance.

Sorry to be a pain. I’m just trying to understand. The next time I change filament, I’ll do another calibration and see if the number comes in within the error of my eyes.

Thanks again for your help.

FWIW, the Dual Extruder V2 comes handwritten e-steps for each extruder on the back of the toolhead. It seems more accurate out of the box than my original single extruder.

The bolt and how it was cut matters much more than the atmospheric conditions, but those conditions also matter. A little. The factory calibration should be fine if you are 5 miles away from the factory, you can ignore it effectively. As your printer is probably indoors with similar humidity year round, you can ignore it the rest of the time as well.

If you were in a different state you might have to recalibrate once, but the difference the rest of the time is so small it gets lost in the error tolerances. You can always calibrate the steps more frequently, but it shouldn’t change much over time.

The mechanical bite of the Hobbs into the plastic is controlled by the idler arm tension springs. Once the bite is set in the general range your printer wants for that specific roll of filliament, you will rarely have to adjust it except for when you switch rolls out.

Esteps adjustment is tinkering with firmware. Many 3d printers are not technically adept enough to ever even think about messing with firmware, which is why you don’t always see it everywhere as a recommended step. It helps, but not everyone should go that route.

Another factor in your e-steps value is the speed at which you are extruding. The e-steps calibration OHAI calls for an extrusion speed of 100mm/s during the calibration procedure. However, if you slow to 40mm/s, which is much closer to a normal print speed, you’ll end up with a significantly lower e-steps number.

I saw a write-up somewhere showing how the spacing between the marks on the filament from the hobbed bolt changed with a change in extrusion speed. Their explanation was that it was from a combination of the elasticity/compressibility of the filament and the fact that the faster you are pushing the filament, the more back-pressure develops in the extruder, causing the extruder stepper to miss steps.

One of us or our friends at Lulzbot could make a simple little program to help with the calibration so anyone could do it. The process is not really updating firmware but setting a EEPROM value so it is not really that scary.

The provided guide does not apply to the Mini so I improvised. For example they talk about something called Pronterface but the link goes to a general download page without the word Pronterface on it. So, I figured the little window at the bottom of the control window would accept the G-code commands.

I entered M501 and saw it dump a bunch of crud and figured the E833 was the current E steps. I seem to recall another post where the factory default value was the same as mine as well (makes me think it is not calibrated at the factory). Then I ran into a problem in that I don’t know the command to extrude 100mm so I just clicked the extrude 10mm button 10 times. It seems to me that the 10mm button took about 1 second to suck in 10mm. I see the default outer shell speed is 30mm/s and inner shell speed is 35mm/s. Infill which the quality is a don’t care is 40mm/s.

I did the ratio math I learned in the 1970s and entered my new value with M93 E813. Then used M500 to save the settings followed by M501 to see if my new value showed up which it did.

So, what I need is the G code to extrude 100mm at 30mm/s or am I missing the knob that controls that on the screen? I found this doing a google search:

G1 E100 F300

I can’t seem to find for sure what are the units of the feed rate (F). It seems like it is mm/minute. So to get 30mm/s that would be 30mm/s * 60s/min = 1800mm/min. Does this seem correct to get 100mm of filament sucked in at a rate of 30mm/s ?

G1 E100 F1800

P.S. Here is another user that got a machine with the E step value set to 833 which is why I don’t think this is calibrated at the factory:

Re: New Mini owner calibration

Postby Rhoderman » Thu Mar 03, 2016 8:40 pm

Your rectangular block looks a lot like a rocktopus, but I will say he looks a lot better! > :stuck_out_tongue: >

He still looks quite a bit underextruded though. Have you set your E-steps yet? I’m doing that now on my Mini, and I found it needed a slight adjustment, was 833, now 820.7.

Hang in there, I’m learning this stuff myself.

According to this wiki, it seems your assumption about the feedrate in mm/minute is correct:
http://reprap.org/wiki/G-code#G0_.26_G1:_Move

:slight_smile: