Petoi Bittle Nybble · Volume 4

Electronics — Boards, Servos and Power

Figure 1 — The two board generations and the machines each one carries. Which board a robot has determines its firmware repository and most of its feature set. Interpretive diagram drawn from the s…
Figure 1 — The two board generations and the machines each one carries. Which board a robot has determines its firmware repository and most of its feature set. Interpretive diagram drawn from the sources cited in this volume.

4.1 Two boards, a decade apart in capability

Every Petoi quadruped carries one of two control boards. They are not revisions of each other; they are different computers, and the gap between them is the gap between an 8-bit microcontroller and a 32-bit dual-core system-on-chip with radios.

4.1.1 NyBoard V1

The legacy board, fitted to the original Bittle and Nybble.

Table 1 — NyBoard V1

ItemSpecification
ProcessorATmega328P (Bittle) / ATmega328PA (Nybble)
ClassArduino Uno compatible
External EEPROM64 Kbit
Inertial sensor6-axis MPU6050
PWM channels16
Grove connectors4
Built-inserial UART, I2C network, infrared receiver, buzzer
RGB LEDs7 NeoPixel (Nybble)
Wirelessnone on board; optional Bluetooth and Wi-Fi dongles

An ATmega328P runs at 16 MHz with 2 KB of RAM. That OpenCat performs inverse kinematics, drives up to twelve servos and closes an inertial balance loop on that part is the most impressive engineering claim in this dive, and it is worth understanding why it is possible: the gait tables are precomputed, so the runtime work is interpolation and correction rather than solving kinematics from scratch each cycle. That design choice is what fits the whole thing into a microcontroller from 2008.

4.1.2 BiBoard V1

The current board, fitted to Bittle X V2 and Nybble Q.

Table 2 — BiBoard V1

ItemSpecification
ProcessorESP32-WROOM-32D
Cores and clockdual-core, 240 MHz
SRAM520 KB
Flashsee the conflict below
External EEPROM64 Kbit
Inertial sensor6-axis MPU6050 or ICM42670, depending on chip availability
PWM channels12 (Nybble Q specification)
Servo capacityup to 12
Built-inserial UART, I2C network, speaker, Bluetooth, Wi-Fi

The integrated radios are the practical difference. They are what make the web-based block-coding environment, wireless control and on-board voice processing possible without add-on hardware.

4.1.3 A specification conflict worth recording

Petoi’s own pages disagree about the BiBoard’s flash capacity:

Table 3 — Petoi's own pages disagree about the BiBoard's flash capacity

SourceStated flash
petoi.com, Bittle X technical specifications16 MB QSPI flash
petoi.com, Nybble Q technical specifications4 MB QSPI flash
OpenCatEsp32 README, upload settings4 MB partition scheme

Two of the three say 4 MB, including the firmware repository’s own documented upload configuration, which is the source with the least incentive to be wrong. The 16 MB figure on the Bittle X page is the outlier.

This dive does not resolve the conflict. It records it, notes that the weight of evidence favours 4 MB, and flags that anyone planning work that depends on available flash should read the partition table off their own board rather than trusting either page.

4.1.4 The honest inertial-sensor entry

Petoi states the IMU is an “MPU6050 or ICM42670 depending on chip availability.” This is unusual candour — most vendors would name one part and quietly substitute — and it has a practical consequence: code that assumes a specific register map may encounter either device. The firmware abstracts this, but anyone reading raw sensor data should confirm which part is fitted.

4.2 Servos

The servos are the most consequential components in the machine, because in a legged robot they set the performance envelope and they are the parts that wear out.

Table 4 — Servos

ItemSpecification
ModelsP1S alloy-geared, P1L lite plastic-geared
Motor typecoreless
Maximum voltage8.4 V
Legacy NybbleDS031 metal-geared, 11 fitted
Quantity in pack10 (Bittle), 12 (Nybble Q)
Current generationposition feedback

The pack quantity exceeds the joint count, and this confuses readers of the specification tables. Bittle has 9 joints and ships 10 servos; Nybble Q has 11 joints and ships 12. The extras are spares, not additional axes — an acknowledgement by the vendor that these parts are consumable. That is a realistic piece of kit design and worth reading as a signal about expected service life.

Petoi does not publish torque or speed ratings for P1S or P1L on the specification pages consulted for this dive. Those figures are therefore not established here, which is a real gap: without torque numbers, the payload and dynamic performance of these machines cannot be derived, only observed.

4.2.1 Position feedback

The current-generation servos report actual position rather than only accepting a commanded one. Two capabilities follow, and both are covered further in Vol 5: teaching by demonstration, where an operator poses the robot by hand and the firmware records the joint angles; and mirroring, where one servo follows another that is being moved.

This is the single most useful upgrade in the BiBoard generation for anyone intending to author their own motions, because it removes the need to derive joint angles analytically before trying them.

4.3 Power

Table 5 — Power

ItemSpecification
TypeLi-ion battery pack
Nominal7.4 V, 1000 mAh
Current drawapproximately 2 A typical, 5 A maximum
Runtimeabout 1 hour of continuous walking
Charge time1.5 hours (BiBoard generation), 2 hours (NyBoard generation)
ChargerUSB 5 V 1 A; not included with the legacy Nybble

The same 7.4 V 1000 mAh pack serves every machine in the range, from the 265 gram legacy Bittle to the 433 gram Nybble Q, and delivers roughly an hour in each. The 2 A typical against 5 A peak figure is the number that matters for anyone powering a robot from a bench supply during development: the peak occurs when multiple servos accelerate simultaneously, and a supply sized to the typical figure will brown out during a jump.

An hour of continuous walking is a genuinely good figure for a machine of this size, and it is worth noting that it is continuous walking rather than standby — legged robots consume power holding a pose as well as moving.

Battery cycle life, replacement availability and pack chemistry beyond “Li-ion” are not established by the sources consulted.

4.4 Payload

Secondary coverage states that Bittle is capable of carrying approximately one pound. This figure does not appear on the technical specification pages consulted for this dive and is recorded as unverified. Given that no servo torque ratings were located either, it cannot be checked by derivation.

4.5 Programming the board

Firmware is uploaded through the Arduino IDE. The documented settings for the BiBoard generation are:

Table 6 — BiBoard generation are

SettingValue
Upload speed921600 baud
CPU frequency240 MHz
Flash modeQIO
Partition scheme4 MB

That the repository’s own upload instructions specify a 4 MB partition scheme is the strongest single piece of evidence in the flash-capacity conflict recorded above.

4.6 Figure slots for the unit documented here

Sources

  • petoi.com technical specification pages for Bittle, Bittle X, Nybble and Nybble Q — all board, processor, EEPROM, IMU, PWM, servo, battery and charging figures tabulated above, and the source of the recorded flash-capacity conflict.
  • github.com/PetoiCamp/OpenCatEsp32-Quadruped-Robot README — the ESP32 dual-core 240 MHz specification, the twelve-servo capacity, and the Arduino IDE upload settings including the 4 MB partition scheme.
  • github.com/PetoiCamp/OpenCat README — the NyBoard’s twelve-servo capacity and its scope.
  • tvgreport.com, “Review Preview: Petoi Bittle X” — the 520 KB SRAM, 64 Kbit EEPROM, six-axis IMU, and the 2 A typical / 5 A maximum current figures; the payload figure recorded as unverified.

Comments (0)

  1. Loading…

Comments are held for moderation — nothing appears until approved.