> For the complete documentation index, see [llms.txt](https://manual.rotrics.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://manual.rotrics.com/faq-troubleshooting/troubleshooting/dexarm-movement-accuracy-problem.md).

# DexArm movement accuracy problem

**1) DexArm's initial calibration position:** the Axis-1 and Axis-2 arms are at the maximum position, and the base is right in the middle, as shown in the following picture:

![](https://lh3.googleusercontent.com/kTVl8caIJ17fHBGgmrnFot-zEQCdIr_sGxVL9Gw9KmXGofeRVSMJekulTTsyB2qS8TTllOn5DolZAt5Fj5Tiq6wG0OtFveOPHzGfUuyznpph6G6EHFYutKWAsK4UPvTYzltkPW9B)

* The Arm inverse kinematics is calculated based on this initial calibration position.
* Command M1111 moves the Arm to this initial calibration position. Please re-calibrate the arm if there is any position deviation.&#x20;
* Manually place the Arm in this initial calibration position, and then send command M889 via Terminal to re-calibrate the Arm.&#x20;
* HOME button (or command M1112) moves the Arm to the Home position (X0 Y300 Z0)

**2) The end-effector offset value**

* The Arm inverse kinematics also requires different offset values for different end-effectors. A wrong offset value will cause a large deviation in Y-axis.
* Command M888 Pn can set the right offset value for different modules. Command M888 without P parameter can check the current module.
* When using the pen holder module, please pays attention to the installation of the pen. The pen must be parallel to the pen module. If not, the end-effector offset value will be incorrect, and your writing/drawing works will have a large deviation in the size.&#x20;

**3) Leveling**&#x20;

* It’s required to leveling the Arm when the working desktop (such as the 3D printing plate) and the Arm base are unlevel.&#x20;
* Generally speaking, if you are working on a relatively flat desktop, there is no need to do leveling, and please send command M891 X0 Y0 to clear history leveling records.
* After sending command M891 X0 Y0, please do reboot the arm at first. Command M892 is to read the Leveling parameters, this command does not require a reboot.
* If the XY-axis parameters are too large during leveling, please double-check your working desktop and calculation method. Due to the kinematic structure of the Arm, it is not recommended to set a large XY-axis parameter.

**4) Technical Support:**&#x20;

If the above solutions still cannot solve your problem, please sort out the following information and contact us.&#x20;

* The current firmware version and Rotroics Studio version,
* The G-code file you are using,
* Please specify the deviation axis,
* A video will help us to analyze the problem.
