# Nybble Q User Manual

More cute and easier.

## Getting Started

Nybble Q is an open-source, voice-controlled robotic cat. It's a new breed of robotic cat that everyone can learn and play with.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2F1wnjY4Chs3oSK1DAC9Bm%2F%E6%99%AE%E9%80%9A%E7%9C%BC%E7%9D%9B%E8%83%8C%E6%99%AF%E6%9B%B4%E4%BA%AE%E6%8A%A0%E5%9B%BE.png?alt=media&amp;token=4145143c-baee-40c4-a91e-9e3c8d3d90d5" alt=""><figcaption></figcaption></figure>

The small but mighty Nybble Q has these fantastic features:

* Respond to voice commands, performing over **35 predefined actions** such as sit, push-up, and wash-face with high-performance, lifelike movements. You can switch between English and Chinese using simple voice commands.
* It can be programmed with **ten more customized voice commands** performing skills you create. The voice command can be any sound, so it's **free from languages**.
* Support **Petoi** **Coding Blocks(block-based Scratch-like), C++, and Python**.
* **Free** [C++](https://www.petoi.com/pages/free-cplusplus-quadruped-robotics-curriculum) and [Petoi Coding Blocks](https://www.petoi.com/pages/free-quadruped-robotics-curriculum-scratch-coding)(block-based Scratch-like) **curriculums**.
* Equipped with BiBoard V1, a high-performance **ESP32** development board supporting additional modules for robotics/AI/IoT applications.

If you have questions about ***why*** or ***how***, please post on our forum at <https://www.petoi.com/forum> or write to <support@petoi.com>.

There are some [supporting applications, software](https://docs.petoi.com/technical-support/supporting-application-and-software), and [FAQs](https://docs.petoi.com/technical-support/faq-frequently-asked-questions) for your reference.

You can support us by shopping at [www.petoi.com/store](https://bittle-x.petoi.com/www.petoi.com/store). Our social media (Instagram/Twitter/Facebook/GitHub) account is **@PetoiCamp**. Share your build by tagging **#nybbleQ #petoi #opencat** so we can repost it for you!

{% hint style="info" %}
Last Updated: 11/12/2024
{% endhint %}


# 1 🧘‍♂️ Preparation

Good preparation saves time in the long run.

## **Check the Package**

Thank you very much for purchasing our product! We highly value your user experience and hope you will enjoy this delightful journey. To ensure the device was not damaged during transportation and verify all accessories are complete, we recommend following these steps after receiving the package:

1. Verify the recipient's name, address, order number, and other details on the product packaging to confirm they match your order. If any information is incorrect, please do not open the box and contact us or the logistics provider immediately.
2. Inspect the shipping box for integrity. Check for apparent damage, moisture, deformation, or signs of tampering. If packaging damage is found, please photograph it for documentation purposes and avoid accepting, signing for, or opening the package before confirming the device's condition. As shown in the example below, your Nybble Q should arrive fully intact, without any damage, clean and well-presented.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FTc4lgbGMahqW5VOBdEbJ%2Fimage.png?alt=media&amp;token=11eeb306-7c4f-4b44-8b0c-1f4e2c71cf03" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FxreSpVtMkWzuxa3QUlOq%2Fimage.png?alt=media&amp;token=6d55c7f1-d1fd-4e89-abbd-18963ec691bd" alt=""><figcaption></figcaption></figure>

## Unboxing

### Product List

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FOxQ8ehQ2cthJaWLnSa43%2FProduct%20list%2001.png?alt=media&amp;token=de8ffc5c-3685-4431-89ae-3f367898ce3c" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Note: Nybble Q is FDM 3D-printed, and its Z-axis strength is limited. Please do not apply excessive force during use. Avoid placing it near the edge of a table to prevent accidental falls, which may cause component breakage.
{% endhint %}

<table><thead><tr><th width="487.390625">Name</th><th>Quantity</th></tr></thead><tbody><tr><td>Main Unit: Nybble Q robotic cat</td><td>1</td></tr><tr><td>Assembly Components: Tail/Calibrator parts</td><td>1</td></tr><tr><td>Manual: Stickers/Postcard (with voice commands on the back)/Calibrator manual</td><td>1</td></tr><tr><td>Tools: Self-tapping screwdriver/USB cable</td><td>1</td></tr><tr><td>Spare Parts: Spare tail servo horn/Spare servo/Raspberry Pi mount/Springs &#x26; screws</td><td>1</td></tr></tbody></table>

{% hint style="info" %}
Here's the optional [Nybble Q stand](https://www.petoi.com/products/stand-for-nybble-q-robot-cat) for the calibration and coding phases. No more worry about Nybble X moving and running around while you calibrate joints, code, and design moves.\
\
![](https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FssKiIzbKREvPIpplbOIT%2Fimage.png?alt=media\&token=d1cb8a8c-b8c2-43e0-8773-60dba3b17339)\
\
We have also published the 3D structure and instructions of the bracket online. If you have a 3D printer, you can print it by yourself. Please check this page for the Nybble Q calibration stand: <https://makerworld.com/en/models/1504533-calibration-and-test-stand-for-nybble-q-robot#profileId-1574352>
{% endhint %}

### Assembly

Upon initial unboxing, you only need to assemble the tail and calibrator yourself before interacting with the robot.

If you need to perform operations such as battery removal or replacement, or opening the back cover during use, please refer to the "**Commonly Used Removable Parts**" section below.

#### Assembling the Tail

The tail rotates around a metal shaft and automatically adjusts its vertical range in response to gravity.

It enables Nybble Q to perform advanced movements, such as rolling over, standing upright during boxing actions, and more.

For shipping safety, the body and tail are packed separately. Please assemble them according to the instructions.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FeWJvs5JISyzjTClZew39%2F%E5%B0%BE%E5%B7%B4%E5%AE%89%E8%A3%85.gif?alt=media&amp;token=5b502be9-32c7-4f4e-97a9-9473aa6b69a9" alt=""><figcaption><p>Installing the Tail</p></figcaption></figure>

Steps:

1. Check if the contour surface of the tail servo arm has a smooth transition, avoiding any right-angle bends.
2. Locate the notch on the tail servo arm, then place the metal shaft of the tail onto the notch of the servo arm.
3. Keep the tail body flush against the metal shaft and rotate it downward around the shaft. During this process, the tail body may come into contact with the servo arm. Continue applying downward force until you hear a click, indicating that the metal shaft of the tail has snapped into the notch of the servo arm.
4. To disassemble the tail, follow the reverse of the installation steps.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FSeQf4jTC9zfwmMo0Pcyx%2Fimage.png?alt=media&amp;token=a626346d-5a13-42f6-8bd9-8dc7185305da" alt=""><figcaption><p>The red circled area is the surface after the 3D printed supports are removed. It may sometimes be uneven and could affect the installation of the tail. You can use nippers/side cutters to trim it.</p></figcaption></figure>

{% hint style="info" %}
If the wheel on the tail is not rotating smoothly, possible causes could be:

1. Small burrs remaining on the wheel or tail - Trim them with a sprue cutter.
2. The wheel and tail are positioned too closely. Pinch the tail to hold it in place, then grip the wheel and pull it along the axial direction to adjust the spacing.
   {% endhint %}

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FBRE5YZvnS9RkdNQ4EtXc%2Fimage.png?alt=media&amp;token=01858b51-5d1f-4d2d-851d-7a375279df85" alt=""><figcaption></figcaption></figure>

#### Assemble the Calibrator

To facilitate debugging the robot and prevent falls, we have designed a specialized bracket. Please assemble the bracket according to the images below, and then gently place the robot onto it. Small snap fasteners between the robot and the bracket will ensure a secure and stable connection.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FnjP5sq1mpKlyrfud2PTm%2Fimage.png?alt=media&amp;token=b96d2ef1-d7d9-4861-a3b7-a3a49cad2f96" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FCONePRVOdCVeM8Xhsg4z%2Fimage.png?alt=media&amp;token=952fbd14-3311-4069-b92e-f278042e99eb" alt=""><figcaption></figcaption></figure>

### Commonly Used Removable Parts

#### **Battery**

When the battery is dead (the indicator light is red) or needs replacement, the battery must be removed from the body.

The battery and the body are connected via a sliding groove with a snap latch. To detach the battery, slide it horizontally toward the cat's head.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2F9TBRcobNby6c7zFJpKwz%2Fspaces_sH8LElvsjsHIa2uNVZzo_uploads_LFk7PL2TQ2PDHn6BD0XU_%20%E6%8B%86%E4%B8%8B%E7%94%B5%E6%B1%A0.webp?alt=media&amp;token=e21a85b8-5b84-4ed5-b6a9-7507a7a53c88" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
To prevent the battery from accidentally detaching during vigorous robot movements, we have designed the buckle mechanism to be secure, which means you will feel some resistance when pushing the battery into place.

Installing and removing the battery are reverse processes.

Please ensure the charging port of the battery aligns with the direction of the robot's head.

<img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FrJ84mqTlkuFSOqGyHoH5%2Fimage.png?alt=media&amp;token=45160f56-2175-400f-bff2-e69a3893a490" alt="" data-size="original">
{% endhint %}

#### **Back Cover**

{% hint style="warning" %}
Please do not forcibly separate the back cover from the body, as a flex cable connects the touch circuit board between them. Excessive force may cause the flex cable to come off or even break.
{% endhint %}

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2F1UcmEJd7ZHtyv2OlZAIt%2Fimage.png?alt=media&amp;token=63805bf8-038a-4d82-b7b2-10a460784417" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FsQYRqS2OgqoQrKcZCfCO%2Fimage.png?alt=media&amp;token=67553cd8-58a7-44e3-8d04-a647b2e18a12" alt=""><figcaption></figcaption></figure>

The back cover and the body are interlocked with each other via small protrusions. To remove the back cover, locate the indicated points shown in the image and gently squeeze both sides toward the center axis to release the snap-fit connectors.

For proper orientation during reinstallation, align the back cover by referencing its logo—the cat ears should face forward, indicating the correct front orientation.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FbvsSw6f1TpZDJxVgLfCb%2Fimage.png?alt=media&amp;token=2e6fad4d-9191-40a0-b8f3-081bc2fb978e" alt=""><figcaption></figcaption></figure>

#### **Touch Circuit Board inside of Back Cover**&#x20;

Under normal circumstances, there is no need to remove the flexible printed circuit (FPC) for touch functionality from the back cover. If you wish to detach the back cover FPC completely, please follow these steps:

After openning the back cover, note the relative orientation between the mainboard(BiBoard V1) and the back cover. There is a flip tab on the connector - lift this tab upward. Once the tab is flipped open, the cable beneath it can be fully detached along with the back cover and mainboard.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2F7s11nwfpU1qDAEjxdmb1%2Fimage.png?alt=media&amp;token=d9018aea-f200-406f-a50d-3ad462a05a79" alt=""><figcaption><p>Operation to Remove the Touch FPC</p></figcaption></figure>

Reconnecting the cable to the mainboard is the reverse process: align the cable, ensuring proper orientation, and press it firmly into place.

Here is the installation video:

{% embed url="<https://youtu.be/-2433ArtGSQ>" %}

#### **Side Panel**

The side panels are decorative components that conceal the servo wires inside the robot. They connect to the main body via snap-fit connectors.

During subsequent use, when components such as servos or batteries need replacement, the abdominal side panels of the Nybble Q must be removed. The process is simple: locate the notches on both sides of the panel, grip them with your fingernail, and pry outward to detach the side panel.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FmS91nfrSXsJYzTy4oQEw%2Fimage.png?alt=media&amp;token=ea387c5a-3b34-442b-9b65-318ac970928b" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FwXZXIEIdpRkk80Fi64td%2Fimage.png?alt=media&amp;token=f71e5dca-089e-4d89-aefa-e47be228fac1" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2F1H0JWl0erkaCQK3EPALq%2Fimage.png?alt=media&amp;token=7e95ff93-fbaa-4616-8316-00f733acb51f" alt=""><figcaption></figcaption></figure>

#### Ultrasonic Sensor

The sensor should connect to the first Grove socket.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FeJiXn51aeUXUpl98SqRu%2FgroveUltrasonic.jpg?alt=media&amp;token=7fe4a9a7-1abb-44ec-94c6-f57eae9593a9" alt=""><figcaption></figcaption></figure>

## Tools and Accessories

| Tool                         | Notes                                                                                                                                                                                                                                                                                                 |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| A Windows/Mac/Linux Computer | <p>Download the <a href="https://docs.petoi.com/desktop-app/introduction">Petoi Desktop APP</a><br>Download <a href="https://www.arduino.cc/en/software">Arduino IDE</a> (Optional)<br>Download <a href="https://docs.petoi.com/block-based-programming/petoi-coding-blocks">Mind+</a> (Optional)</p> |
| USB charging port            | 5V 1A output should be enough                                                                                                                                                                                                                                                                         |
| A smartphone(Android/iOS)    | Download [mobile app](https://docs.petoi.com/mobile-app/app-guide) (Optional)                                                                                                                                                                                                                         |


# 2 🧩 Turn on the Robot

“Life is like a box of chocolate.”

## Pre-Startup Posture

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

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2Fg5gO3fza3S8bY6OXJnej%2Fimage.png?alt=media&amp;token=4bff9872-6763-41c5-9953-38364ba09d4b" alt=""><figcaption></figcaption></figure>

## Usage Scenario

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

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2F9Z9ZFF4i2MoiKcmTeeAM%2Fimage.png?alt=media&amp;token=9951c1d7-758c-41bd-84ff-778691523f41" 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

Turn on the robot's battery to start using it. If you encounter any issues during operation, please refer to the "Other Situations" below.

### Battery Switch

Press and hold the battery button for 2 to 3 seconds to turn the power on or off. You will hear a short melody, and the battery indicator will light up blue. If the indicator is red, refer to the charging method below.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FK8O1rSTNZMA92ibWXwa2%2Fimage.png?alt=media&amp;token=0a835fe3-57d9-430b-86c7-ea308d7bbb4c" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
After turning on the battery, the robot requires approximately 5 seconds for initialization, and a melody will play upon completion.

During storage and transportation, the robot's battery charge may decrease. When using it for the first time, please ensure the battery is sufficiently charged.

It is recommended to place the robot on the calibration stand before pressing the button to activate the battery.

If you use the robot on the floor, please ensure the robot is positioned upright after activating the battery. Otherwise, it will continuously attempt to flip itself over or perform other corrective motions upon startup;

If the robot is placed on its side when powered on, it will automatically initiate the calibration posture.
{% endhint %}

### Battery Indicator

Before use, please read the instructions on the bottom of the packaging box carefully to ensure correct operation of the battery.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2F9clI6CadiYETqcoaSYIU%2Fimage.png?alt=media&amp;token=dac1c506-d313-4062-96ba-ffa8c6df6702" alt=""><figcaption><p>        Low Power                                  Full Power                               Intermediate Power</p></figcaption></figure>

Press and hold the blue button on the battery for 2–3 seconds to turn the power on or off.\
During charging, the indicator light turns red; after charging is complete, it turns green.\
Press the blue button briefly to check the battery status:

· When fully charged, the indicator light is blue.

· When the voltage is low, the indicator light is red.

· During battery depletion, the indicator color gradually changes from blue to red.

Note the correct use of battery interfaces: Use the Type-C interface for charging, and the 2P 2.54MM red-black wire terminal interface to power Nybble Q. Please don't mix them up:

If the robot detects a low battery, it will pause its movements and beep. In this case, you need to remove the battery and charge it using a standard 5V USB Type-C interface data cable. For safety reasons, the battery will automatically stop supplying power to the robot during charging.

### Buzzer Sound Types

| **Sound**                  | **Trigger Timing**             | **Indication**                       |
| -------------------------- | ------------------------------ | ------------------------------------ |
| Short melody               | Power on or restart            | Program startup successful           |
| Program startup successful | During use                     | Program received command             |
| Repeating melody           | During pauses in use or action | Low battery or battery not connected |

## Other Situations

### Charging

The robot's battery socket has limited dimensions, so when the battery is installed on the battery seat, it cannot be directly charged via USB. The battery needs to be removed from the battery socket before charging.

{% hint style="info" %}
Before charging, turn off the battery (press and hold for 3 seconds). After connecting the charging cable, the battery will automatically shut down (cease external power supply).
{% endhint %}

{% hint style="warning" %}
Please do not confuse the circuit board’s download port with the battery charging port.
{% endhint %}

There are two charging methods:

1. Remove only the battery from the main body, which is a quick and simple process.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FJvA0pWPPUO66OuzdrIpZ%2Fimage.png?alt=media&amp;token=fc6714ed-816c-49a2-984a-b739636f0663" alt=""><figcaption></figcaption></figure>

2. Remove the side panel first, then detach the battery from the circuit board to fully separate the battery from the main body. This method is suitable for users with spare batteries.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FkUy7O8WYIQxPbZUTit1o%2Fimage.png?alt=media&amp;token=e427b417-da10-4a3b-80ec-66332cca9886" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2F0wltoALrB4JPCTMgs0GS%2Fimage.png?alt=media&amp;token=b46d455b-2082-490d-9fe5-3d25ac31d673" alt=""><figcaption><p>When reinstalling the battery, please ensure the battery connector passes through the small hole shown in the image before connecting it to the circuit board on the main body.</p></figcaption></figure>

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2F2C56GX5ReOrkwR59bifi%2Fimage.png?alt=media&amp;token=6a10b06d-cfd6-4b27-86e6-8a4a88208b57" alt=""><figcaption></figcaption></figure>

### Replacing the Battery

The operation is the same as the charging method two mentioned above.

### Device Freezing or Unresponsive

There are two solutions：

1\. Check the battery indicator light. If the battery level is too low, please charge it promptly.

2\. If the battery level is normal, remove the back cover and press the reset button on the motherboard, located next to the LED logo, to reboot the robot.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FMiUKp2QnktWePrYpIb1E%2Fimage.png?alt=media&amp;token=79b8cc6a-cb5c-4afc-8575-d74f2930b759" alt=""><figcaption></figcaption></figure>

### Servo

For plastic servos, we have added two protection mechanisms to extend their service life:

一、When subjected to short-term external force impacts, the protection mechanism activates, causing the servo to produce a clicking sound.\
二、When the servo is under prolonged force, the protection mechanism activates, causing the servo to release force.

### Clicking Sound

The plastic servo contains a clutch gear for protection.

When powered on, if external obstacles block the servo's rotation, the clicking clutch sound will occur. Examples include:

Manually rotating the servo away from its target angle;

The servo is being physically jammed;

The servo is being obstructed by other objects.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2Fm08kHXjIVeCmtjOlncWU%2F%E8%88%B5%E6%9C%BA%E7%A6%BB%E5%90%88.gif?alt=media&amp;token=1c824bf6-2b7e-41ed-8667-f244de869bed" alt=""><figcaption></figcaption></figure>

### Sudden Servo Stoppage or Force Release

To enhance servo durability, we added stall current detection. If the servo is under prolonged force without triggering the clutch gear, it will automatically enter force-release mode.

The servo returns to normal mode when it receives a new angle command.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2F851UbCmWH4uX8BidI7bj%2F%E8%88%B5%E6%9C%BA%E5%8D%B8%E5%8A%9B.gif?alt=media&amp;token=1b90edb8-55b6-4f5f-bbe2-5ef80009b76e" alt=""><figcaption></figcaption></figure>


# 3 🕹 Play with Nybble Q

The Nybble Q robot is equipped with various sensors and modules including a gyroscope, touch sensors, ultrasonic sensors, voice recognition, and Bluetooth. You can try patting it or stroking its back to observe its reactions.

You can interact directly with the robot by following the simple quick start guide below. You can also download mobile or computer apps to explore more advanced controls. Developers familiar with coding can also program the robot through graphical interfaces, Arduino, Python, or Raspberry Pi platforms.

## Quick Start

### Voice Control

You can control the Petoi robot to perform various skills using voice commands without a wake word. The robot currently supports two languages (Chinese and English) and comes with 40 preset voice commands. Additionally, you can record any sound clip to create up to 10 custom commands.

**Testing**

When the robot starts up, voice recognition defaults to English mode. Try saying "hello" to the robot, and it will perform a greeting gesture.

{% hint style="info" %}
Please test in a quiet environment to reduce recognition failures and accidental activations. The louder the background noise, the louder you need to speak or the closer you need to be to the robot.

If you speak to the robot but receive no response, the language mode may have been changed.

You can say "Bing Bing" to switch to English mode, or "Di Di" to switch to Chinese mode.

**For More Voice Commands**

Please check the postcard included in the packaging box. The backside lists a variety of voice commands to control additional robot actions.
{% endhint %}

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FIITdXaNIK28o5OfEjPM3%2Fimage.png?alt=media&amp;token=58dd9311-aab0-4310-8545-d1bab24b88c3" alt=""><figcaption></figcaption></figure>

**Turning the Voice Recognition Feature on and off**

By default, voice commands are always enabled, so the robot continuously listens to ambient sounds, which can easily result in accidental activation of voice commands.

To avoid unintentionally triggering the robot’s response to voice commands—for example, when conversing with others—you can say "Be quiet" to the robot, and the voice command module will be disabled.

To re-enable the voice recognition feature, you can say "Play sound".

{% hint style="info" %}
Upon the next startup, the robot will still automatically enter voice recognition mode.
{% endhint %}

**Custom Commands (Advanced)**

When the robot is operating in English mode, you can activate the custom voice command mode by saying the voice command "Start learning" or entering XAe in the serial port monitor. Follow the voice prompts to record your custom voice commands. To exit the custom voice command mode, say "Stop learning" or enter XAf in the serial port monitor.

{% hint style="info" %}
If the module is not in English, you can say "Bing Bing" to switch to English mode.
{% endhint %}

You can record up to 10 custom voice commands.

After exiting the custom voice command mode, you can trigger the robot’s corresponding actions by speaking any of the recorded voice commands.

To delete all custom voice commands at once, say the voice command "Clear the learning data".

### Gyroscope Perception

**Hold and shake in hand, balance response**

GIF——

**Place on a flat surface with slight shaking, and balance response**

GIF——

&#x20;

**Tip over, self-righting movement**

GIF——

&#x20;

**Grab by the neck or tail and release**

GIF——

&#x20;

**Place on a table and tap the back or push downward**

GIF——

### Back Touch Interaction

Nybble Q features four independent touch areas on its back, located on the left side, right side, center, and near the tail. Each touch area is pre-programmed with distinct interactive responses—let’s explore them!

#### Touch Point Layout

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FDDfvBiTkaFhLlxzKn0Ey%2Fimage.png?alt=media&amp;token=d3754ddf-fc47-4a37-b148-fe5b3010fad4" alt=""><figcaption></figcaption></figure>

Touch Areas & Responses：

* Left Area: Lightly touch to make Nybble Q turn its head to the left and look back.
* Right Area: Lightly touch to make Nybble Q turn its head to the right and look back.
* Center Area: Lightly touch to wake up the device or trigger a random action.
* Touch near the tail to activate lively movements like tail wagging or back arching.

{% hint style="warning" %}
Usage Tips:

1. Nybble Q will not execute new actions if the same spot is touched repeatedly or if two touch points are pressed simultaneously.
2. Wait for the current action to complete before triggering a new command to ensure smooth interaction.
   {% endhint %}

### **Ultrasonic**

**Obstacle Avoidance**

When an obstacle is detected ahead, the robot reacts differently based on the obstacle's distance.

Randomly sitting down, turning, or reversing.

图片或者GIF——

**LED Lights**

The lights change colors.

图片或者GIF——

### Micro:bit Controller (Optional)

Instructions:

The robot and micro:bit controller connect via Bluetooth.

Please turn on the micro:bit controller first, then power on or restart the robot. Please do not reverse this order.

After powering on, the controller and robot will automatically pair. If multiple robots are powered on, pairing follows a first-come, first-served rule.

A connection sound plays once the device is paired, and the letter N (for Nybble) is displayed.

图片——看是否需要

**Basic Operations**

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FwLIard0lUewyYmf0TQjk%2Fimage.png?alt=media&amp;token=6f00f404-9c10-45a2-879f-ca7f700fadd8" alt=""><figcaption></figcaption></figure>

**Joystick (left side):**

Controls movement: forward, backward, left, right, and diagonally.

Pushing the joystick fully left/right makes the robot spin in place.

Quickly push the joystick forward twice to trigger a rapid forward dash.

**Single/Dual Button Actions:**

Logo (touch): Rest mode.

A: Long press to rotate the robot’s head.

B: Long press to synchronize the robot’s body movement with the controller’s gyroscope.

C: Crawl.

D: Kick.

E: Toggle sitting/standing.

F: Hug.

A+B: Cheer.

C+E: Boxing.

D+F: Face-washing.

E+F: "Lucky Cat" waving.

&#x20;

**Button + Joystick Combo:**

Hold a button and move the joystick to specify a direction.

By default, a single tap/release of the joystick triggers random direction movement.

**Limitations:**

The joystick requires 300 ms to detect double-tap events, causing slight delays in button+joystick forward actions.&#x20;

Single-button actions may trigger before combo commands.

Rapid button presses during control switching may fail to register.

&#x20;

**Customizing Controller Functions (Advanced):**

In code, button functions are defined as:

keyCmd = \[

\# Touch, A, B, C, D, E, F, A+B, C+E, D+F, E+F

\["d", "keyGyro","keyJoystick","kcr", "kkc" ,"stateSwitch" , "khi", "kchr", "kbx", "kwsf","klucky"], # Nybble

]

You can modify the action commands or remap button combinations.

Currently, only A+B, C+E, D+F, and E+F are reserved for dual-button combos.

Additional combos (e.g., A+F, B+D) can be added but may be less ergonomic to press simultaneously.


# 4 👨‍🏫 Advanced Features

As a developer kit, the interactive features mentioned in previous chapters represent merely the tip of the iceberg regarding Nybble Q robot's capabilities. To accommodate users with varying technical expertise, we provide a comprehensive suite of tools ranging from user-friendly mobile apps, desktop applications, graphical programming via Mind+, and Micro:bit controllers, to professional-grade open-source code for C++, Python, and Raspberry Pi platforms. This enables users to master essential robotics control technologies, establishing a robust foundation for advanced robotics studies.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FAUfXuiOkPQMySeAjNoGY%2Fimage.png?alt=media&amp;token=7951efcd-5160-407c-a526-19aa84637a53" alt=""><figcaption></figcaption></figure>


# Overview

Thank you for choosing Petoi's Nybble Q robotic cat. This user guide will assist you in setting up your robotic pet and provide a simplified UI for calibrating, controlling, and programming your robotic companion. For users more familiar with robotics, we recommend updating your robotic pet with the [OpenCat firmware](https://github.com/PetoiCamp/OpenCat) from Github to ensure optimal compatibility and access to the latest features.

### Download & Installation <a href="#xia-zai-yu-an-zhuang" id="xia-zai-yu-an-zhuang"></a>

This app is compatible with iOS and Android devices.

* ​[iOS 11+](https://apps.apple.com/us/app/petoi/id1581548095)​
* ​[Android 4.4+](https://play.google.com/store/apps/details?id=com.petoi.petoiapp)​

**APK**

If Google Play is inaccessible in your region, you may install the app directly using the APK file below. Please unzip the file before installation.

{% file src="/files/ZnPP9dDFvtEG7EhyBF0H" %}

If the Bluetooth device scanning list in the app appears empty, please verify that Bluetooth and location permissions are enabled for the app. If devices still cannot be detected, try installing the previous stable version of the app.

{% file src="/files/SRwdbPFKvtPtBuHNb13v" %}

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2F4BYSxJ0EKkmpEEiXpd66%2Fimage.png?alt=media&amp;token=69acaecc-245b-462d-88fd-1a52cd8444d4" alt=""><figcaption></figcaption></figure>

### Connection <a href="#lian-jie" id="lian-jie"></a>

If the buzzer repeatedly emits short beeps during startup or operation of the robotic pet, this indicates low battery level. Please charge it promptly using the Type-C port located at one end of the battery.

Open the Petoi app and scan to connect to a device named "Nybble". **Please do not connect the robot through the Bluetooth settings in your phone’s system settings!**

Ensure Bluetooth services are enabled and grant the app permission to access them. On some devices, you may also need to allow location services for the app, although we do not use any of this information.

{% hint style="warning" %}
The app will send a greeting to the Bluetooth device and await a response from the OpenCat firmware. You must upload the full OpenCat firmware to the robot before connecting to the app. Otherwise, the app will recognize it as "not a Petoi device". Pre-assembled robots should already have the firmware installed. If not, you will need to upload the firmware<mark style="color:purple;">（注意这里要链接一下）</mark> using Arduino IDE or the desktop application.
{% endhint %}

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2Fr0BgXmX1ppEkN8j3BuWM%2FIMG_7173.png?alt=media&amp;token=7aae25dc-4d9c-48c3-b981-be8cfc567fc9" alt=""><figcaption></figcaption></figure>

If Bluetooth is connected, the robotic pet will play a three-tone melody. If the robotic pet becomes unresponsive or malfunctions later, please press the reset button on the BiBoard to restart the program on the BiBoard.

The app will automatically detect a Nybble using the latest OpenCat firmware. Otherwise, it will display Nybble options for the user to choose from. You can also reopen the selection page by clicking the menu icon in the upper-right corner of the control panel and selecting "**Select a robot**".

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FXo1fBxnARpPOZLO1pDN4%2FIMG_7140.PNG?alt=media&amp;token=b2c0b4c3-4a8d-488a-8943-255070abf77b" alt=""><figcaption></figcaption></figure>


# Joint Calibration

📱🤖

Below is the display interface when you first use the app for calibration. We recommend placing the robot on the calibrator during this process.

## Nybble Q <a href="#nybble" id="nybble"></a>

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FYzULx99AePR0OlPOC4OE%2FIMG_7174.png?alt=media&amp;token=567b823b-5173-473e-bb9b-8e1514a9973b" alt=""><figcaption><p>后面会改成新的</p></figcaption></figure>

{% hint style="info" %}
You can also reopen this calibration interface by clicking the menu icon in the upper-right corner of the control panel and selecting "**Calibrate**".

![](https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FXo1fBxnARpPOZLO1pDN4%2FIMG_7140.PNG?alt=media\&token=b2c0b4c3-4a8d-488a-8943-255070abf77b)
{% endhint %}

Upon entering the calibration interface, click the "Calibrate" button to immediately rotate all servo output shafts to their calibration positions.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FcssWOtZ2s3zrChJOKjEv%2Fimage.png?alt=media&amp;token=4df9ad0d-8db0-4a11-b9f3-807491eb1851" alt=""><figcaption></figcaption></figure>

First select the joint servo index number from the calibration interface image (when adjusting leg servos, adjust the thigh first followed by the calf). Then use the "+" or "-" buttons to fine-tune the joint to a right-angle position.

{% hint style="info" %}
If calibration offset exceeds +/-9 degrees, remove the corresponding servo component, rotate it by one gear tooth position, reinstall it, then use the "+" or "-" buttons.

For example: If you need to use -10 as calibration value, remove the limb, rotate one gear tooth, then reinstall. The new calibration value should be around +4 (their absolute values sum to 14).

Note: Avoid rotating servo output shafts manually during adjustment.
{% endhint %}

You can test calibration results by switching between Rest/Stand/Walk statuses using the corresponding buttons.

图片】校准姿势、站立、休息姿势

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2Fi7pImIV0r52n8VtIXiNm%2Fimage.png?alt=media&amp;token=7fbd7c33-99b1-4b59-b1e4-d80e6b9d1071" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Note: A second calibration round may be required for optimal results.
{% endhint %}

After completing calibration, remember to click "Save" to preserve calibration offsets. Or click "<" in the upper-left corner to discard changes.


# Control Panel

In the control panel, you can control the robot to perform various poses, behaviors, and gaits.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FbxhaCOtWPREbjQUNLJ9T%2FIMG_7178.png?alt=media&amp;token=3341ce3a-dfa3-41f8-9731-38ba69878431" alt=""><figcaption></figcaption></figure>

## **Gaits** <a href="#bu-tai" id="bu-tai"></a>

①The left panel sets the gait and direction of the robotic pet and sends group commands, such as "walk left" or "trot forward." The robotic pet will only move after an initial gait and direction are selected.Selecting "Step" causes the pet to step in place.After choosing gaits like "Crawl," "Walk," or "Trot," clicking the "Backward" direction button followed by "Left" or "Right" will make the pet retreat diagonally left or right.

②The Pause button ("||") stops the pet’s motion and turns off all servos, allowing you to manually rotate joints to any angle.。

③“The "Accelerate" button（![](https://docs.petoi.com/~gitbook/image?url=https%3A%2F%2F96307915-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%252Fuploads%252FtlIwwWX8RxgJckF3ELRu%252Fbalancer01.png%3Falt%3Dmedia%26token%3D6aa80902-18a8-4120-ab34-eabf1d5145ae\&width=300\&dpr=4\&quality=100\&sign=6688c8b\&sv=2)）accelerates the robot pet's movement. By default, it is off (green button with pointer left). Click to activate acceleration (orange button with pointer right). Acceleration is achieved by increasing the gyroscope frequency. When it is off, the robot reduces internal data calculations for faster and more stable movement.

## **Poses & Behaviors** <a href="#zi-shi-he-hang-wei" id="zi-shi-he-hang-wei"></a>

④Built-in poses and behaviors can be triggered by buttons in the "**Function Keys**" area. Avoid pressing buttons too frequently or repetitively. Allow time for the robot pet to complete its current action.

## **Custom Commands** <a href="#zi-ding-yi-ming-ling-dong-zuo" id="zi-ding-yi-ming-ling-dong-zuo"></a>

You can **long-press and drag** to reposition buttons.

**Double-click** command buttons to edit them.

Use the "+" button to add custom single or group commands.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2Fqb7K5UmkVziigqxYzYVJ%2FIMG_7162.PNG?alt=media&amp;token=66c6d2e9-3058-4806-ad17-071f83864eb3" alt=""><figcaption></figcaption></figure>

### **Creating Single Command** <a href="#chuang-jian-dan-ge-ming-ling" id="chuang-jian-dan-ge-ming-ling"></a>

After clicking the "**Create Command**" button, you'll see the command editing interface:

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FCZmD2emhacjczGctG2QS%2FIMG_7182.png?alt=media&amp;token=2893169a-53fb-4cc8-9961-03f820b2c551" alt=""><figcaption></figcaption></figure>

In edit mode, a simplified serial command console appears (as shown above) for testing serial commands to control robot movements.

You can enter the following common serial commands in the **code** box:

**\* Rotate head (neck servo angle)**&#x20;

```
m0 45
```

**\* Shake head left/right (move joint 1 angle1, joint 2 angle2... angles: -127\~128)**

```
m0 -70 0 70
```

**\* Sit**

```
ksit
```

**\* Move joints sequentially**

```
m 0 -70 0 70 8 -30
```

**\* Move multiple joints simultaneously**

```
i 0 -45 8 -30 12 -60
```

For your reference, the images below are joint indexes. You can observe and try memorizing their patterns.

<figure><img src="https://docs.petoi.com/~gitbook/image?url=https%3A%2F%2F96307915-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%252Fuploads%252FcvLvYuJ2JHENBgcW7mNC%252Findexes.png%3Falt%3Dmedia%26token%3D018e64f0-7a6e-4277-ad3c-ae39268f2a82&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=221c1ac5&#x26;sv=2" alt=""><figcaption></figcaption></figure>

**\* Display current joint angles**

```
j
```

**\* Long "meow" (Nybble)**

```
u0 1
```

**\* Three short "meow"s**

```
u2 20
```

**\* Play short tone (buzzer duration: 0\~256)**

```
b12 100
```

**\*** Play melody (tone1 duration1, tone2 duration2... max 64 chars. Durations are reciprocal values, i.e., "note fractions" in musical notation)

```
b14 4 14 4 21 4 21 4
```

For detailed command specifications, please refer to the Serial Port Protocol<mark style="color:purple;">（注意这里要链接一下）</mark>section in the documentation center.

### Import New Skills as Custom Buttons <a href="#jiang-xin-ji-neng-dao-ru-wei-zi-ding-yi-an-niu" id="jiang-xin-ji-neng-dao-ru-wei-zi-ding-yi-an-niu"></a>

#### Import Your Local Customized Skill (Skill Composer<mark style="color:purple;">（注意这里要链接一下）</mark>)

You can use communication software (e.g. WeChat) or email to send skill files created on your computer to your phone, and open the file using the Petoi app on your phone. This will automatically create a button for the new skill, open the Control Panel and you will see it.

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2Fvw4rExjWfZIu9slOoDCv%2Fimage1.png?alt=media&amp;token=d5c6509e-92e1-4ed0-9220-d0e4d1be8232" alt=""><figcaption></figcaption></figure>

**Import Skills from GitHub Skill Library**

The [SkillLibrary folder](https://github.com/PetoiCamp/OpenCat/tree/main/SkillLibrary) on GitHub contains a collection of new skills for OpenCat robots for your reference. Using your mobile browser, you can visit the GitHub page of the OpenCat project, open a skill file (e.g. [Bittle\_Fold.md](https://github.com/PetoiCamp/OpenCat/blob/main/SkillLibrary/Bittle/Bittle_Fold.md)), and share it to the Petoi mobile app as shown below. You can then execute this skill through command buttons.

{% hint style="warning" %}
On the iOS device, you may not share the .md skill file on the Github via the Chrome browser. You can download the skill file and refer to the method - [Import your local customized skill](#import-skills-created-locally-onacomputer-skill-composer-zhu-yi-zhe-li-yao-lian-jie-yi-xia) to import it to this smartphone app.
{% endhint %}

![](https://docs.petoi.com/~gitbook/image?url=https%3A%2F%2F201656985-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%252Fuploads%252FP8X85jLN6ax5VUZCdZVA%252FShare_skill01en.jpg%3Falt%3Dmedia%26token%3Ddd188c14-4022-439e-bd3d-3801b65286bf\&width=768\&dpr=4\&quality=100\&sign=7f567dcf\&sv=2)![](https://docs.petoi.com/~gitbook/image?url=https%3A%2F%2F201656985-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%252Fuploads%252Fm6Pk4AZL5ejbfakQcQtx%252FShare_skill02en.jpg%3Falt%3Dmedia%26token%3D66a10b50-2037-4e15-bff1-dfc4bcc50ed0\&width=768\&dpr=4\&quality=100\&sign=d0a0d100\&sv=2)![](https://docs.petoi.com/~gitbook/image?url=https%3A%2F%2F201656985-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%252Fuploads%252FfXEXIslXaa8Mfbgbpc0A%252FShare_skill03en.jpg%3Falt%3Dmedia%26token%3D8117d99b-1e4f-4b7c-b992-fa0a7c27ab3a\&width=768\&dpr=4\&quality=100\&sign=9d2d962d\&sv=2)![](https://docs.petoi.com/~gitbook/image?url=https%3A%2F%2F201656985-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%252Fuploads%252FnCZeRbvfy91tiNnS7gD4%252FShare_skill04en.jpg%3Falt%3Dmedia%26token%3Dba669e72-155e-4290-b98b-973750d55e32\&width=768\&dpr=4\&quality=100\&sign=71ce1e4a\&sv=2)![](https://docs.petoi.com/~gitbook/image?url=https%3A%2F%2F201656985-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%252Fuploads%252FSc4MngSiHf2xUJ7PRlVG%252FShare_skill05en.jpg%3Falt%3Dmedia%26token%3D193b522f-8592-4951-9ac7-b62e70504c72\&width=768\&dpr=4\&quality=100\&sign=5939580e\&sv=2)

You're also welcome to share your newly created skills by sending merge requests to [this folder](https://github.com/PetoiCamp/OpenCat/tree/main/SkillLibrary).

### Create Group Commands <a href="#chuang-jian-zu-he-ming-ling" id="chuang-jian-zu-he-ming-ling"></a>

After pressing the "Create Group Command" button, you'll see the following interface:

<figure><img src="https://4152962840-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FriClBzZNrxwtp1INhQq1%2Fuploads%2FskfU403dBkDfjUZ9rSCc%2FIMG_7190.png?alt=media&amp;token=a48fd47b-cb66-48e0-b910-c0062f2ea99a" alt=""><figcaption></figcaption></figure>

You can name the command group in the "**Name**" text box, and add commands to the "**Commands Group**" list by short pressing command buttons in the "**Commands Library**" list. In the **Commands Group** list, you can hold and drag the button of a single command to change its position.

Click the **Test** or **Play(**![](https://docs.petoi.com/~gitbook/image?url=https%3A%2F%2F201656985-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%252Fuploads%252FQYQL7cw8zo274fhqDUq0%252FPlay.webp%3Falt%3Dmedia%26token%3D9cadfdeb-9ead-4e30-b79f-a18c996c0473\&width=300\&dpr=4\&quality=100\&sign=4d90c8f9\&sv=2)**)** button to test execution of the group command. During execution, click the **Pause(** ![](https://docs.petoi.com/~gitbook/image?url=https%3A%2F%2F201656985-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MQ6a951Q6Jn1Zzt5Ajr-3369173170%252Fuploads%252FT6O9rX6wvomUXRwe068Z%252FPause.png%3Falt%3Dmedia%26token%3De1eee3d4-26ca-4af8-90bd-e746c58392c1\&width=300\&dpr=4\&quality=100\&sign=c69163e0\&sv=2)**)** button to interrupt the process.

Click the **Delete** button to remove the group command.

## Updates and Support <a href="#geng-xin-he-zhi-chi" id="geng-xin-he-zhi-chi"></a>

We will continue improving the app and notify you when updates become available. For any questions about the application, please write to <support@petoi.com>.


