A Better Nickel Calibration Test

by MrJohn, published

A Better Nickel Calibration Test by MrJohn Sep 5, 2011
23 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


Use This Project

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

26519Views 7827Downloads Found in 3D Printing Tests


The last nickel calibration test I designed gave no real feedback on how to fix the problem. This one should allow for measurements and corrections.

This one is exactly 21.21 mm wide in both the x and y. The slots are the same lengths (21.21mm) but a little wide (3mm)to disregard the width of the slot until the x and y are perfect.

Please like and upload photos of your made thing! I love to see this still working for everyone so many years later!


"This is based on my limited knowledge of using, building a 3D printer (Prusa Mendel) and all the things I've learned up to this point (I started in March of 2011).

It has been pointed out to me that this may not be the end-all-be-all of calibration tests.

This test assumes that you have a working knowledge of calibrating your firmware steps per mm and are comfortable doing so. It also assumes that your extruder has been precisely calibrated.

Please use at your own discretion. It works for me."

Step 1- Print using zero extra shells, no scaling, or widen.

Step 2- Attempt to place a nickel in the circle once the print is done. If it does not sit perfectly in the circle with no extra space on the sides then move to step 3.

Step 3- Mark the two slots as needed to remember which is X and Y.

Step 4- Remove piece from bed.

Step 5- Measure the insides of each slot. Also, attempt to slide the nickel through. If the coin can not pass you will be increasing the steps per mm for that axis. Vice versa if coin easily passes through with space to spare.

Step 6- You should have two numbers from measuring the slots. I had 23 on x and 22 on Y.

Step 7- Divide your number by the width of the nickel (21.21mm) For me it was 21.21/23x= 0.9221739130434783 and 21.21/22y=0.9640909090909091

Step 8- Multiply this long number by your current steps per mm in the firmware. Mine was 42.42. So, 0.9221739130434783x*42.42=39.11861739130435

This number will become your NEW steps per mm for that axis. Repeat this step for Y.

Step 9- Upload this to your board and print again. Repeat until the coin barely fits through the slot and fits snugly in to the hole.

Step 10- To calibrate Z, simply use digital calipers to measure the height of the test piece and use the same method to change the steps per mm.

More from 3D Printing Tests

view more

All Apps

3D Print your file with 3D Hubs, the world’s largest online marketplace for 3D printing services.

App Info Launch App

This App connects Thingiverse with Makeprintable, a cloud-based mesh repair service that analyzes, validates and repairs most common mesh errors that can occur when preparing a 3D design file for p...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App
Aug 4, 2016 - Modified Aug 4, 2016

Hello, I just wanted to say that this print was a huge life saver. I was about to throw in the towel on my prusa i3 and now I have really good prints! It showed me where I was having mechanical problems and I was able to fix them with precision, and allowed me to adjust the steps per mm to really tight tolerances. However I have never had any luck using the steps per mm formula so I just moved the stepps per mm by .1 plus or minus in till I was near where it should be then moved it by .01 plus or minus till it was closer, repeated it in till it was calibrated. Now i'm printing press fit parts! So happy!! Thank you very much!!

I'm really happy to hear that and proud that my little thing has helped you!

You mention in your instructions that to calibrate Z, you use digital calipers to measure the height of the test piece and use the same method to change the steps per mm. However, I don't see where you tell us what the height dimension is supposed to be. That's vital information.

Should be 1.95mm according to slicer's object size on Z.

Is there a difference between this nickel test and the other (diamond) one? Because my nickel fits perfectly in the other one, but it can't fit at all into any of these openings (rectangle or circle).

At first I thought it was my feed rate (over extrusion) so I used this thing to extrude just to the point where the top layer barely has gaps between lines. However, this made the other test more perfect, and this one the same... In fact, I'm starting to have the opposite effect (larger inner apertures with smaller outer dimensions) while still having solid structures! :)

Oct 1, 2014 - Modified Oct 1, 2014
typo148 - in reply to PhatJustice

Ya, that other one has a hole 22.0mm, this hole is 21.21mm.

wow thanks for this thing! a couple google searches to learn how to get to my firmware and wa la coin fits now!

Would you please add the expected straight-side outer dimensions and the thickness (z) for this piece?

One thing that stymied me for a bit. This is really best for measuring the inside hole calibration but that may not match up with the outside dimensions. The steps/mm seem to control the outside dimensions. If the outside is ok and the inside is not, it a slicing issue or over feed or perhaps something else. I kept going back and forth when I would print a 110mm outside cal piece and get it right then come back and this one is too small. Fix that and the 110mm is too big.

So for now I am focused on getting the outside just right and then I can try to work on getting the holes to open up.

What program did you use to create the G-Code

