> 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/control-and-program/ai-conversation/tuya-ai.md).

# Tuya AI

Quaddle's **AI core** board supports running Tuya-based AI conversation programs.&#x20;

## Updating Firmware

Please follow these steps to authorize and activate your device:

{% stepper %}
{% step %}

### Download the tyutool

Please [download ](https://tuyaopen.ai/tyutool#download)and install the version of **tyutool** that matches your current operating system.
{% endstep %}

{% step %}

### Upload the firmware

{% hint style="warning" %}
Our board is pre-configured with the firmware. You may skip this step or use it to upgrade the firmware.&#x20;
{% endhint %}

You can connect the **AI ​​core** board to your computer using a **USB Type-C** data cable and upload the Tuya-based upgrade firmware as follows:

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FPXX9YQA2iwVSApxKOIaf%2Fimage.png?alt=media&amp;token=d92010ff-b320-440c-8b18-a465457d0a8f" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FNL5kdFarGtEPmg0gLqDW%2Fimage.png?alt=media&amp;token=30ea86d3-e831-41bb-a7a4-175a015f8de3" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FIZM39VADimqIvGodySaU%2Fimage.png?alt=media&amp;token=68fca8a8-0779-42de-b875-6bef5df5a62d" alt=""><figcaption></figcaption></figure>

1. Select the **serial port device name** connected to the AI ​​core board.
2. Select the serial communication baud rate: **921600**
3. Select the chip platform: **ESP32-S3**
4. Select the option: **Flash**
5. Click the Browse... button to open the file browser and select the **.bin** file containing "**QIO**" as shown in the image above.
6. Click the **Start flash** button.
   {% endstep %}

{% step %}

### Authorize

After installation, connect the **AI ​​core** board to your computer using a **USB Type-C** data cable and complete the device authorization process as follows:

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2Fy82R8g4QKPDVVw0pMFZF%2Fimage.png?alt=media&amp;token=41da920b-b3d8-4d40-8890-9ba3d6f34456" alt=""><figcaption></figcaption></figure>

Open the **Firmware tools** tab:

1. Select the **serial port device name** connected to the AI ​​core board.
2. Select the serial communication baud rate: **115200**
3. Select the chip platform: **ESP32-S3**
4. Select the option: **Authorize**
5. Input the provided **UUID** and **AuthKey**.
6. Click the **Start authorization** button.
   {% endstep %}
   {% endstepper %}

## How to use

After uploading the firmware, you need to configure the device's network first. If you have already installed one of the following mobile apps:

* **Tuya**\ <img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FfBi5qyU3Qmf9o41pVq45%2Fimage.png?alt=media&amp;token=c06be537-f22d-4282-b0e0-f871c9027fb1" alt="" data-size="line">
* **SmartLife**\ <img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2FQVNSZ5Y9O37lX0mAhVKX%2Fimage.png?alt=media&amp;token=0e073171-07bc-495e-9fb9-ac5a27f557d6" alt="" data-size="line">

{% hint style="success" %}
If you haven't installed either of the two mobile apps above, we recommend installing **SmartLife** on your smartphone, as it has a larger user base, more third-party tutorials, and a clear IFTTT service.

* [iOS](https://apps.apple.com/us/app/smartlife-smart-living/id1115101477)
* [Android](https://play.google.com/store/apps/details?id=com.tuya.smartlife)
  {% endhint %}

Connect to a 2.4 GHz Wi-Fi network with internet access, and enable **Bluetooth** and **location** services on your phone. Then, bring your phone close to the robot. Once the robot is powered on, open any previously installed mobile app, add the device, and the [authorized ](#authorize)device will be automatically detected. Follow the prompts to add the device, and you can then communicate with it.

**Quaddle** supports multi-turn voice conversations. To start a new conversation, you can use the wake word (**"Hi, Quaddle."**) or press the **Boot** button on the top of the robot (near the screen). After that, you won't need to say the wake word every time when speaking to Quaddle during the conversation.

<figure><img src="https://4130507397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXLpFdG7mubqEHWylLK3w%2Fuploads%2Fxcv8j4x3qTPxHmTsddKb%2Fimage.png?alt=media&amp;token=1849f229-6064-4674-8d4d-a8ccb4e5ccd0" alt=""><figcaption><p>Boot button for AI core</p></figcaption></figure>

You can chat with Quaddle to make it perform various skills and actions(e.g., "Please go forward 3 steps", "Sit down please", "Could you shake your hands?"), change its eye color (the robot currently supports the following colors: **pink, red, orange, yellow, green, blue, purple**), and discuss topics you're interested in (the robot's response depends on the LLM model settings for the region).

You can also have it perform an action/skill sequence through conversation, such as: "Please take 5 steps forward, then greet someone, then take 3 steps back, then turn 30 degrees to the left, and then change your eye color to blue."

If you have other devices supporting the **Tuya** IoT protocol (such as smart home devices) added to your mobile app in the same network environment, you can use dialogue with Quaddle to control these devices, e.g., "Please close the curtains," "Please change the colored lights to light orange," or "Please turn on the TV."

{% hint style="info" %}
Feel free to use your imagination when communicating with Quaddle; for example, you could say, "Please change your eye color to a random color." As your interaction deepens, it will understand you better and become a helpful partner.
{% endhint %}

Please note the facial expressions displayed on the robot's screen. When listening, the robot's eye borders will become thicker; when the robot speaks, its mouth will move.&#x20;

If the robot is listening for voice messages and doesn't hear any messages within 10 seconds, it will say, "I didn't hear you, so I'll rest for a while. Call me when you need me!" After that, if you want to talk to the robot, use the wake word or press the Boot button to start a new conversation.

To interrupt the robot while it's speaking, press the **Boot** button on top of the robot (near the screen).

You can say "That's all", "see you", "I'll talk to you later", or "Bye-bye" to end the voice conversation.


---

# 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/control-and-program/ai-conversation/tuya-ai.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.
