Only this pageAll pages
Powered by GitBook
1 of 16

🇺🇸English

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Useful links 🕸

1 🧘‍♂️ Tool and Preparation

"A beard well lathered is half shaved." 🪒

1.1 Preparation

Prepare a clean desk and some small boxes to unzip the package. Take a picture of the kit contents in case you lose something later.

It’s better to work in a room without carpet or textured mosaic. Little screws and springs can magically disappear if dropped onto the ground.

1.2 Tools and accessories

Note

Soldering iron w/ accessories

For modifying the PCB if you are a hacker!

3D printer w/ accessories

Add your special design

Arduino/Raspberry Pi kit

Add more gadgets to Bittle

Multimeter

Test and debug

Oscilloscope

Test and debug

Hot glue/super glue

Avoid using them. Bittle is designed to be glue-free!

Tool

Notes

Flat and Phillips screwdrivers

For M2 (diameter = 2mm) screws

A Windows/Mac/Linux Computer

Download Petoi Desktop APP

Install the latest Arduino IDE

USB charging port

5V 1A output should be enough

Tool

Petoi Bittle User Manuals 🐶

Rongzhong Li

Getting started

To keep these instructions simple to use, We are focusing on the assembling rather than an in-depth explanation.

The small but mighty Bittle has these amazing features:

  • Support Petoi Coding Blocks(block-based Scratch-like), C++, and Python.

  • Free and (block-based Scratch-like) curriculums.

  • Equipped with NyBoard, a high-performance Arduino Uno-compatible development board supporting additional modules for robotics/AI/IoT applications.

If you have specific questions on “why” rather than “how”, please post on our forum at or write to .

You can support us by shopping at . Our social media (Instagram/Twitter/Facebook/GitHub) account is @PetoiCamp. Share your build by tagging #bittle #petoi #opencat so that we can repost for you!

Last Updated: 07/24/2022

C++
Petoi Coding Blocks
https://www.petoi.com/forum
[email protected]
www.petoi.com/store

5 ⌨️ Board Configuration

"Who loves fried chips?" 🍟

There are two methods to configure NyBoard and BiBoard:

  • The simplest method is to use the Petoi Desktop App. No programming is involved. You can play with some preset modes.

  • If you have some programming experience, you can use the Arduino IDE. You will be able to modify the open-source codes for your new projects.

If you are using BiBoard, please refer to this Arduino configuration instruction.

10 👨‍🎓 Understand OpenCat.h

"Let the cat out of the bag." 🧞‍♂️

🔬It will make another textbook.

The controlling framework behind Bittle is OpenCat, which I've been developing for a while. You can read more stories from my posts on Hackster.io.

It's too much work for now 🤷🏻‍♂️ but you are welcome to discuss it with me on the forum or through email. For example, there are code reviews on the forum. I will keep the code compatible with future OpenCat models, and even your own DIY robots! Hopefully, the documentation will be completed during the process.

11 🔩 Extensible Modules

Please refer to the in the Doc center.

Extensive Modules

9 👨‍🏫 Teach Bittle New Skills

There are two ways to create new skills for Bittle:

  • Use the Skill Composer in the desktop app

  • Write Arduino code

If you are a robotics professional, this user-generated may be useful to set up a scientific simulation.

NyBoard

Servo wiring

Connect the wires of servos to the NyBoard servo pins as below. They follow a circular symmetry. Notice the skipped indexes between the head and leg servos (1~7). They are reserved for our future robots with more joints.

NyBoard

The index number of the joint servo has no corresponding relationship with the PWM PIN on the main board. You should not read the PINs on the PCB board during assembly.

Wire direction

Please ensure the black wire (or the darkest wire - ground wire) is closest to the board.

Bottom view:

Insert the infrared receiver under the back plate so the sensor can be exposed to the outside.

Ensure the wires go into the body, bypass the columns, and plug into the servo pins. Arrange the wires so they don't get between the servo plugs and the body frame. NyBoard should fit flat on the four standoffs. (It is OK for the board to have a minor bend caused by the chassis.) Use four M2x8 self-tapping screws to fix the NyBoard.

Completed:

Ensure all the servos are connected to the correct sockets on the circuit board in the proper orientation.

4 🔌 Connect the Wires

"Everything is connected." 🤝

Servo wiring principle

Note that NyBoard has an infrared receiver close to the robot tail,

BiBoard V0
has an infrared receiver close to the robot head, but
BiBoard V1
has
no
infrared receiver.
Observe the wiring pattern on the board

