> For the complete documentation index, see [llms.txt](https://guide.petoi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guide.petoi.com/product/bittle-x-v2+arm/control-and-program/petoi-desktop-app/joint-calibrator.md).

# Joint Calibrator

Please refer to [the introduction](/product/bittle-x-v2+arm/control-and-program/petoi-desktop-app.md) for installing the Petoi Desktop App and connecting the robot to your computer.

## Prepare for calibration

This robotic arm is already fully assembled.

For the **pre-assembled** kit, install the neck servo in the servo slot using two M2 x 5 self-tapping screws. Then you can do the fine-tuning.

<figure><img src="https://docs.petoi.com/~gitbook/image?url=https%3A%2F%2F1565080149-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MQ6a951Q6Jn1Zzt5Ajr-887967055%252Fuploads%252Ft8gnaABbmIwaMjHivgYX%252FNeck.jpeg%3Falt%3Dmedia%26token%3D83a08d4b-db61-4635-ac52-8c7a69d61d06&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=4addb956&#x26;sv=2" alt=""><figcaption><p>Install the robotic arm</p></figcaption></figure>

## The rationale for calibration

### Understand the zero state and the coordinate system

After [entering the calibration mode](#enter-the-calibration-state), with all servos rotated to their zero angles, attach the head, tail, and legs prepared in the previous section to the body. They are generally perpendicular to their linked body frames. The calibration pose is shown below:

<figure><img src="/files/jWYfOTCjDsbDKa4oT7BR" alt=""><figcaption></figcaption></figure>

For the construction kit, please install the servo-related components as shown in the picture (calibration mode) and ensure they are perpendicular to each other (the upper leg is perpendicular to the torso, and the lower leg is perpendicular to the upper leg).

{% hint style="warning" %}
Note: Insert the servo-related components directly into the servo output shaft; do not turn the output shaft during this process.
{% endhint %}

Rotating the limbs counterclockwise from their zero states will be positive (the same as in polar coordinates). Viewed from the left side of the robot's body, the counter-clockwise rotation of the joint is defined as the positive direction.

{% hint style="info" %}
The only exception is the head tilt angle for Nybble. It’s more natural to say head up, while it’s the result of rotating clockwise.&#x20;
{% endhint %}

{% hint style="info" %}
However, from the right side of the robot's body, the rotation directions' positive and negative are just opposite.
{% endhint %}

### Discrete angular intervals

If we look closer at the servo shaft, we can see it has a certain number of teeth. That’s for attaching the servo arms and avoiding sliding in the rotational direction. In our servo sample, the gears divide 360 degrees into 25 sectors, each taking **14.4** degrees(offset of -7.2\~7.2 degrees). That means we cannot always get a perfect perpendicular installation.&#x20;

![](/files/v400iIvlmpXjiobnloRS)

## Calibration process

### Enter the calibration mode

{% hint style="info" %}
Connect the battery to the mainboard, then long-press the battery button for more than 3 seconds to power on the robot.
{% endhint %}

&#x20;After a battery powers on the robot, there are two methods to enter the calibration mode:

* It will automatically enter calibration mode when you click the **Joint Calibrator** button.<br>

  <figure><img src="/files/CS20IELy2ji3gHVEWbTd" alt=""><figcaption></figcaption></figure>
* Click the **Calibrate** button in the **Joint Calibrator** interface.&#x20;

{% hint style="info" %}
The servo slider is not available in the light yellow background area in the interface.
{% endhint %}

The joint calibration interface for Bittle X+Arm, which uses **BiBoard V1** in the Petoi Desktop App, is as follows:

<figure><img src="/files/c2xhtXbVZNXlLGgRgtCT" alt=""><figcaption><p>For Bittle X+Arm with BiBoard V1</p></figcaption></figure>

Some customers already have **Bittle X** (BiBoard V0), which can also be equipped with a robotic arm. The joint calibrator interface is as follows. Please **note** the wiring of the servo:

<figure><img src="/files/0Rvk6j7dol4SFp5hx3Gg" alt=""><figcaption><p>For Bittle X+Arm with BiBoard V0</p></figcaption></figure>

### Installing and Fine-tuning

{% hint style="warning" %}
Please **disregard** the type of mainboard in the following installation pictures, as all Petoi mainboards have the same size.&#x20;
{% endhint %}

For **the Construction kit**, after entering the calibration state, please install the neck servo and legs as follows:

### Install the neck servo and leg servos

{% hint style="info" %}
Note:

You must use the neck section with a J-hook (as pictured below) to prevent the neck from falling when using this robot arm.

<img src="/files/AoTVJCeFZscPOVGhDd3g" alt="" data-size="original">      ![](/files/t8pKzAzCsZTioctL4P1S)
{% endhint %}

Installing the neck servo is the same as [installing the head](/mobile-app/calibrator/bittle-bittle-x.md#install-the-head) of Bittle.

Installing the leg servos is the same as [installing the legs](/mobile-app/calibrator/bittle-bittle-x.md#install-the-legs) of Bittle.

### Install the robot arm

This robot arm is already fully assembled. After finishing calibrating the neck servo and the leg servos, power off the robot and [install](/extensible-modules/robot-arm.md#installation) the servo slot on the neck servo with two M2\*5 self-tapping screws.

Then, power on the robot, and do the joint calibration for the servos on the robot arm.

#### Fine-tuning

{% hint style="info" %}
The **pre-assembled** robot should already have the components adequately installed. You can do the joint calibration for fine-tuning directly, without needing to uninstall the head and legs.&#x20;
{% endhint %}

Please use the L-shaped calibration tool included in the package as a calibration reference. According to the joint numbers shown in the calibration interface picture, click and drag the corresponding joint sliders or click the blank areas of the slider tracks to fine-tune the joints to a right angle.

Please note that when calibrating the servos, adjust the upper leg first, then change the lower leg.

![](/files/0HXBQK8Fem9hj1AmppKy)

![Align the upper leg first](/files/QpS91FEEbFx1kWR8Yofo)

![Pay attention to the reference edges for the lower leg](/files/kuwZZVGFrrkgDo4rhGiH)

{% hint style="info" %}
If the offset is more than +/-9 degrees, you need to remove the corresponding leg and reinstall it by rotating one tooth and then dragging the corresponding slider. For example, when it is adjusted to +9 and still not right, remove the corresponding leg and shift one tooth when attaching it. Then, you should get a smaller offset in the opposite direction.&#x20;
{% endhint %}

The process of fine-tuning the legs and the neck servo (**joint index 0**)  is the same as that of [Bittle / Bittle X's](https://guide.petoi.com/desktop-app/joint-calibrator/bittle-bittle-x#fine-tuning) (as above).&#x20;

Please click the blank part of the slider track and follow the calibration posture below to fine-tune **Servo 1** (**joint index 1**) on the robotic arm.

Please click the **Auto** button to fine-tune the claw servo (**joint index 2**) on the robotic arm.

You can also manually click the blank part of the corresponding slider track and adjust the gear on the servo output shaft to the position shown in the figure above.

### Validation and Save data

<figure><img src="/files/jHNumtKNF7h0GatL9xoh" alt=""><figcaption></figcaption></figure>

You can switch between  "**Rest**", "**Stand up**" and "**Walk**" to test the calibration effect.&#x20;

If you want to continue calibrating, please click the **Calibration** button, and the robot will be in the calibration state again (all servos will move to the calibration position immediately).&#x20;

{% hint style="warning" %}
Note: You may need a second round of calibrations to achieve optimal results.
{% endhint %}

After calibration, remember to click the "**Save**" button to save the calibration offset. Otherwise, click the "**Abort**" button to abandon the calibration data. You can save the calibration in the middle in case your connection is interrupted.&#x20;

{% hint style="info" %}
When you close this window, there is a message box shown below:

![](/files/iEbvluamYhzOnshzp9Bn)

To save the calibration data, please click the "**Yes**" button; otherwise, click the "**No**" button. Click the "**Cancel**" button to cancel or quit.
{% endhint %}

### Install the screws for the construction kit

After completing the joint calibration, install the center screws to fix the components and servo gears.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://guide.petoi.com/product/bittle-x-v2+arm/control-and-program/petoi-desktop-app/joint-calibrator.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
