> 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/quaddle-under-construction/quick-start-guide/boot-up.md).

# Boot up

## Pre-Startup Posture

To prevent the servos from getting stuck, please position the robot's legs correctly before powering it on.

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2F8wnYmgGkTJP57y3ULHeO%2Fimage.png?alt=media&amp;token=e49e10f0-3a63-41f3-8fb1-f9e5efe5dba0" alt=""><figcaption></figcaption></figure>

## Usage Scenario

First, test it on the Quaddle stand and use it on a stable table or floor only after you have familiarized yourself with its operation.

We recommend using the packaging box or a stand to support the robot when fine-tuning movements.<br>

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FWu223Ts1rv3A7bkyrpHz%2Fimage.png?alt=media&amp;token=5d05bee9-70cf-42f8-9db6-086a4f5a658e" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
When using it on a table, keep it within your arm's reach to prevent it from falling and avoid damage.
{% endhint %}

## Power on / Power off

### Power on

When the battery is sufficiently charged and properly installed, simply press the power button on the bottom of the robot briefly to turn it on.

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FBQo4GD05bVo8PaSKf4Qq%2Fimage.png?alt=media&amp;token=1346bb7d-fd65-4152-b5ff-bd3f3b1d25df" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
You can also power on the robot without the battery installed by connecting a USB Type-C cable between the robot's rear USB port and a computer's USB port; this method is typically used for debugging the program.

{Image showing the robot connected to a computer via USB cable and powered on}
{% endhint %}

### Power off

Quickly **press** the power button on the bottom of the robot **twice** to turn it off.

## Information displayed on the screen&#x20;

You can hold the robot in your hand and flip its body (screen facing upwards about 90 degrees) to switch between display modes as follows:

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2F5rUcKuOt88lvVaFnSaxW%2Fimage.png?alt=media&amp;token=c2d47d09-5570-40ba-9d45-26d3f454dee3" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FvHO2MQgHtOGmXqj8cYhz%2Fimage.png?alt=media&amp;token=75be4a7e-4bfb-4c53-8436-67e802ab244d" alt=""><figcaption><p>Information mode</p></figcaption></figure>

In the Information mode, it shows its IP address, Bluetooth name, and Battery information.

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FMEtfquFAR9fVUjnKKux5%2Fimage.png?alt=media&amp;token=ae637223-82c0-47e4-81a6-10c86a317560" alt=""><figcaption><p>Expression mode</p></figcaption></figure>

## Charging the battery

When the battery level is low, you can charge the robot by connecting it to a computer via a USB Type-C cable. Long-press the F button for approximately 750ms to manually enter the charging interface. During charging, the current progress (displayed as a real-time percentage) appears on the front display screen, and the four LEDs at the bottom of the robot flash sequentially. Once fully charged, the display shows 100%, and all four LEDs remain steadily lit.

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FKl9m0bXpK54qzAx5Nsz6%2Fimage.png?alt=media&amp;token=8887d337-a20f-446d-b8c1-d375102a2e33" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
You can also charge the battery using a dedicated battery charging dock({Specifications of the dedicated charging case}).

{Image of the dedicated battery charging dock}
{% endhint %}

### Exiting charging mode

If you want to wake up the robot while it is charging, you can exit charging mode in the following ways:

* Send any USB serial command: Exits upon serial data output.
* Flip the robot's body over (rotating it 180 degrees).
* Unplug USB: Automatically exits after detecting a voltage drop of at least 0.12V from the peak charging voltage.

## Back panel button functions

If the robot is equipped with an **AI Core** mainboard, there are four function buttons (**F, R, B, L**) on the back of the robot; their functions are listed in the table below:

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FFx7LTvw0AAPmTOd4CY5K%2Fimage.png?alt=media&amp;token=a16e044b-dcf6-4d01-ab7a-4333972bb5c1" alt=""><figcaption></figcaption></figure>

### Basic Operations

<table><thead><tr><th width="147.5999755859375">Operation</th><th>How to Use</th></tr></thead><tbody><tr><td>Single tap</td><td>Briefly touch the button once and release it. The command runs after a delay of approximately 0.55 seconds.</td></tr><tr><td>Double tap</td><td>Briefly touch the same button twice, with no more than 0.55 seconds between consecutive taps.</td></tr><tr><td>Triple tap</td><td>Briefly touch the same button three times, with no more than 0.55 seconds between consecutive taps. The command runs immediately after the third release.</td></tr><tr><td>Long press</td><td>Touch and hold the button for at least 0.75 seconds. The command runs as soon as the threshold is reached, and releasing the button does not trigger a single-tap command.</td></tr><tr><td>Touch feedback</td><td>The robot beeps whenever it recognizes a new button press.</td></tr></tbody></table>