7 🔧 Final Assembly

One step away from the final victory. ⚙️

If the output shaft of your servo has a metal gear, use the M2x4 flathead screw to lock the legs/head.

If the output shaft of your servo has a plastic gear, use the M2x6 self-tapping screw (same as the one to lock the servos) to lock the legs/head.

7.1 Head

To lock in the head, use a screw to lock the servo shaft and the servo arm from the bottom side of the chassis.

In the latest kit, we enhanced the neck connection to include a hook. To reinforce the neck connection of the previous model, you can 3D print one of the .

7.2 Limbs(upper and lower legs)

Use the screws to lock all the limbs.

7.3 Wire shield

There’re two snaps on both sides of the wire shield. Their relative height is different.

Flatten the wire of the lower leg to remove any coils. Then snap the wire shield to the upper leg.

The shield's edge should be parallel to the surface of the upper leg.

You may need to recalibrate if more or less weight is put on Bittle or the center of mass has been changed.

The picture below shows the wrong installation configuration.

7.4 Body cover and tail

The 6-pin female socket is used for connecting the programmer and communication dongles. Carefully bend it forward in a smooth arc if you are not going to attach a Raspberry Pi.

Attach the tail to the pin on the cover.

Snap the cover from one side of the body. Organize the wires so that they don't get stuck between the cover and the body. Then push the cover down to the other side of the body. You should hear a clear snap sound.

8 🕹 Play with Bittle

"You can't direct the wind, but you can adjust your sails." ⛵️

See the Getting Started guide.

There are 4 methods for users without any programming experience to control Bittle:

  • Use the IR Remote Controller.

  • Use .

  • Use .

  • Use .

If you have some programming experience or want to explore more advanced features, you can try the following methods:

  • Use .

  • Use .

  • Use .

  • Use .

BiBoard V1

Servo wiring

BiBoard V1(for Bittle X V2), Please check this page to .

Although the BiBoard V1 has only 12 pins, the joint index numbers are configured in the same order as the NyBoard. The connection between the joint servo and the pin is shown in the figure below:

BiBoard V0

Servo wiring

BiBoard V0(for Bittle X), Please check this page to .

Although BiBoard V0 has only 12 pins, the joint index numbers are configured in the same order as NyBoard. The connection between the joint servo and the pin is shown in the figure below:

