Jump to content
UltiMaker Community of 3D Printing Experts

Reliable Protocol for Measuring Printer Accuracy

Recommended Posts

Posted · Reliable Protocol for Measuring Printer Accuracy

Hey there guys,

I was here a while ago asking around to find some hard numbers on the printers accuracy, precision and backlash. Nobody really had much, so I picked up a gauge dial and did a series of measurements on the three axes.

I was hoping to begin a trend here where people can measure and post the qualities of their machine, in order to begin devising a database of average assembled machine quality. In addition, this can really help give some true figures on the advantage of the direct drive design, the GT belts and pulleys, or any other combination of parts.

So I guess I should start with my data

It is very important to mention here that I was using at this time a gauge dial with 12 um resolution with about 15-25 um of hysteresis (aka the normal $40 dial you find on amazon) Since then, I now own a $350 dial that has 1 um resolution and only 3 um hysteresis, but I haven't retaken the measurements yet.

For motion in the X or Y axis (my data was about the same for both):

Protocol - tell machine to move using GCode by setting steps per mm to 16 and then moving the appropriate number of steps. Measurements repeated ten times.

Full Step - (i.e. 16 steps):

Expected Distance: 0.203 mm

Average Distance - 0.322 mm

Error in Distance Travelled as % of Avg Distance - 37.62%

Std Deviation as % of Avg Distance - 3.71%

Half Step - (i.e. 8 steps):

Expected Distance: 0.1016 mm

Average Distance - 0.1629 mm

Error in Distance Travelled as % of Avg Distance - 36.93%

Std Deviation as % of Avg Distance - 9.64%


Microstepping (6 steps used here)

Expected Distance: 0.076 mm

Average Distance - 0.1245 mm

Error in Distance Travelled as % of Avg Distance - 38.78%

Std Deviation as % of Avg Distance - 15.91%

This data points out an important trend - the increase in step variability as you move from full to half to microstepping. The 36-38% consistent offset in the desired motion was surprising, but it is clear that the consistency of that across all three trials demonstrates the difference between 'accuracy' and 'precision' here.


In addition, I looked into my backlash, and it averaged at 773 um, with a standard deviation of 133 um. For this measurement, my protocol was to move on one particular axis and measure at that position. Then the machine would be told to move right 10 cm than left 10 cm. The difference would correspond to the backlash.


After I finished these measurements I began the search for a ballscrew and recirculating guide system, since I need this box to move with about 4-5 um resolution with about 3-5 um of accuracy.


