Drive
The drive uses four 6 mm coreless brushed motors arranged in an X configuration. Each motor is angled outward from the body, and the robot sits directly on the motor shafts.
At very high RPM, the rotating shaft contacts the surface, plus the motor's own vibration generates a net thrust along each leg's axis. With four legs at the corners, the robot has four independent thrust vectors. Varying the four motor speeds sums those vectors into a net push in any X-Y direction.
Same end result as a mecanum chassis, but using rotation-and-vibration force vectors instead of rolling wheels. There are no exposed gears, nothing fast enough to hurt a finger, and the whole drive fits inside a 7 cm cube.
Electronics
Custom 4-layer PCB designed around the ESP32-S3 (dual-core, 240 MHz, Wi-Fi + Bluetooth).

| Subsystem | Implementation |
|---|---|
| Microcontroller | Xiao ESP32-S3 Sense (dual-core, 240 MHz, Wi-Fi + Bluetooth) |
| Drive | 4 × 6 mm coreless brushed motors via TB6612FNG dual H-bridges |
| Servo outputs | 2 × 3-pin headers driven by a PCA9685 PWM controller |
| Vision | On-board camera connector + 8×8 ToF depth sensor (VL53L5CX) |
| Motion sensing | Bosch BNO055 (9-axis) |
| Storage | MicroSD card slot for code and TinyML model storage |
| Power | USB-C charging + on-board Li-ion / LiPo battery management |
| Dimensions | 7 × 7 × 7 cm |
Software
Firmware supports Arduino, MicroPython, ESP-IDF and Scratch (visual programming). TensorFlow Lite for Microcontrollers (TinyML) is supported for on-device ML inference, with models loaded from the microSD slot at runtime.
Field-centric drive
Field-centric control is implemented on top of the omnidirectional drive. The IMU gives a heading estimate, and the input vector in the world frame is rotated by −θ to give the desired thrust in the robot frame. That robot-frame vector is then decomposed into the four motor commands.
Result: the robot can yaw mid-motion and still move in the commanded world-frame direction. Currently using a complementary filter for the 6-axis IMU heading estimate; drift is the main outstanding issue.
Jerome Graves
Mihai Oltean
Tamandutech
NotBlackMagic