Weight compensation

I realised, that the arm has inaccurate Z position with different Y values. The more the arm stretches, the more Z changes. I guess that’s not an issue by itself - it’s just a tribute to gravity, since the arm material bends a little due to the weight it has to carry.

However since the laser module is relatively heavy, this causes the laser to loose focus, either near the base or near high y positions, depending on where the focus was adjusted.

So a nice feature for a future firmware and studio release would be to give a value for the weight the arm carries at the moment and then the firmware compensates automatically for the bending of the arm by moving it to slightly higher z when the arm stretches, calculated on the given weight setting.

I think this also happens with the 3D printing module where Z becomes imprecise on high Y, which is a bigger issue as your print will most certainly fail when you use the whole build-plate.

Mesh leveling could probably compensate for this issue, but kinematics taking into account the weight of the module could be very neat.