// the find
PetoiCamp/OpenCat-Quadruped-Robot
An open source quadruped robot pet framework for developing Boston Dynamics-style four-legged robots that are perfect for STEM, coding & robotics education, IoT robotics applications, AI-enhanced robotics application services, research, and DIY robotics kit development.
OpenCat is the Arduino/C++ firmware and tooling stack behind Petoi's Bittle (robot dog) and Nybble (robot cat) kits, handling gait generation, servo control, and IMU calibration on their NyBoard (ATmega328P). It's explicitly legacy now — Petoi's current hardware runs on a separate ESP32 repo — but this one still gets maintenance and is the right place if you own or are buying the older kit. Good fit for hobbyists, educators running STEM/robotics curricula, and researchers who want a cheap physical platform for gait or RL experiments, not for anyone wanting a hardware-agnostic quadruped framework.
- 20+ academic papers citing it is a real, checkable signal of utility, not a vanity metric — this thing actually gets used in research, not just demoed
- Clean layering: low-level C++ gait/servo code, a Python serial API (serialMaster/OpenCatPythonAPI), and a block-coding path, so you can hook in at whatever level fits — script moves in Python without touching the firmware, or rewrite gaits in C++ if you need the control
- Motion sequences (SkillLibrary/*.md) are stored as data files separate from the control loop, so adding or tweaking a trick doesn't mean recompiling core logic
- Old hardware isn't abandoned in favor of the new ESP32 line — NyBoard users still get a maintained path instead of being quietly dropped
- The README is mostly Kickstarter promotion and UTM-tagged blog links for an unrelated, not-yet-open-sourced product (Quaddle); you have to dig past several marketing sections to find the actual setup steps
- Hard hardware lock-in: this only runs on Petoi's NyBoard, so 'open source quadruped framework' is misleading — without their ~$200+ kit there's nothing to run it on, and the only pre-purchase option is an external web simulator, not anything in this repo
- Setup is a manual, interactive dance (toggle #defines, reflash, serial monitor at a specific baud with no line ending, IMU calibration with the robot flat on a table) rather than a scripted install — fine once, annoying if you're flashing multiple units or trying to automate testing
- Precompiled .hex/.bin binaries for every board/robot combo are committed straight into pyUI/release — that's repo bloat and means built artifacts, not source, are what actually ships to users