X-Y Calibration

This guide will walk you through the process of calibrating the position of the T1 tool head with respect to the T0 tool head. This calibration is necessary for any prints which use both tool heads on the same model. This includes support material prints.

1.1 When to calibrate the X-Y tool offset

Calibration of the X-Y tool offset must be done every time a hot end assembly (or tool head) has been manipulated in a way that affects the nozzle’s relative position to the carriage. This is part of normal operation and the machine may require minor adjustments and re-calibrations over time.

Procedures requiring re-calibration of the X-Y tool offset:
  • Changing nozzles – AON3D recommends that you replace the entire heater block assembly rather than individual nozzles
  • Removing the heatsink from the Z-probe fixture
  • Removing the heater block assembly (HBA) from the heat sink assembly
  • Changing heat breaks – AON3D recommends replacing the entire heater block assembly rather than only the heat break

1.2 Objective of X-Y calibration

Layout of the toolheads relative to each other

The objective of the calibration is to line up the material printed by T1 with material printed by T0. Without this procedure, the two tools may be misaligned and the material printed by the two toolheads will be shifted in the X and/or Y axis.

2 X-Y Calibration Process

Required Tools & Equipment
  • The two spools of ABS filament included with the M2 printer
  • Calipers or another measuring tool

The M218 G-code command will be used to modify the coordinate system of the T1 tool with respect to the coordinate system of the T0 tool. Please note, for this process, the T0 tool head remains “static”, while the M218 command changes the T1 position with respect to the T0 position. When changing the offset we are looking to move the printed features of T1 rather than T0 and treat the positioning of T0 as correct. 

The X offset obtained from the calibration represents the distance in X from the origin (placed at the front left corner of the build plate) to the nozzle tip of the T1 tool head in its parked position, as shown in the figure below. The Y offset is simply the distance in Y from the nozzle tip of the T0 tool head to the nozzle tip of the T1 tool head, in their parked positions.

T1 X offset diagram
  • Ensure probe offset calibration has been performed for both tools prior to conducting this procedure
  • Do not attempt to modify the X-Y offset of the T1 tool during the printing process
  • Offset calibration should not require changes of more than 10 mm from the nominal offset value
  • You can use filament other than ABS, but different print settings, including operating temperatures, may be required

2.1 X-Y Calibration High-Level Procedure

  1. Home all axes
  2. Determine T1 tool home position
  3. Start test print
  4. Observe printing behaviour and record offset error
  5. Modify T1 offset values via the terminal and M218 G-Code command
  6. Restart test print to verify offset change
  7. Observe printing behaviour and verify that offset error has been reduced
  8. Repeat the cycles as required to achieve the desired level of precision in your calibration.

The following sections outline the detailed execution of the process summarized above.

2.2 X-Y Calibration Factory File

Download the X-Y calibration G-Code file attached below. The file contains a simple square shape. The process is configured to have four “brim perimeters”. Temperatures have been set for use with AON3D approved ABS filament: 245°C extrusion temperature, 105°C bed temperature, and 80°C chamber temperature.

If you haven’t already, load the two spools of ABS filament provided with your machine on T0 and T1. Note that the filaments are different colours to easily distinguish the printed features on T1 from the printed features on T0. You can also download the X-Y calibration factory file (see attachment below) which allows you to create customized G-Code scripts to accommodate dual tool head calibration using filament material other than ABS. Once the G-Code script is created, you can upload it to the printer.


Before starting a print, the printer must be at thermal equilibrium. Make sure to preheat the bed and chamber to the operating temperatures for your chosen material. For ABS, you should be at 105°C bed temperature, and 80°C chamber temperature. The operating temperatures for other AON3D-validated materials can be found here.

2.3 The calibration test print

Tool heads printing alternating brims

Once you hit print, each tool head will print 2 "brim" perimeters. A brim is a single track of material deposited around the outside perimeter of a part. As the print proceeds, the tool heads will alternate, each printing a "brim" perimeter until each tool has printed twice around the outside of the square. At this point, the T0 tool will take over to print the perimeters of the part, while T1 will print the infill of the part.

2.4 Calibrating the printer

  1. Ensure the calibration G-Code file has been uploaded to the printer
  2. Note the initial T1 tool position by entering the following commands via the Terminal:
    • G28 ; Home all axes
    • T1 ; Select T1 as the active tool head
    • M114 ; Report current X and Y tool coordinates
  3. Take note of X and Y coordinates. These will be Xinitial and Yinitial.
  4. Start the calibration test print by tapping Print beside the calibration print g-code file in the files tab.
  5. Observe the printing process. Note the position of the T1 print relative to the T0 print.
  6. Once the print has finished, estimate or measure the T1 offset in X and Y. These will be ∆X and ∆Y.

2.5 Modifying the T1 X-Y Tool Offset


All units are in mm!

To modify the T1 X-Y tool offset, make sure the print has stopped, and enter the following g-code commands in the terminal:

M218 T1 X[X offset] Y[Y offset]

Where the X offset and Y offset values are calculated with:

X offset = Xinitial + ∆X
Y offset = ∆Y
  • Increasing the X offset value will move features printed by T1 to the operator’s left
  • Increasing the Y offset value will move features printed by T1 toward the front of the printer
  • The Y offset value should be smaller than +/- 2 mm
  • The X offset value should be larger than 500 mm

2.5.1 Example 1

  1. Determine T1 Home position

    > X:527.90 Y:-40.00 Z:0.00 E:0.00
  2. Test print: Run the X-Y Calibration G-Code
  3. The following was observed by the operator: ∆x = 10 , The T1 tool is printing 10 mm to the right of the ideal position ∆y = -0.75 , The T1 tool is printing 0.5 mm in front of the ideal position
  4. To correct this, T1 must be brought backward and to the left of the current printing location. This is accomplished by entering the following into the terminal:

    M218 T1 X537.9 Y-0.5**

The M500 command saves the offset values entered.

2.6 Verify Offset Performance

Once you have calibrated the X-Y offsets, run the X-Y calibration G-Code once more to ensure that the appropriate changes have been made. You may need to repeat this procedure to achieve the correct offset positions.

For further modification of the offset, continue adding the ∆X and ∆Y values from the next test prints to the X offset and Y offset values.

2.6.1 Example 2

  1. Verification print: Run the X-Y Calibration G-Code again.
  2. The operator observed an offset remaining in the verification print, measured as follows: ∆x = -0.5 , The T1 tool is printing 0.5 mm to the left of the ideal position ∆y = 0.25 , The T1 tool is printing 0.25 mm to the back of the ideal position
  3. To fine-tune the offset, T1 must be brought slightly forward and to the right, by entering the following into the terminal:

    M218 T1 X537.4 Y-0.25**

Once you have calibrated the T1 X-Y offsets, it is necessary to probe the bed with T1 again to compensate for the changed probe positions in the X-Y plane.

3 Congratulations!

The X-Y tool calibration process is complete. You are now ready to start dual-material printing with your AON-M2.

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.