The firmware runs on an RP2040 (Pico W). Written in MicroPython for speed of iteration — C++ port planned once the control model stabilizes.
Three main loops:
The PID tuning for the spine is incomplete. The proportional term alone makes the body oscillate at walking speed. Adding derivative damps it but introduces a lag that makes tight turns sluggish.
The gait controller works well on flat linoleum. On carpet the front legs stall under load and the phase drifts.
machine (RP2040 hardware abstraction)uasyncio (cooperative multitasking)imu_driver.py for the BNO055ble_simple_peripheral.py from MicroPython examples, modified