Use Raspberry Pi.

  • Use the extensible modules.

  • Petoi Mobile App
    Petoi Desktop App
    Petoi Coding Blocks
    Arduino IDE
    Python
    MicroPython
    ESP8266 + Python
    Wiring instruction for BiBoard V1

    Please ensure the black wire (or the darkest wire - ground wire) is closest to the board and all the servos are connected to the correct sockets on the circuit board in the proper orientation.

    identify your BiBoard version

    Wiring instruction for BiBoard V0 with the voice command extension hat

    Please ensure the black wire (or the darkest wire - ground wire) is closest to the board.

    Ensure all the servos are connected to the correct sockets on the circuit board in the proper orientation.

    identify your BiBoard version
    Bittle neck locks

    2 🧩 Open the Box

    "life is like a box of Bittle." 🔍

    2.1 Pre-assembled Bittle

    Video timeline:

    00:12 Install the neck

    01:28 Install the battery

    02:05 Bend the legs

    03:15 Open the back cover

    04:07 Insert the Bluetooth dongle (only for models with NyBoard)

    05:05 Connect the mobile app

    If you received the pre-assembled Bittle, you need to insert the neck into the body and bend the knees to natural angles. Drag the curly wire from the knee side to the shoulder side to avoid squeezing when the knee joints rotate. Put the joints into the following posture before turning on the power.

    Pay attention to the direction of the head and the joints

    Long press the battery's button for 2~3 seconds to power on/off. Unplug the insulation sheet of the infrared remote's battery, then you can control Bittle to move. The robot will keep pausing its movements with beeping sounds when the battery is low. Then, you need to charge the battery with a 5V micro-USB cable. Considering safety, the battery won't supply power during charging.

    If your Bittle's lower leg is in the right direction but doesn't move when calibrating, you may rotate it in the right direction. You should feel moderate resistance until the joint locks at the right position. The cause is that the new gears are a little too tight, and the large bootup resistance will trigger the protection algorithm. The servo will reduce the force on the joint to avoid overcurrent, which will stop the joint from moving.

    Buzzer beep meaning:

    [1]. The startup melody in normal mode starts at 00:13 in the video below.

    [2]. The repetitive melody starts at 00:21 in the video below.

    Sound type
    Occasion
    Explaination

    Short melody [1]

    Power on or reboot

    The program starts successfully

    Short beep

    During use

    The program receives a command

    Repetitive melody [2]

    During use and pausing the movements

    The battery is low or disconnected

    Mute/Unmute the buzzer beep

    For the mainboard - NyBoard, you can mute/unmute the buzzer beep by serial command b in the serial monitor.

    Please refer to the instructions in the Petoi Doc Center for how to open the serial monitor and input the serial command.

    You can also use the serial command in the mobile app by creating a single command:

    You can skip Chapter 3 Assemble the Frame, Chapter 4 Connect Wires, and Chapter 5 Board Configuration. Go to Chapter 6 Calibration directly. You may need to open Bittle's back cover to insert the Bluetooth dongle.

    The pre-assembled Bittle is only coarse-tuned. You still need to calibrate Bittle's joint servos and final assembly to fine-tune its joints for the best performance.

    Friction plays an important role in dynamic balancing during walking. Though the silicone toe covers (socks) can improve grip, they will also amplify the differences of the unpredictable surface of your test environment. So for regular use, we recommend running Bittle without the socks, unless you can tune the gait or need friction to perform some specific tasks.

    2.2 Bittle Construction Kit

    If you order a Bittle Robotics Kit Construction or BIttle STEM Kit Construction, you will build your robot dog. You will learn more about robotics after understanding the design logic behind Bittle. Please move to the next chapter for details.

    6 📐 Calibration

    "A miss is as good as a mile." 🎯

    Preparations

    1. all the servos are connected to the correct sockets on the board in the correct orientation

    2. don't attach the legs to the servos.

  • The reason is when the robot is powered, the legs could move into each other or collide with the body. The servos may be damaged after getting stuck for a long time.

  • long-press the battery power button

  • the blue and yellow LEDs on the board indicate the board is powered on

  • Enter the calibration mode

    You must install the head and leg components on the servo's output shaft gear during calibration. No screws are required, but you must enter the calibration mode before installation.

    There are five methods to enter the calibration state:

    • Long-press the battery and boot up the robot with one side up. It will enter the calibration state automatically. This feature is available for all robots manufactured after 2022.

    • Use the mobile app to enter the calibration panel.

    • Use in Petoi Desktop App :

      • If you have already connected the robot and computer with a serial port, It will enter the calibration state automatically when you click the " Joint Calibrator" button

      • Click the "Calibrate" button in the calibrator interface

    • In the of Arduino IDE, enter the serial command "c"

    • Press the calibrating button (3,3 - the 3rd row and 3rd column) on the infrared remote.

    Install the head

    In the calibrated neutral state, place the head as close to the central axis as possible and insert its servo shaft into the servo arm of the neck.

    Press down on the head so it is firmly attached to the neck.

    Install the legs

    Insert the upper legs and the lower legs into the output teeth of the servos while Bittle is powered on and in the neutral position. When inserting, try to keep the torso, upper leg, and lower leg at right angles with each other as much as possible. Pay attention not to install the lower leg backward (the correct orientation is shown in the picture below).

    Calibrate the head and the legs

    To calibrate the head, adjust the neck servo angle in the app until the head is straight forward. If the servo angle reaches the limit but the head is still not straight, you should return the servo to the neutral position, and reattach the head closer to the forward position.

    To calibrate the legs, place the L-shaped ruler included in the kit next to a leg, as shown in the picture below. (Note: the picture below shows the screws in the joints. You may put on the screws, but you should NOT tighten them before the calibration is finished.)

    Adjust the servo angles of the corresponding servo in the app until the reference features on the leg (i.e., the screw holes on the joints, the "muscle line" on the upper leg, and the triangular hollow space on the lower leg) are all aligned with the openings on the L-shaped ruler. Repeat this process for all four legs.

    Once calibration is finished, use the provided flat-head screws to secure all the shoulder and elbow joints.

    For more details, you can also read the calibration guides below:

    • Petoi mobile app.

    • Petoi Desktop App.

    • Petoi Arduino IDE.

    For more details, please refer to the Joint Calibration in the Doc Center.

    Petoi
    Joint Calibrator
    serial monitor
    URDF structure

    3 🏗 Assemble the Frame

    "The whole is more than the sum of its parts." 🔩

    3.1 Start with the Unassembled Kit

    You can take a glance at this assembling animation for Bittle.

    Here's a more detailed hands-on tutorial on building Bittle from the kit.

    3.2 Step-by-step Instruction

    You can finish the following parts then put them together in later chapters.

    • Neck

    • Body

    • Upper leg

    • Lower leg

    3.2.1 Neck

    Materials:

    • Neck x 1

    • Servo arm x 1

    • M2x8 sharp-end self-tapping screws x 2

    Put the servo arm in the neck part like the figure below. The teeth of the servo arm should face upward.

    Screw two M2x8 self-tapping screws beside both sides of the servo arm. Don't over tighten the screws.

    Finished:

    3.2.2 Body

    This part is now fully assembled in our package.

    Materials:

    • Assembled neck x 1

    • Chasis x 1

    • Front and back plate x 2

    • Side shoulder x 2

    Recognize the front and back side of the chassis. The location of the two large holes along the center track makes a difference. In our standard configuration, we define the holes to be shifted towards the tail. You can also find a small mark "A1" in the front of the chassis.

    Push the back tip of the assembled neck into the slot of the chassis. Then press down the front hook until you hear a snap sound.

    Insert the chassis into one of the side shoulders.

    Insert the front or back plate into the side shoulder. There are three tenons on each side of the plate. Insert the two front tenons as one group for better alignment.

    Insert both the front and back plates.

    Plug the other side shoulder to complete the body. Again pay attention to the alignment of the tenons of the front and back plates.

    Finished:

    3.2.3 Upper leg

    This part has been pre-assembled in batches after 2022.

    It's a little hard to explain well with words. Please refer to the assembling . It requires more skill than force. There's a discussing installing springs with various tools.

    3.2.4 Lower leg

    There are five servos with long cables and five servos with short cables. The lower legs all need servos with long cables.

    Materials:

    • P1S servo with long cable x 4

    • Lower leg piece x4

    • M2x8 self-tapping screw x 8

    Assemble the right leg. Insert the servo into the window. Watch the tutorial video to see the correct direction to fold the wire. The notch on the internal edge is designed to let the wire go through. Use two M2x8 screws to fix the servo onto the lower leg.

    The left leg is opposite to the right leg. However, the front and back legs are identical. So you should make two pairs of legs with opposite configurations.

    3.2.5 Head

    There are five servos with long cables and five servos with short cables. The head needs a servo with a short cable.

    Materials:

    • P1S servo with short cable x 1

    • Chin x 1

    • Skull x 1

    • M2x8 self-tapping screw x 2

    Put the servo in the chin as shown in the figure. Pay attention to the direction of the servo's wire. After that, install two M2x8 self-tapping screws.

    Insert the skull into the chin so that it can rotate and bite on small gadgets. I recommend you apply some lubricant to the contact points between the skull and chin.

    3.2.6 Shoulder servo

    There are five servos with long cables and five servos with short cables. The upper legs all need servos with short cables.

    Materials:

    • P1S servo with short cable x 4

    • M2x8 self-tapping screws x 8

    • Head (assembled)

    • Body (assembled)

    Put the head, body, servos, and lower legs like the figure below. Insert the short servo wires through the servo slots on the side shoulders. Pay attention to the direction of the servos carefully and place them in the correct configuration.

    Side view:

    Top view:

    You also need to insert the wire of the head servo into the body.

    After confirming all the components ' directions, put the short wire servos into the side shoulders. Pay attention to the directions of the shoulder servos’ output shaft. The long wires of the lower leg servos should be inserted into the opening between the shoulder servo and the shoulder window. Use two M2x8 self-tapping screws to fix each should servo.

    Repeat the above assembly for the hip servos.

    Please note the direction of the shoulder servo:

    3.2.7 Battery

    The controller board is already fixed on the body in the following picture. You can finish the chapter and then return here.

    Insert the battery plug into the power socket under the body:

    Place the battery in the direction shown in the figure below, aligning with the mounting holes:

    Snap in the battery:

    While holding down the battery, push it towards the head, and arrange the power cable after the battery snaps into place, as shown in the following figure:

    Long-press the button on the battery for more than 3 seconds. If the red light on the battery is on, please charge it until the green light on the battery turns solid before using it. The power supply starts to supply power, and the yellow and blue LEDs on the NyBoard light up at the same time.

    Head

  • Shoulder servo

  • Battery

  • Lower leg (assembled) x 4

    instruction video at 3:23
    forum post
    Connect Wires
    Bittle X with BiBoard V1 assembly and wiring tutorial