Firmware Uploader

This manual for Beginner. Makes it easier for you to get started with the robot(Nybble / Bittle ).

** Download the latest version of the Petoi Desktop APP. **

  • After downloading the compressed file(.zip), please unzip it first.

  • Do NOT move the UI.exe to another location in Windows.

Petoi Desktop App works on both Nybble and Bittle controlled by NyBoard based on ATmega328P or Bittle X controlled by BiBoard based on ESP32. For NyBoard, more detailed documentation can be found at NyBoard V1_0, NyBoard V1_1, or NyBoard V1_2 (which is similar to NyBoard V1_1).

Connect the mainboard to the computer

NyBoard(for Bittle & Nybble)

Use the USB uploader for NyBoard.

For more details, please refer to the Connect NyBoard section in the USB uploader module for specific steps.

NyBoard

NyBoard Version

You can find the board version number on the NyBoard.

Note:

For NyBoard V1_1, the board version number is here:

Dial the I2C switch(Sw2) to the "Arduino" side

The I2C switch changes the master of I2C devices (gyro/accelerometer, servo driver, external EEPROM). On default “Arduino”, NyBoard uses the onboard ATmega328P as the master chip; On “RPi”, NyBoard uses external chips connected through the I2C ports (SDA, SCL) as the master chip. Always select "Arduino" unless you know how to connect the I2C devices from the external chip.

BiBoard(for Bittle X)

Use the USB type-C data cable for BiBoard

If you cannot find the serial port after connecting to your computer:

  • You may need to install the driver for the CP210x chip.

  • If the battery powers the BiBoard, please long-press the button on the battery >=3s to power off the mainboard so that the board is only powered through the USB cable and only the blue LED is lit up.

BiBoard Version

You can find the board version number on the BiBoard:

On the pre-assembled Bittle/Bittle X, you can check the version information of BiBoard like this by taking a picture and zooming in to see the version information:

Upload the firmware with the Petoi Desktop APP

Download the latest version of the Petoi Desktop APP.

There may be some OS platform compatibility issues with different computers.

You can still run the app directly from your terminal:

  1. Go to OpenCat/pyUI/ in your terminal.

  2. Install pyserial and pillow for your Python. You may get a clean Anaconda environment and pip3 install pyserial pillow

  3. Run python3 UI.py

For NyBoard, the firmware uploader calls the application avrdude to upload firmware files to the mainboard.

Linux OS

For Linux system users, in addition to the above steps, you also need to perform the following steps:

1. Install avrdude

  • Fedora : dnf install avrdude

  • CentOS : yum install avrdude

  • Debian / Ubuntu : apt install avrdude

2. Modify the variable avrdudeconfPath in FirmwareUploader.py

  • Fedora / CentOS : avrdudeconfPath = '/etc/avrdude/'

  • Debian / Ubuntu : avrdudeconfPath = '/etc/'

For BiBoard, the firmware uploader calls the application esptool to upload firmware files to the mainboard.

Open the PetoiDesktopApp

After properly connecting the USB uploader, open the PetoiDesktopApp (for Windows: UI.exe / for Mac: Petoi Desktop App), and select your Model and Language.

Model
Language
Help

Click the Firmware Uploader button

Main interface
Firmware Uploader interface

Select the correct options to upload the latest firmware

Options
Values
Note

Software version

1.0

2.0 (default)

The 1.0 version will be obsolete.

Board version

NyBoard_V1_0 (default) NyBoard_V1_1 NyBoard_V1_2 BiBoard_V0_1 BiBoard_V0_2

Bittle X use BiBoard_V0_1 or BiBoard_V0_2

Product

Bittle (default) Nybble Bittle X

Mode

Standard (default) RandomMind Voice Mind+ Camera (Bittle) Ultrasonic (Nybble) RandomMind_Ultrasonic (Nybble)

Some modes are only available on a specific product and a board. The mode list will show only supported modes when you switch between products and boards. Note that Bittle X has random mind feature loaded by default. You don't need to upadte the mode on Bittle X.

Serial port

Auto detection or by manual selection.

You can find the correct one through unplug and replug the USB socket on the computer side

There's no correlation between the board (hardware) version and the code (software) version.

Uploading options

  • Factory Reset Our factory uses it to improve efficiency. However, it automatically resets all the parameters, including the calibration parameters of the servos and the IMU, so it's not recommended for regular users.

  • Upgrade the Firmware It will upgrade both the parameters and the main function.

    • It is mandatory if you just downloaded a new version of this desktop app.

  • Update the Mode Only If you have upgraded the firmware at least once after downloading a new version of this desktop app, you can switch between the modes without refreshing the parameters. It's faster by skipping the firmware upgrade stage.

Upgrade the firmware process for NyBoard

After clicking the Upgrade the Firmware button, the uploading process starts immediately. The status bar at the bottom will show the current progress in real time, as well as the results of key processes.

After the Parameters firmware has been successfully uploaded, the board starts to run the configuration program by itself. Some message windows will pop up in sequence for you to confirm or cancel:

  • Reset joint offsets? (Y/N)

Select "Yes, " and the program will reset all servo calibration parameters to zero. The status bar will update the corresponding process and result in real-time.

Select "No" to preserve the calibration value(so that you don't need to calibrate again if you have done so before).

For software version 1.0, there is a warning message window of "Update Instincts? (Y/N)" will pop up as follows:

If you select "Yes," the program will upload all skill configuration parameters, and the status bar will update the corresponding process and result in real-time.

Select "No," and the program will skip this step.

If you upload this version of the software for the first time, be sure to select "Yes"!

For software version 2.0, this choice is automatically processed as Y in the background.

  • Calibrate IMU? (Y/N)

Select "Yes, " and the program will calibrate the gyroscope (IMU) to balance the robot correctly. The status bar will update the corresponding process and result in real-time.

Select "No," and the program will skip this step.

When all the steps are completed, a message window will pop up showing "Parameter initialization complete!" You must confirm to proceed to the second round of uploading the main functional code.

Calibrate the servo controller chip PCA9685 on the NyBoard

Finish uploading the firmware

After the upload, the status bar will update the corresponding result, such as the success or failure of firmware uploading. If the uploading is successful, a message window of "Firmware upload complete!" will pop up simultaneously.

Note:

  1. When you open the software and upload the firmware for the first time, the program will first upload the "Parameters" firmware and then the "Main function" firmware. If you re-upload after a successful upload, the program will only upload the "Main function" firmware as long as you only modify the "Mode" option.

  2. If the NyBoard is not connected to the battery and powered on, you will hear repetitive descending melodies, indicating that the battery is low or disconnected. You need to connect the battery and turn on its power.

If you have Arduino IDE programming experience

Last updated

Was this helpful?

#524: Add a demo in Melody Creation

Change request updated