How am I supposed to fit 5 pennies through the slots? ;-) Old joke but I couldn't resist. I've printed several of these--very handy and a 10 minute print.

This single thingi is awesome. In two prints I calibrated mine to where it needed to be to fit M3 nuts and the like. And my holes are now correct.


I printed both this and http://www.thingiverse.com/thing:14536http://www.thingiverse.com/thi... (square, known distance) and the coin one is exactly .35mm to small and the square is almost exactly .35mm to big and my hot end is .35mm. I printed them both at the same time with slic3r. I assume I'm calibrated since if I adjust one, it would throw the other one way out?

Square, Known Distance Calibration tool
by MrJohn

This is the first thing I print every time I change/tweak something. It does a great job of showing backlash in the x y axis. I've probably printed 75 of them. Great job!

Good stuff. I just switched from 8 to 12 tooth gears and had a rough idea of steps per mm. But this got it perfect. Well at least it showed my belts were loose and a little off on steps/mm

Of course its good for one color but slightly off for another. But thats a flow issue, 2 different size diameter filaments can cause issues like this.

Any ways, thanks!

I'm not really clear on where to make the necessary changes.

My print came out undersized (the slots were too short for the nickel to fit through, and the circle was too small as well.

I tried to find the settings in ReplicatorG (I looked under "Edit Base Profiles") but I didn't see a place to change "steps per mm".

I'm using a new (Jan 2012) makerbot T
oM with a Mk7 extruder. Thanks in advance for your help!

Steps per mm may be a Reprap thing. I just met someone with a Makerbot and I believe that you have to turn up the "pots" on the controller board to calibrate.

Can any Makerboters confirm this?

On a reprap we adjust the firmware on the controller board to dictate how many steps of the motor must be taken to equal 1 mm. We edit that by opening the Arduino software and changing the values of x y z or e.

It's really annoying that thingiverse doesn't set you up to follow your comments automatically. I always forget to follow and then wonder why I never get emails when someone replies!

Anyway, thanks for your reply. If that's true, that's a bummer. Because you have to take the base of the makerbot apart to make an adjustment, and then put it back together to test your adjustment!

If that's the way it's done that really sucks! But thanks for the heads up. :)

I have a printrbot, but I think for all boards that support the G92 command, you can add "G92 Yxx.xxxx" into your Slic3r start gcode, where Y is the axis and x
is the steps/mm. You can also do this with the E axis (extruder).

i am new... where do i edit the settings at?

You probably know this by now (question posted >2 years ago), but instead of recompiling your firmware, you can just add "G92 Yxx.xxxx" into your Slic3r start gcode, where Y is the axis and x is the steps/mm. You can also do this with the E axis (extruder).

Depends on what software/firmware you are using. First you need to get your printer working well. Calibrate the extruder and xyz as close as you can using the guide in the reprap wiki. Then you can fine tune your steps with this test piece.

I've added a disclaimer that my information may not be 100% the proper way to calibrate for this test. Use at own discretion.

Logically speaking, tweaking steps per mm doesn't make much sense - the steps per mm is fixed based on the belt and motor gearing, and nothing else...

Please explain that to me. I was under the impression that since I've ordered the nozzle head to move 21.21mm inside length of the box and it moves more or less how would tightening my belt or changing my pulleys help? They are already very tight with barely any slack.


Lets say the belt has some slack in it. When the motor driving the belt turns it first has to take up the slack in the belt before the build platform ever begins to move. Since the gcode is based on motor position, this slack (also known as lash) is subtracted from the total movement of the plate. This makes the true measured movement relative to the build platform less then what the printer thinks it is moving. I hope this makes sence.

As for gearing, a larger gear would mean the platform moves a greater distance relative to the motor's rotation. Again, since the position is determined by ‘steps’ in the motor. Changing the gear size changes the distance a single step moves the build platform.

This is why steps per mm is re
liant on those two factors.

These are not as fixed as you may think.

Changes in temp and humidity can throw this off. And depending on what material your 3D printer is made of can alter these dimensions.

Like wood being the less stable of them all. Also belt and motor gearing can vary just enough to throw off the calibration of the machine. That
’s why you should check your machine every few months and make ajustments as needed.

Does this assume you have your flow and feed rates ok? If your flow rates are too low, will you be making your number of steps smaller than what they really are? For what I am thinking, the inner circles/shapes will be a compensated until they fit the nickel, but then the outside perimeter measurement will be too small.

Adding some outside dimensions
’ on the flats of the print should tell you if it is a flow/offset problem or scale problem. But if your circles are comming out like an ovel then it is a scale problem.

Yes, This test is assuming you have everything else the way you like it but find your circles to be oval.