Delta printer least-squares calibration calculator


This calculator implements the least-squares delta calibration algorithm that RepRapFirmware has built-in. I have provided it as a service for those not running RepRapFirmware. You can choose to calibrate the following parameters:

  • 3 factors (endstop corrections only)
  • 4 factors (endstop corrections and delta radius)
  • 6 factors (endstop corrections, delta radius, and two tower angular position corrections)
  • 7 factors (endstop corrections, delta radius, two tower angular position corrections, and diagonal rod length)

It deliberately doesn't adjust any other tower position coordinates, because doing so isn't helpful. Any adjustment to the 6 possible tower position coordinates is equivalent to adjusting the delta radius and two tower angular positions, plus a translation of the bed origin and a rotation of the bed. You don't want to rotate the bed - that will just move the height errors to points you haven't probed. You don't want to translate the bed either - as well as moving height errors to points you haven't probed, it will reduce your print area because the bed origin will no longer be equidistant from the towers.

I recommend using 6 factors. Unless you measure nozzle heights a very long way out opposite each of the towers, there is insufficient information to determins diagonal rod length accurately.

To use the calculator:

  1. If you have any tower radius corrections configured in your firmware, remove them.
  2. Enter your current diagonal rod length, delta radius, homed height, endstop corrections, and tower position corrections. The tower position corrections are in degrees anticlockwise viewed looking down on the printer. All other values are in mm, except that if the firmware type is set to Repetier then the initial endstop corrections are in steps.
  3. Choose how many factors to calibrate (see below).
  4. Choose some points covering all arease of the bed at which to measure the nozzle height error. The calculator will suggest some if you enter your printable radius, select 4, 7 or 10 points, and press the Suggest probe points button. Alternatively, choose your own. The XY coordinates of each point must be the coordinates of the nozzle, not the coordinates of the Z probe if you are using one.
  5. Measure the nozzle height errors at those probe points, then enter the values in this calculator along with your machine parameters. Enter positive height errors where the nozzle is too high, and negative height errors where it is too low.
  6. Press the Calculate. Check that the calculator reports success.
  7. Copy the output parameters to your machine. You can use the generated M665 and M666 commands to do some or all of this for you, depending on your firmware.
  8. Repeat the whole process once more. Two iterations should be sufficient unless your calibration was a long way off initially.
If you find the above is rather laborious, why not upgrade your electronics to Duet WiFi, which has the calibration calculator built in to the firmware so that you can auto-calibrate in just 30 seconds?

You can send feedback to me using the Contact form.

Calculator © 2015 Escher Technologies Ltd.

Update history

2016-01-01 Corrected sign of nozzle height errors
Added MarlinRC option
Invert endstop corrections where necessary
Corrected homed carriage height calculation
Generate suggested points for 4-point probing
Generate M665 D E H Z parameters when Smoothieware is selected
2016-01-17 Corrected sign of endstop corrections when Repetier is selected
Normalise endstop corrections to be all positive when Repetier is selected
Trap errors if probe points are unreachable or not distinct
2016-01-31 Added R parameter to generated M666 command when Marlin RC firmware is selected
Added "Copy to initial parameters" button
2016-03-30 Added D parameter to generated M666 command when Marlin RC firmware is selected
Corrected call to function SwapRows from GaussJordan
Firmware type: RepRapFirmware Smoothieware Repetier Marlin (standard) Marlin (Rich Cattel)
Steps/mm (for Repetier only):
Initial endstop corrections: X: Y: Z:
Initial diagonal rod length:
Initial delta radius:
Initial homed height:
Initial tower angular position corrections: X: Y: Z:
Printable bed radius:
Number of probe points:
Number of factors to calibrate:
Normalise endstop corrections?
New endstop corrections: X: Y: Z:
New diagonal rod length:
New delta radius:
New homed height:
New tower position angle corrections: X: Y: Z: