Firmware Uploader
This manual for Beginner. Makes it easier for you to get started with the robot(Nybble / Bittle ).
Petoi Desktop App works on both Nybble and Bittle, controlled by NyBoard based on ATmega328P, or BiBoard based on ESP32. More detailed documentation can be found at the NyBoard V1_0 or NyBoard V1_1.
Note: the board version number is here


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.
Notes:
- Sometimes if you cannot go through the bootup stage, for example, printing
Init IMU\r\n
repetitively, maybe you have accidentally dialed the switch to the "RPi" side. - Before uploading the firmware, please make sure not to connect any I2C device to the I2C interface of the mainboard. Otherwise, the firmware upload will fail. The location of the I2C interface is as shown below (in the red box):
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, pillow for your Python. You may get a clean Anaconda environment and
pip3 install pyserial pillow
- 3.Run
python3 UI.py
For NyBoard, firmware upload mainly calls the application avrdude to upload firmware files for the mainboard.
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/'
Check the connected serial ports:
After the USB uploader is properly connected, open the PetoiDesktopApp (for Windows: UI.exe / for Mac: Petoi Desktop App), and select your model and language.

Model

Language

Help
The "Italian", "Français", "日语" translations are to be completed. You may contribute to our GitHub repository: OpenCat/pyUI/translate.py.

Main interface

Firmware Uploader interface
Select the correct options to upload the latest firmware for the NyBoard.
The 1.0 software won't work properly with the Joint Calibrator, the Skill Composer, and other APIs. Only use it when you want to use CodeCraft (a graphical coding interface by our partner, TinkerGen).
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 | |
Product | Bittle (default)
Nybble | |
Mode | Standard (default)
RandomMind
Voice
Camera | Some modes are only available on a specific product |
Serial port | The most recent | you may need to find it through trial-and-error |
There's no correlation between the board (hardware) version and the code (software) version.
After clicking the "Upload" 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 "是(Y)", the program will reset all servo calibration parameters to zero, and the status bar will update the corresponding process and result in real-time.
Select "否(N)" and the program will skip this step.
For software version 1.0, there is a warning message window of "Update Instincts? (Y/N)" will pop up as follow:

Select "是(Y)", the program will upload all skill configuration parameters, and the status bar will update the corresponding process and result in real-time.
Select "否(N)" and the program will skip this step.
If you upload this version of the software for the first time, be sure to select "是(Y)"!
For software version 2.0, this choice is automatically processed as Y in the background..
- Calibrate IMU? (Y/N)

Select "是(Y)", the program will calibrate the gyroscope (IMU), and the status bar will update the corresponding process and result in real-time.
Select "否(N)" and the program will skip this step.
Note:
- 1.Make sure the mainboard is positioned horizontally before clicking the "是(Y)" button.
- 2.When uploading this version of the firmware for the first time, be sure to click the "是(Y)" button!
When all the steps are completed, a message window will pop up showing "Parameter initialization complete!" You need to confirm to proceed to the second round of uploading the main functional code.

After the uploading is complete, 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 at the same time.

Note:
- 1.When you open the software and upload the firmware for the first time, the program will first upload the "Parameters" firmware, then upload 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 modifed 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 not connected. You need to connect the battery and turn on its power.
Last modified 2mo ago