> For the complete documentation index, see [llms.txt](https://docs.petoi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.petoi.com/block-based-programming/petoi-coding-blocks/nyboard-preparation.md).

# NyBoard Preparation

For [Nyboard](https://docs.petoi.com/nyboard/overview) products ([**Nybble**](https://nybble.petoi.com), [**Bittle**](https://bittle.petoi.com)), there are two ways to upload the firmware (Mind+ mode), which supports the Mind+ extension library:

* [Using the Petoi Desktop App](/desktop-app/firmware-uploader.md)<br>

  <figure><img src="https://1565080149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-887967055%2Fuploads%2FP7Pzzq79fP3nBP17cbzx%2Fimage.png?alt=media&amp;token=fbc7893c-5183-4643-b297-3d74c812de55" alt=""><figcaption></figcaption></figure>

  * If you just downloaded a new version of this Desktop App. You should click the **Upgrade the Firmware** button. You can select 'N' to preserve the calibration values.
  * If you have upgraded the firmware at least once after a new download, You can click the **Update the Mode Only** button. It's faster to only switch the modes without refreshing the parameters.
* [Using the Arduino IDE](/arduino-ide/upload-sketch-for-nyboard.md)\
  Please download the latest code from [GitHub](https://github.com/PetoiCamp/OpenCat). Follow the steps for [uploading](https://docs.petoi.com/arduino-ide/upload-sketch-for-nyboard#upload). [Set up the configuration mode](https://docs.petoi.com/arduino-ide/upload-sketch-for-nyboard#2.-setup-the-configuration-mode) and activate this line of code in **OpenCat.ino**\
  **`#define MAIN_SKETCH`**

  **`#define GROVE_SERIAL_PASS_THROUGH`**

  Then, upload [the major functionalities sketch](https://docs.petoi.com/arduino-ide/upload-sketch-for-nyboard#10.-upload-the-major-functionalities-sketch) and power on the robot. Use the data cable and [USB uploader](https://docs.petoi.com/communication-modules/usb-downloader-ch340c) to connect with the computer or [the Bluetooth module](https://docs.petoi.com/communication-modules/dual-mode-bluetooth) and complete the pairing.

Note that the gyroscope function is turned off with the Mind+ mode on NyBoard to save memory space.  The robot won't be able to self-balance and auto-recover.

{% hint style="warning" %}
If you don't use the "[Read or Write analog/digital pin](#write-analog-value)" function block, you can upload [the Standard mode sketch](https://docs.petoi.com/arduino-ide/upload-sketch-for-nyboard#11.-the-module-macro-in-the-code) for Bittle / Nybble and use the Mind+ extension library.\
**Note:**

When the robot is in Mind+ mode, the gyroscope function is turned off, and the robot cannot balance or auto-recover.
{% endhint %}

#### After uploading the firmware, plug in the battery to the NyBoard, install it to the chassis and long-press the battery button to power on the robot.

### Connect method

* Wired connection: The kit includes a [**USB Adapter and USB data cable**](https://docs.petoi.com/communication-modules/usb-downloader-ch340c) that connect the robot's mainboard to the computer.
* Wireless connection(Bluetooth): The kit includes a [**Bluetooth module**](https://docs.petoi.com/communication-modules/dual-mode-bluetooth) connecting the robot's mainboard to the computer.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.petoi.com/block-based-programming/petoi-coding-blocks/nyboard-preparation.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