Let me know how your box holds up! If other people are willing to take the challenge I'll even retest mine with the more accurate dial in order to get more precise results.


  • Link to post
    Share on other sites

    Posted · Reliable Protocol for Measuring Printer Accuracy

    Oops - can a mod please delete the other topic, it seems to have duplicated after I went in for an edit and added a few numbers that I had left off the first post.


  • Link to post
    Share on other sites

    Posted · Reliable Protocol for Measuring Printer Accuracy

    1) Nice.

    2) 3 um? Wouldn't you need laser interferometry to get that kind of accuracy?

    3) What are you trying to do with your um that you want this kind of accuracy? For example is this for making 3d printed objects or are you planning something different? For example I have seen errors as high as .5mm on things like diameters of circular holes in my part or in width's (in x or y direction) of a printed part. For example PLA shrinks between the time when you print and when it has cooled to room temperature.


  • Link to post
    Share on other sites

    Posted · Reliable Protocol for Measuring Printer Accuracy


    But even if you could have a super accurate UM, you would still have the issue of the varying filament diameter ?

    Yes, the flow-rate can be adjusted on the Ulticontroller, but wouldn't it be nice to have some device that can register the filament diameter in real time, so the extruder process can be adjusted accordingly in advance..?

    Then that device could send a signal to the Ulticontroller, and adjust the flowrate, just like you can do manually.

    Only difference, the adjustment takes place before, instead of after an extrusion problem occurs.

    Problem is, UM would have to incorporate such a device input into a new ulticontroller....

    Such a device could possibly be made with a sort of Hall-sensor, capable of measuring very small movements caused by the varying filament diameter.

    Maybe a little off topic, but still an interesting idea for future upgrades....?


  • Link to post
    Share on other sites

    Posted · Reliable Protocol for Measuring Printer Accuracy

    It would be tough - you would need to accurately know the distance between this device that measured the diameter and the spot where the material is melted. So that when a thinner piece go to the nozzle you wouldn't adjust steps/mm until that spot got to the melt point.

    Another way to take care of this is by having better quality filament. Some manufactures are better than others.


  • Link to post
    Share on other sites

    Posted · Reliable Protocol for Measuring Printer Accuracy

    I agree,

    More accurate filament diameter would be the best solution.


  • Link to post
    Share on other sites

    Posted · Reliable Protocol for Measuring Printer Accuracy

    If you're really changing the number of steps/mm to do this test, I'm not sure that you're really testing the difference between micro-stepping and not microstepping. All you are changing is the number of steps that gets executed to move from A to B (and hence getting a shorter distance moved as you request ever-lower steps per e).

    The firmware calculates the total number of steps needed to perform the requested move (based on steps per e), and then pulses the motor lines that many times. How far each of those pulses moves the motor depends on the configuration of the steppers. Off the top of my head, I don't remember how the microstepping is set up on the X/Y axes - but in any case, the printer is going to be using exactly the same microstepping in each of your test cases, just not moving as far. I'm afraid you may just be seeing the inaccuracy in your measuring tools as you try to measure smaller and smaller moves.


  • Link to post
    Share on other sites

    Posted · Reliable Protocol for Measuring Printer Accuracy

    Maybe it's just me, but wouldn't this be the expected outcome? By utilizing microstepping, you are essentially semi-pulsing the motor to place it in between steps, which will get you closer (more accurate) but will not be as precise as a hard step. You could counteract this by setting up a gearing system to take advantage of the precision of hard steps and the accuracy of microstepping by essentially gearing the step down by 1:16, but then you are loosing your element of speed. I guess it all comes down to what you want the printer to be used for. If you want something that requires that level of precision, I don't think the UM is the best tool for the job (belts, variation in filament, environmental conditions, etc). To me, if that precision is required, I'm buying a SLS/SLA printer that negates several of those constraints of the UM.


  • Link to post
    Share on other sites

    Posted · Reliable Protocol for Measuring Printer Accuracy

    I'm in need of such fine precision since I am working towards tissue & organ printing.

    I was hoping instead to use this section of the forum to discuss the advantages of each of your individual setups, in repeatable mathematical ways so as to truly test if, for example, direct drive will improve my variability enough to warrant setup.



  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.3 stable released
        In this stable release, Cura 5.3 achieves yet another huge leap forward in 3D printing thanks to material interlocking! As well as introducing an expanded recommended print settings menu and lots of print quality improvements. Not to mention, a whole bunch of new printer profiles for non-UltiMaker printers!
          • Thanks
          • Like
        • 24 replies
      • Here it is. The new UltiMaker S7
        The UltiMaker S7 is built on the success of the UltiMaker S5 and its design decisions were heavily based on feedback from customers.
        So what’s new?
        The obvious change is the S7’s height. It now includes an integrated Air Manager. This filters the exhaust air of every print and also improves build temperature stability. To further enclose the build chamber the S7 only has one magnetically latched door.
        The build stack has also been completely redesigned. A PEI-coated flexible steel build plate makes a big difference to productivity. Not only do you not need tools to pop a printed part off. But we also don’t recommend using or adhesion structures for UltiMaker materials (except PC, because...it’s PC). Along with that, 4 pins and 25 magnets make it easy to replace the flex plate perfectly – even with one hand.
        The re-engineered print head has an inductive sensor which reduces noise when probing the build plate. This effectively makes it much harder to not achieve a perfect first layer, improving overall print success. We also reversed the front fan direction (fewer plastic hairs, less maintenance), made the print core door magnets stronger, and add a sensor that helps avoid flooding.

        The UltiMaker S7 also includes quality of life improvements:
        Reliable bed tilt compensation (no more thumbscrews) 2.4 and 5 GHz Wi-Fi A 1080p camera (mounted higher for a better view) Compatibility with 280+ Marketplace materials Compatibility with S5 project files (no reslicing needed) And a whole lot more  
        Curious to see the S7 in action?
        We’re hosting a free tech demo on February 7.
        It will be live and you can ask any questions to our CTO, Miguel Calvo.
        Register here for the Webinar
          • Like
        • 18 replies
      • UltiMaker Cura Alpha 🎄 Tree Support Spotlight 🎄
        Are you a fan of tree support, but dislike the removal process and the amount of filament it uses? Then we would like to invite you to try this special release of UltiMaker Cura. Brought to you by our special community contributor @thomasrahm
        We generated a special version of Cura 5.2 called 5.3.0 Alpha + Xmas. The only changes we introduced compared to UltiMaker Cura 5.2.1 are those which are needed for the new supports. So keep in mind, this is not a sneak peek for Cura 5.3 (there are some really cool new features coming up) but a spotlight release highlighting this new version of tree supports.  
          • Like
        • 22 replies
    • Create New...