## Issue 1:

This IR sensor occupies the same space in the print head but itâ€™s wider than the existing one. This means the probe offset from the nozzle is slightly different. The existing sensor offset is X13 Y19.15. The new IR sensor has an offset of X13.5 Y0.

We assume that any planes are not perfectly even, and we set a list of \$h0_i\$s to describe the flatness of the print sheet. And we need to calibrate the heated bed before 3D print. Being able to assure that the height of the printing module is consistent when work on the first layer, we need to get the height differences among the calibration points.

There is an offset between the probe and the tip of the nozzle, and we need to adjust it so that the probe can be triggered. The offset is very important to keep the module calibrating successfully, but not crucial.

Assume the probe is triggered at (I, J) during calibration process.

\$Value = h0 + h1 + probe offset\$

Assume users adjust the Z-offset at the final point and then we think h1 equals 0.

\$Value_f = h0 + probeoffset\$

We can get h1 via \$Value\$ and \$Value_f\$.

\$h1 = Value - Value_f\$

Now we get a constant value, h1, which stands for the distance where the nozzle from the print sheet.

\$h0_6 + h1\$ \$h0_5 + h1\$ \$h0_4 + h1\$

\$h0_7 + h1\$ \$h0_8 + h1\$ \$h0_3 + h1\$

\$h0_0 + h1\$ \$h0_1 + h1\$ \$h0_2 + h1\$

For every value that we get from the matrix, we need to subtract a constant h1. And we can get a new matrix of \$h0_i\$s. And this stands for the flatness of the surface and we need to compensate the offset at different points.

We can get a list of \$h0_i\$s, and those values can stand for the flatness of the print sheet, and those are what we want.