Step 1 : Extruder motor calibration

The first thing to do is to calibrate your number of steps/mm for the extruder motor because all other dimensions will depend on that.
Calibrating the E steps means that you want to extrude the exact quantity of filament that you asked for in your slicer.
In Cura the value we're talking about here is called the "Line width", and especially the "Outer wall line width". This value tells Cura to extrude a certain amount of filament in order to produce a line that should be this exact width (usally the same as your extruder nozzle - commonly 0.4mm). This is going to be your "Theorical E value". To check if your printer's extruder motor is well calibrated, simply print a small hollow cube with :

  • 1 single wall
  • no infill
  • no top nor bottom

The calibration cube I'm printing in this tutorial is 20x20x20mm.

Weedo Tina2 calibration, Jan 2022

I strongly suggest to write the X orientation on your printed cube (see above photo) before removing it from the print bed, and to write the Y orientation right after you removed it (following photo)

Weedo Tina2 calibration, Jan 2022

Then measure the width of that single printed wall (see following photo) Measure it on each side (X1/X2/Y1/Y2), write down these values, and calculate the average value from these 4 measurements : this is going to be your "Measured E value".

Unless you're very lucky, you probably won't have a "Measured E value" that is perfectly equal to your "Theorical E value" (see photo below).

Weedo Tina2 calibration, Jan 2022
That means you have to modify your E steps/mm in the firmware.
You can do so by using Pronterface
with your Tina2 connected to your computer with a USB cable (you can read more about that here).

Now you have to calculate the new desired E value that will produce a line width corresponding to the one you asked for in your slicer (0.4mm in my example).
You can calculate this new E value by using this simple formula :

"New E value" = ("Theorical E value" / "Measured E value") * "Old E value"

The "Old E value" is the one that is actually stored in your firmware.
You will know what its value is when you first connect to your Tina2 with Pronterface, or simply retrieve this information by sending a "M501" Gcode command to your printer.
It will appear on the M92 displayed information as Eeee (where "eee" is your actual number of steps/mm for your extruder motor. It should be "90" if you never changed it before).
Write down this value (eee).

Let's take an example...

Your "Theorical E value" is 0,4mm
Your "Measured E value" is 0.384mm (like on my photo)
Your "Old E value" is 90 (mm)
Your "New E value" will be (0.4 / 0.384) * 90 = 93.75

This is the value you need to tell your firmware to work with in order to produce an accurate 0.4mm single line width.
Of course this was just an example and you need to proceed with your own value. Each Tina2 is unique !
I have calibrated more than 10 of them and each time the values were different.
So work with your own values !

To tell your firmware to work with your calculated E value, simply type the following Gcode command in Pronterface :
M92 Eeee
then <Enter> (or use the "Send" button - bottom right) where "eee" is your calculated E value (93.75 in my example).
But at this point the new value isn't stored yet. It has simply been sent to your firmware.
To store it on the EEPROM (erase and replace the old value) you need to enter a "M500" Gcode command.
Then to make sure it's been stored you should retrieve the firmware informations again by typing a "M501" Gcode command.
You should now see that your "M92 Eeee" value has changed.

I call this "M92/M500/M501" sequence the "Send/Store"Check" procedure.

Weedo Tina2 calibration, Jan 2022

Well done ! You now know how to modify tne number of steps/mm of a particular motor on your firmware.

Print the very same hollow cube again then measure it's wall width again. If you did the math correctly the new measures should be closer to the "Theorical E value" (see photo below).

Weedo Tina2 calibration, Jan 2022

If they really match well (like on the photo above) you can consider your extruder motor to be calibrated and go to the next step.

If not, you will have to do the math again (take care that your "Old E value" is no more 90 but the one you previously stored) and redo the "Send/Store/Check" procedure aka "M92 Eeee/M500/M501".
Repeat this procedure until you're satisfied. It should take approximately 3 trials to get an accurate single line width.

Now that your extruder motor is calibrated you can go to the next step where you will calibrate the X/Y/Z axes motors the same way.

Weedo Tina2 calibration, Jan 2022

Step 2 : X/Y/Z motors calibration

Now that you know how to modify the steps/mm for a motor in your firmware, we're going to do the same to calibrate the axes motors (X, Y and Z).

If you don't yet feel confident with the procedure I suggest you proceed one axis at a time.

Let's start...
With the help of a caliper, measure the X, Y and Z dimensions of your last printed hollow cube (the one that gave you the best E value - see photo below measuring X).

Weedo Tina2 calibration, Jan 2022

Note your measurements as :

  • "Measured X value"
  • "Measured Y value"
  • "Measured Z value"

and also note your theorical values (size of your STL cube) as :

  • "Theorical X value"
  • "Theorical Y value"
  • "Theorical Z value"

plus note your firmware M92 actual values :

  • "Old X value" (M92 Xxxx)
  • "Old Y value" (M92 Yyyy)
  • "Old Z value" (M92 Zzzz)

Then once again, using the same formula you used for the extruder motor and calculate your :

  • "New X value" = ("Theorical X value" / "Measured X value") * "Old X value"
  • "New Y value" = ("Theorical Y value" / "Measured Y value") * "Old Y value"
  • "New Z value" = ("Theorical Z value" / "Measured Z value") * "Old Z value"

And use the "Send/Store/Check" procedure to modify your firmware steps/mm for each motors (M92 Xxxx / M92 Yyyy / M92 Zzzz).
As a reminder the "Send/Store/Check" procedure is :

  • M92 Xxxx (Send - here for X)
  • M500 (Store)
  • M501(Check)

You could check only once for all 3 motors. Then you will enter :

  • M92 Xxxx (Send X)
  • M500 (Store X)
  • M92 Yyyy (Send Y)
  • M500 (Store Y)
  • M92 Zzzz (Send Z)
  • M500 (Store Z)
  • M501(Check)
Weedo Tina2 calibration, Jan 2022

Then print your calibration cube again. But this time don't print it hollow.
Give a few extra walls, some infill and top+bottom. You want to be as close as possible to a real print situation here.

Measure your new printed cube.
Your dimensions should now be more accurate. But you will probably have to do it again for even better results. So do the math again (take care that your "Old X/Y/Z values" are now the one you previously stored) and redo the "Send/Store/Check" procedure aka "M92/M500/M501".
Repeat this procedure until you're satisfied. It should take approximately 2 or 3 trials to get a very accurate printed cube !

Weedo Tina2 calibration, Jan 2022

Congratulations ! Your beloved Tina2 is now fully calibrated.

But it could even get better by tuning some other parameters like acceleration or PID settings.
I might write another tutorial about that so stay tuned !