OpenCat – create your own robotic cat

If you’re a fan of the Boston Dynamics robot dog and would like to have a small replica of it at home, OpenCat is here to help.

OpenCat is an open source platform for miniature four-legged robots based on Arduino and Raspberry Pi. It was developed by Petoi, a manufacturer of futuristic programmable pet robots. The company invites everyone to try to create their own pet robot. Look how cute

In 2016, Dr. Zhongzhong Li, inspired by the famous Boston Dynamics robops, began working on a personal project. After a year of research and development, he founded the Petoi company and directed all available resources to it. The project was supposed to promote collaboration in four-legged robot research, education and development of affordable robotic pets, and also was supposed to bring the concepts of STEM (“science, technology, engineering and mathematics” or “science, technology, engineering and mathematics”) to the masses and inspire beginners (both children and adults) to join the creation of robotic AI.

The project is still too complex a system available only to serious manufacturers, but its creators decided to share their development with the community through mass production and reduce hardware and software costs. OpenCat deployed on bionic cute robot cat Nybble and palm-sized, high-performance petoi robot dog. Now Petoi has set up a production line and can supply affordable robot kits and accessories around the world.

The project is an open source base platform for creating programmable gait, locomotion, and deployment of four-legged inverse kinematic robots, as well as bringing simulations to the real world using C/C++/Python. Users already deployed simulations at NVIDIA Issac and trying out reinforcement learning on robots. They also successfully tested OpenCat on their 3D printed robot pets.

With a customizable Arduino board and servos that coordinate all instinctive and complex movements (walking, running, jumping, back flips), various sensors can be attached to the robots, allowing them to perceive and implement artificial intelligence capabilities using Raspberry Pi or other AI chips (like Nvidia Jetson Nano) via wired/wireless connection.

You can see all the works of users here.

Installation process:

The OpenCat software runs on both Nybble and Bittle and is controlled by an ATmega328P based NyBoard. More detailed documentation can be found in Petoi Doc Center.

To set up the board:

  1. Download the repository and deploy. Remove the -main suffix (or any branch name) of the folder.

  2. Open the OpenCat.ino file, select your robot and board version.

#define BITTLE    //Petoi 9 DOF robot dog: 1x on head + 8x on leg
//#define NYBBLE  //Petoi 11 DOF robot cat: 2x on head + 1x on tail + 8x on leg

//#define NyBoard_V0_1
//#define NyBoard_V0_2
#define NyBoard_V1_0
//#define NyBoard_V1_1
  1. Comment out #define MAIN_SKETCHto put the code into board configuration mode. Download and follow the instructions to continue.

// #define MAIN_SKETCH

  1. If you activate #define AUTO_INIT, the program will install automatically without prompts. In this case, the displacement of the joints is not reset, but the IMU is calibrated.

  2. Connect the USB bootloader to the NyBoard and install the driver if the USB port is not found in Arduino -> Tools -> Port.

  3. Click the download (->) button in the top left corner of the Arduino IDE.

  4. Open the Arduino IDE Serial Monitor. You can find the button in the “Tools” section or in the top right corner of the IDE.

Set the serial port monitor to “no end of line” and 115200 baud. You will be prompted:

Reset joint offsets? (Y/N): Y

Type “Y” and press Enter if you want to reset all joint offsets to 0.

The program will reset, then update constants and instinctive skills in static memory.

  1. IMU (Inertial Measurement Unit) Calibration.

You will be prompted:

Calibrate the IMU? (Y/N): Y

Type “Y” and press Enter if you have never calibrated the IMU or want to recalibrate.

Put the robot on the table and don’t touch it. The robot will make a long beep six times to give you enough time. It will then read hundreds of sensors and store offsets. It will beep when the calibration is finished.

When the serial port monitor prints “Ready!”, you can close it and continue with the next step.

  1. Uncomment #define MAIN_SKETCHto make it active. This time the code becomes a regular program for the main functions. Download the code.


When the serial port monitor prints “Ready!”, the robot is ready to follow your next instructions.

  1. If you have never calibrated joint offset and reset it in step 2, you will need to calibrate it. If you load the robot by laying it on its side, it will automatically enter the calibration state so that you can set the legs. Otherwise, it will enter a normal resting state.

  2. You can use the serial port monitor to calibrate it directly. Or you can connect a Bluetooth dongle and use the Petoi app (on Android/iOS) with a more user-friendly interface. The mobile app is available here:

You can refer to the calibration section in User manual () and Petoi App Guide.

  1. You can use the infrared remote control or other applications (such as the Petoi application, Python, serial port monitor, etc.) to play with the robot ( .

What else is interesting in the Cloud4Y blog

→ How to open a safe with a handle

→ Make Linux look like Windows 95

→ How to print a color mechanical TV on a 3D printer

→ WD-40: a tool that can do almost everything

→ Forgotten Inventors

Subscribe to our Telegram-channel, so as not to miss the next article. We only write about business. And we also remind you about the second season of our series IT-bash-bash. It can be viewed at YouTube and In contact with.

fresh series

Similar Posts

Leave a Reply