### Button Functions

<table><thead><tr><th width="106.5999755859375">Button</th><th>Single Tap</th><th>Double Tap</th><th>Triple Tap</th><th>Long Press</th></tr></thead><tbody><tr><td><strong>F</strong></td><td><strong>Forward/backward motion sequence:</strong> walk forward for 5 cycles → trot forward for 5 cycles → walk backward for 8 cycles.</td><td><strong>Drag-to-learn:</strong> enters motion-recording mode, allowing you to create a motion by manually moving the joints.</td><td><strong>Automatic servo calibration:</strong> starts the automatic calibration procedure for all joints.</td><td><strong>Crawl forward</strong> for 8 cycles.</td></tr><tr><td><strong>R</strong></td><td><strong>Right-turn sequence:</strong> pivot right by 180° → walking right turn by 45° → trotting right turn by 45° → lean sideways to the right for 3 seconds → stand.</td><td><strong>Replay learned motion:</strong> replays the most recently recorded drag-to-learn motion.</td><td><strong>Stair-climbing motion:</strong> runs the <code>qStep</code> stair-climbing sequence and returns to the standing posture.</td><td><strong>Crawl right</strong> by 45°.</td></tr><tr><td><strong>L</strong></td><td><strong>Left-turn sequence:</strong> pivot left by 180° → walking left turn by 45° → trotting left turn by 45° → lean sideways to the left for 3 seconds → stand.</td><td><strong>Servo-follow mode:</strong> releases the servos and makes other joints follow when the associated joints are moved manually.</td><td><strong>Three-legged motion:</strong> assumes the left preparation posture, then moves forward without using the right rear leg, with a parameter of 5000 ms.</td><td><strong>Crawl left</strong> by 45°.</td></tr><tr><td><strong>B</strong></td><td><strong>Jump-and-slide sequence:</strong> jump-slide → slide for 3 seconds → walk backward for 5 cycles.</td><td><strong>Buddy configuration:</strong> alternates between the <code>hds</code> and <code>hi</code> greeting motions.<br><strong>Scout configuration:</strong> cycles through the environmental-interaction modules listed below.</td><td><strong>Dance:</strong> runs the <code>qDance</code> dance sequence.</td><td><strong>Buddy configuration:</strong> performs a backflip followed by a recovery roll.<br><strong>Scout configuration:</strong> raises its rear for 0.5 seconds and then returns to the standing posture.</td></tr></tbody></table>

### Scout Back-Button Double-Tap Module Cycle

Each double tap of the **B** button switches to the next environmental-interaction module. Only the selected module remains active at a time.

<table><thead><tr><th width="78.60003662109375">Step</th><th width="135.5999755859375">Module Code</th><th>Function</th></tr></thead><tbody><tr><td>1</td><td><code>XL</code></td><td>Dual light sensors / light-following mode</td></tr><tr><td>2</td><td><code>XD</code></td><td>Dual infrared distance sensors / obstacle-avoidance mode</td></tr><tr><td>3</td><td><code>XG</code></td><td>Gesture-sensor mode</td></tr><tr><td>4</td><td><code>XM</code></td><td>Dual-microphone sound-source localization mode</td></tr><tr><td>5</td><td>All off</td><td>Disables all the environmental-interaction modules listed above. The next double tap restarts the cycle at <code>XL</code>.</td></tr></tbody></table>

### Controls in Special Modes

<table><thead><tr><th width="221">Situation</th><th width="223.7999267578125">Button</th><th>Function</th></tr></thead><tbody><tr><td>During drag-to-learn recording</td><td>Briefly touch Left</td><td>Records the current key pose and uses it as the starting point of a new motion segment.</td></tr><tr><td>During drag-to-learn recording</td><td>Briefly touch Right</td><td>Ends recording and retains the learned motion. Double-tap Right afterward to replay it.</td></tr><tr><td>While automatic servo calibration is waiting for confirmation</td><td>Briefly touch Front</td><td>Confirms and continues calibration.</td></tr><tr><td>While automatic servo calibration is waiting for confirmation</td><td>Briefly touch Left, Right, or Back</td><td>Cancels the current automatic calibration procedure.</td></tr><tr><td>On the USB-charging sleep screen</td><td>Press Front</td><td>Wakes the robot. This touch is consumed as a wake command and does not run the Front single-tap walking sequence.</td></tr></tbody></table>

### Notes and Safety Information

