Petoi Bittle Nybble · Volume 9
Cheatsheet

A dense quick reference distilled from Vols 1 to 8. Nothing new is introduced here. Facts are marked C where a vendor or repository source states them directly, U where they rest on a single secondary source, and NF where no reachable source establishes them.
9.1 The four machines
Table 1 — The four machines
| Bittle | Nybble | Bittle X V2 | Nybble Q | |
|---|---|---|---|---|
| Animal | dog | cat | dog | cat |
| Joints | 9 | 11 | 9 | 11 |
| Board | NyBoard V1 | NyBoard V1 | BiBoard V1 | BiBoard V1 |
| Processor | ATmega328P | ATmega328PA | ESP32-WROOM-32D | ESP32-WROOM-32D |
| Size (mm) | 200x110x110 | 250x107x140 | 190x153x107 | 240x115x150 |
| Mass | 265–290 g | 320 g | 269–353 g | 403–433 g |
| Frame | plastic | wood | plastic | 3D-printed |
| Radio | dongle | dongle | Wi-Fi + BT | Wi-Fi + BT |
| Voice | no | no | yes | yes |
| Feedback servos | no | no | yes | yes |
| Price | USD 289 / 309 | USD 299 | USD 319 | USD 435 |
| Status | final stock | sold out | current | current |
Joint breakdown: dog = 4 legs x 2 + 1 neck. Cat = 4 legs x 2 + 2 head + 1 tail. Arm variant: Bittle X V2+Arm replaces the head with a 2-DOF arm and gripper → 10 joints.
9.2 Boards
Table 2 — Boards
| NyBoard V1 | BiBoard V1 | |
|---|---|---|
| Processor | ATmega328P, Arduino Uno class | ESP32-WROOM-32D, dual core 240 MHz |
| SRAM | — | 520 KB |
| Flash | — | 4 MB vs 16 MB — conflict, see below |
| EEPROM | 64 Kbit | 64 Kbit |
| IMU | MPU6050 | MPU6050 or ICM42670, per chip availability |
| PWM | 16 | 12 |
| Grove | 4 | — |
| Built-in | UART, I2C, IR receiver, buzzer | UART, I2C, speaker, BT, Wi-Fi |
| Repository | PetoiCamp/OpenCat | PetoiCamp/OpenCatEsp32-Quadruped-Robot |
Flash conflict (C, unresolved): the Bittle X specification page says 16 MB; the Nybble Q page says 4 MB; the ESP32 firmware README’s upload settings specify a 4 MB partition scheme. Weight of evidence favours 4 MB. Read the partition table off the board rather than trusting either page.
9.3 Servos and power
Table 3 — Servos and power
| Item | Value | Conf. |
|---|---|---|
| Models | P1S alloy, P1L lite plastic, coreless | C |
| Max voltage | 8.4 V | C |
| Legacy Nybble | DS031 metal, 11 fitted | C |
| Pack quantity | 10 (dog), 12 (cat) — extras are spares | C |
| Torque / speed ratings | not published | NF |
| Battery | 7.4 V 1000 mAh Li-ion | C |
| Current | ~2 A typical, 5 A peak | U |
| Runtime | ~1 hour continuous walking | C |
| Charge | 1.5 h (BiBoard), 2 h (NyBoard) | C |
| Charger | USB 5 V 1 A; not included with legacy Nybble | C |
| Payload | ~1 lb | U |
9.4 Motion and voice
- More than 35 movements and skills: walk, trot, run, crawl, balance, sit, stretch, sleep, greet, push-up.
- Bittle backflips; Nybble does not — mass, not software. The framework supports it.
- Balance loop reads the 6-axis IMU and corrects leg positions continuously.
- Gait tables are precomputed; runtime work is interpolation. This is what fits the framework onto an ATmega328P.
- Voice: 35+ built-in commands, 10 user-defined, English and Chinese switchable by voice, any sound can trigger, processed entirely on the robot. No server, no account.
- Feedback servos enable teaching by demonstration and mirroring.
9.5 Programming
Table 4 — Programming
| Route | Open? | Needs vendor software? |
|---|---|---|
| Petoi Coding Blocks (desktop and web) | — | yes, the environment |
| Arduino IDE, C++ | MIT source | no |
| Python API | MIT source | no |
| Mobile app | proprietary | yes |
The Python API is inside the firmware repository at serialMaster/. There is no
separate OpenCatPythonAPI repository — that name 404s.
Table 5 — Programming
| Module | Role |
|---|---|
ardSerial.py | serial communication core |
robot.py | wrapper, published as PetoiRobot |
Key functions: autoConnect(), openPort(), closePort(), sendSkillStr(),
rotateJoints(), play(), readAnalogValue(), writeDigitalValue().
9.5.1 Token protocol
Table 6 — Token protocol
| Token | Meaning |
|---|---|
k | skill shortcut — ksit, kup, kbalance |
K | real-time skill data |
m / M | joint rotation, sequential — ASCII / binary |
i / I | joint rotation, simultaneous — ASCII / binary |
b | buzzer |
Lower case takes ASCII, upper case takes binary. Examples:
sendSkillStr('ksit', 3)
rotateJoints('M', absValList(0, 60), 1)
Typed straight into a serial terminal, no library required:
kbalance
m 0 -30 0 30
Gotcha: no Bluetooth response often means bluetoothPortIndex in ardSerial.py
(around line 128) is selecting the wrong port.
9.5.2 Firmware upload, BiBoard
921600 baud · 240 MHz CPU · QIO flash mode · 4 MB partition scheme · Arduino IDE.
9.6 Origin and company
Table 7 — Origin and company
| Date | Event |
|---|---|
| 2016 | OpenCat begun by Dr. Rongzhong Li at Wake Forest University |
| 2017 | Petoi founded |
| 2018 | Nybble on Indiegogo — USD 136,536 from 580 backers |
| Oct 2020 | Bittle on Kickstarter — USD 567,000 from 2,052 backers |
| — | 30,000+ robots shipped to 60+ countries |
| 2 Sep 2026 | Quaddle Kickstarter launches — outside this dive’s scope |
Both firmware repositories were still receiving commits in September 2026. Licence: MIT, both.
9.7 Buying checklist
Verify current prices — they move with tariffs. Choose alloy (P1S) servos for durability, lite (P1L) for cost. Nybble Q is pre-assembled only at present. Used legacy units are a sound buy because the NyBoard firmware is still maintained; check every servo drives and holds, the frame is uncracked, the battery holds charge, and a charger is included.
9.8 Open items
- servo torque and speed ratings — unpublished, so payload cannot be derived
- BiBoard flash capacity — vendor pages conflict
- battery cycle life and replacement availability
- measured gait stability and servo durability — no independent measurement located
- the specific research literature named in this subproject’s scaffolding, not retrieved
- camera module part numbers and co-processor wiring detail
9.9 Hub contrast, one row
Table 8 — Hub contrast, one row
| Petoi Bittle / Nybble | Anki Cozmo / Vector | |
|---|---|---|
| Kept alive by | an MIT-licensed firmware repository the owner already has a copy of | architecture (Cozmo) or a community server replacing a dead cloud (Vector) |
Fuller cross-robot matrix: _shared/comparison.md.
Sources
This cheatsheet introduces no new claims; every row traces to Vols 1 to 8 and through
them to the sources cited there. Principal anchors: petoi.com technical specification
and product pages; guide.petoi.com and docs.petoi.com; the PetoiCamp/OpenCat and
PetoiCamp/OpenCatEsp32-Quadruped-Robot repositories and their metadata;
learnwitharobot.com; and tvgreport.com.
Comments (0)