# Useful Tools

## USB Driver

### NyBoard USB Driver to access the USB uploader (adapter)

When you use a [USB uploader](https://docs.petoi.com/communication-modules/usb-downloader-ch340c) to upload the firmware for **NyBoard**, please download and install the driver first:

* Mac: <https://www.wch-ic.com/downloads/CH341SER_MAC_ZIP.html>
* Windows: <https://www.wch-ic.com/downloads/CH341SER_ZIP.html>
* Linux: <https://www.wch-ic.com/downloads/CH341SER_LINUX_ZIP.html>

For example, for Windows:

<figure><img src="https://1565080149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-887967055%2Fuploads%2FCsofhqIiPFg9J1MP0fn9%2Fimage.png?alt=media&#x26;token=7be96050-a40a-44ee-be51-7d281830b1c4" alt=""><figcaption></figcaption></figure>

### BiBoard V0 USB Driver to access the serial port&#x20;

When you use a **USB Type-C**  interface data cable to upload the firmware for BiBoard or control the robot via the [**Petoi Desktop App**](https://docs.petoi.com/desktop-app/introduction), please download the driver as below:

{% embed url="<https://www.silabs.com/developer-tools/usb-to-uart-bridge-vcp-drivers?tab=downloads>" %}

For example, for Windows:

<figure><img src="https://1565080149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-887967055%2Fuploads%2FBm7tVsyQe5YwQmiaizeX%2Fimage.png?alt=media&#x26;token=ba86d619-14c8-4368-ba02-2b98df4ab3d3" alt=""><figcaption></figcaption></figure>

#### Mac

You can download the Mac version and run the \*dmg file to install it. During the installation, you need to allow the permission settings.&#x20;

#### Win

For Windows, the installation steps are as follows:

<figure><img src="https://1565080149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-887967055%2Fuploads%2FIEiUxfdXRhfZioKMAvEy%2FCP2102driver.png?alt=media&#x26;token=08e055e1-54a5-4959-9f1a-e4e02e152653" alt=""><figcaption></figcaption></figure>

In the **Device Manager**, if you open the Other devices list, you may see a CP210X device with a triangle exclamation sign. Right-click it to find the "**update driver**" option, then select the unziped folder of your downloaded driver to install.

<figure><img src="https://1565080149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-887967055%2Fuploads%2FjJLp2uMZJNUvT7tkwT85%2Fupdate_driver02.jpg?alt=media&#x26;token=65979448-f549-41db-abfc-9f075bca49e6" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1565080149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-887967055%2Fuploads%2FuoTDTsgGjpyRovjv0CTv%2Fupdate_driver03.jpg?alt=media&#x26;token=549ba637-f11f-4c54-b009-8580d9822117" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1565080149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-887967055%2Fuploads%2FlofrxHlodyiPqQCdOcoZ%2Fupdate_driver04.jpg?alt=media&#x26;token=3691e6a3-2ec9-48af-8ad7-e003fa20967e" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1565080149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-887967055%2Fuploads%2FGZs4ul8whvYFe60D2zyz%2Fupdate_driver05.jpg?alt=media&#x26;token=f0dfab24-8218-474f-bb99-2142102ecf97" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1565080149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-887967055%2Fuploads%2FKYM3TBmcinuCNmarRlxL%2Fupdate_driver06.jpg?alt=media&#x26;token=56415e29-6d80-4be8-8bdc-643f23c2390b" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1565080149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-887967055%2Fuploads%2FzNL2gWlHrZ7azx7lGu5h%2Fupdate_driver07.jpg?alt=media&#x26;token=986eca06-5a88-4fd3-a475-2186391ff5df" alt=""><figcaption></figcaption></figure>

### BiBoard V1 USB Driver to access the serial port

{% hint style="warning" %}
Some USB cables are just for charging and do not have data transfer capability. Using the original data cable in the kit is better for making the uploading successful. &#x20;
{% endhint %}

When you use a USB type-C data cable to upload the firmware for the **mainboard.**

* In Windows, if there is **no** serial port in the port list of **Device Manager**:

<figure><img src="https://1565080149-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQ6a951Q6Jn1Zzt5Ajr-887967055%2Fuploads%2FpdmsRGnMjMLkcAtJv58i%2Fimage.png?alt=media&#x26;token=ad20dccf-16ff-414f-a208-c66728587869" alt=""><figcaption></figcaption></figure>

* In Mac, open the **Terminal** program under the **Applications**-**Utilities** folder and type the following commands. If no serial device name starting with "***tty.wchusbserial***" or "***cu.wchusbserial***" is found:

  <pre><code>cd /dev
  <strong>ls
  </strong></code></pre>

#### Please download and install the USB driver:

* Windows: <https://www.wch-ic.com/downloads/CH343SER_EXE.html>
* Mac: <https://www.wch-ic.com/downloads/CH34XSER_MAC_ZIP.html>

{% hint style="info" %}
For ChromeOS:

1. &#x20;Download the Arduino IDE(e.g. 1.8.19) for Linux from <https://github.com/arduino/Arduino/releases/download/1.8.19/arduino-1.8.19.tar.xz>
2. &#x20;Install it on the Chromebook. Please refer to the video at <https://www.youtube.com/watch?v=2cve6n4LZqI>
3. &#x20;Plug the Bittle USB type-C data cable into the robot and the Chromebook.
4. Set the Chromebook Linux VM to recognize the USB port

&#x20;      Settings => Advanced => Developers => Linux development environment => Manage USB devices => USB Serial (turn on)

NOTE: Step 4 must be repeated whenever the USB connection is reconnected/powered on.
{% endhint %}