<table><thead><tr><th width="226.800048828125">Item</th><th>Description</th></tr></thead><tbody><tr><td>Multi-tap timing</td><td>If the interval between taps exceeds approximately 0.55 seconds, the next tap is treated as the start of a new tap sequence.</td></tr><tr><td>Touching during a motion</td><td>If a queued motion sequence is running, a new touch first stops the current motion. To start the newly selected function, wait for the robot to stabilize and perform the touch operation again.</td></tr><tr><td>Safe operating area</td><td>Some commands, including the Right triple-tap and Back long-press actions, involve large movements. Place the robot on a level, nonslip surface with no nearby obstacles or edges.</td></tr><tr><td>Automatic calibration</td><td>Before calibration, place the robot flat on a level table and follow the on-screen instructions. Do not touch or move the robot during calibration.</td></tr><tr><td>Module status</td><td>The four buttons do not respond if the back-touch module is disconnected, is not detected by the system, or has been disabled in the module settings.</td></tr></tbody></table>

## Joint Calibration

Quaddle is equipped with servos that provide feedback; therefore, once the robot enters joint calibration mode, you can calibrate it by manually moving the servo arms. The specific calibration steps are shown in the figure below:

{% stepper %}
{% step %}

### Triple-tap the F button to enter calibration posture

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2Fz1woW9RDhAXTvQnEMWb1%2Fimage.png?alt=media&amp;token=5b6de086-063a-479b-905c-bd932264e51e" alt=""><figcaption></figcaption></figure>

The front screen will display the following information:

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FyH9qLI7OhAOKonXQe60R%2Fimage.png?alt=media&amp;token=64d54b66-7d53-4ab3-a3d2-ed96ae30d999" alt=""><figcaption></figcaption></figure>

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

If you received a pre-assembled robot, you do not need to detach the legs from the body for this step.
{% endhint %}
{% endstep %}

{% step %}

### Rotate the servo arm to align the marks

During the fine-tuning process, look directly at these components or keep your line of sight parallel to them.\
Rotate the servo arm to align the marks, as shown in the figure below：

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FSIqUGzD946FEJzblPK42%2Fimage.png?alt=media&amp;token=0e2397ca-f585-4f49-aae3-a604553b57f0" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FneWVRQYAKiSduuzpZCNj%2Fimage.png?alt=media&amp;token=149f2f6e-3186-45ba-bc78-c29bd9e49371" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FRcIGHOmwPNOyEgxuMKIw%2Fimage.png?alt=media&amp;token=90fcaef4-9d66-4f20-8148-45bf9c92225c" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Save and quit

After doing the joint calibration, please tap the F button to save and quit the calibration mode.

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FEvgEqFxdJUsH2S0ROt1d%2Fimage.png?alt=media&amp;token=f738d030-20ed-474b-adc9-c5ac88891166" alt=""><figcaption></figcaption></figure>

The front screen will show an expression, as shown in the figure below:

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FUnzI4sgtEBpCrkvuaXXF%2Fimage.png?alt=media&amp;token=e66248ff-0ff6-4b92-9e8e-6278e5c2840f" alt=""><figcaption></figcaption></figure>

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

If you accidentally touch other touch buttons while performing joint calibration, the calibration process will be canceled and quit; if this happens, please repeat Step 1 to re-enter the joint calibration mode.\
![](https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FpJeF7OcVV0pQK5xn52AR%2Fimage.png?alt=media\&token=ce6a5093-9468-4f7d-b01f-e1241d61c0bd)
{% endhint %}
{% endstep %}
{% endstepper %}

## Record and Replay

{% stepper %}
{% step %}

### Enter motion-recording mode

Double-tap the **F** button to enter motion-recording mode, allowing you to create a motion by manually moving the joints.

You can record two types of motion skills:

* **Behavior** - It contains multiple coherent action frames, and all the action frames are only executed for one round in order, but some of the continuous action frames in the sequence can be executed multiple times.
* **Gait** - It contains multiple coherent action frames executed repeatedly in a sequential cycle. Unless the robot receives a new skill command, it will continue executing.
  {% endstep %}

{% step %}

### Recording moves

There are two ways to record the robot's movements:

* Briefly touch the **L** button while manually moving the joint servos to record the current key pose and use it as the starting point of a new motion segment.
* You can record up to 383 frames of joint data by manually moving the joint servos without pressing any buttons.
  {% endstep %}

{% step %}

### Save and Quit

There are two ways to save the recorded motion skills, depending on the type of skill:

* Briefly touch the **R** button to end recording and retain the learned motion as a **Behavior.**
* Briefly touch the **B** button to end recording and retain the learned motion as a **Gait** **.**
  {% endstep %}

{% step %}

### Replay

Double-tap the **R** button to replay it.
{% endstep %}
{% endstepper %}

Please refer to the demonstration video below for specific operating instructions:

{% embed url="<https://youtu.be/q7FnFvkiX8M>" %}


---

# 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/quaddle-under-construction/quick-start-guide/boot-up.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.
