Skill Composer
Skill Composer is a skill development tool specially developed by Petoi for robots (Bittle, Nybble). Good tools are prerequisite to the success of a job.
Before opening the software, please install the battery, and long-press the button on the battery to power on the Nybble / Bittle.
Open the Petoi Desktop App (for Windows: UI.exe / for Mac: Petoi Desktop App), click the "Skill Composer" button, and open the skill composer interface.

The Skill Composer interface



  • Model
    • Nybble
    • Bittle
  • Language
    • English
    • 中文
    • Italian(To be done)
    • Français(To be done)
    • 日语(To be done)
  • Help
    • about

Joint Controller

The center of this area is a schematic diagram marked with the index number of the joint servo, as follows :
The control slider is as follows:
The number above the slider indicates the angle value of the servo rotation in real-time.
The number below the track indicates the angle range(-180 ~ 180)of the servo rotation, though the boundaries may not be reachable by the real robot.
Press and drag the slider with the mouse to adjust the rotation angle of the servo, and the robot's joints will move in real time.
There are 2 linkage buttons corresponding to each servo (forward linkage symbol "+", reverse linkage symbol "-"), as follows:
When you use a mouse to click the linkage button, the button will change color and into a recessed state
Each servo can only select one of the linkage buttons.
After clicking the linkage buttons of multiple servos, press and drag the control slider of one of the servos with the mouse:
  • The rotation direction of the joint servo corresponding to the forward linkage button
    is the same as the rotation direction of the servo controlled by the mouse;
  • The rotation direction of the joint servo corresponding to the reverse linkage symbol
    is opposite to the rotation direction of the servo controlled by the mouse.
The control slider and linkage buttons with a light yellow background cannot be used.
When the mouse hovers over the function button, the corresponding function prompt box will pop up.
Unbind All” button
, When at least one linkage button is selected, its font color will change to red
. Click this button to cancel the linkage of all joint servos at once.
Control the robot body pose sliders as follows:
The number above the slider indicates the tilt angle value of the robot body in real-time.
To see better posture effects before using these sliders, please click the "balance" button
first and save the current pose. More details are to be covered in the latter document.
Global Orientation and Translation
Adjust the pitch angle
Adjust the roll angle
Move in the spinal direction
Raise or lower the robot's body

State Dials

When opening the app, it will keep looking for available serial ports even if there's no robot connected.
If a new serial connection to the robot is established through either the USB uploader or the Bluetooth dongle, the "Listening" button will become "connected" and the port menu will show the corresponding port name
. If more robots are connected, the new ports will also be added to the port list and the port menu will show "All"
. You can still select to control a single robot from the drop-down menu:
You may stop the app from checking the serial ports by clicking the "Listening" or "Connected" button. The button will show a red "Connect"
When at least one robot is connected, the three buttons on the right ("Servo", "Gyro", and "Random") are enabled.
When a status dial is turned on, the button shows a recessed state and the font color turns green, as shown in the following figure:
When a status dial is turned off, the button shows a raised state and the font color turns red, as shown in the following figure:
The meaning of the three buttons:
On State
Off State
All servos enter the locked state, and do not manually adjust the robot posture at this time
All servos are unloaded, and the joints can be rotated at will, which is convenient for users to manually adjust the robot's posture
The robot continuously calculates its body orientation and try to keep balance. It will self-right after falling over.
The balancing calculation is skipped to make the loops faster. The gaits will be accelerated. The robot won't self-right when you flip it.
The robot will randomly move every few seconds if you have uploaded the firmware with RANDOM mode.
The robot won't move on its own.

Preset Postures

The Preset Postures are shortcuts for some preset poses of each robot. It is convenient to provide users with some starting points when editing complex behaviors. After clicking these posture buttons, both the robot and the sliders will update to the new joint angles.

Skill Editor

Under construction...