Kinetic Art Series — Servo Grid
Challenge
Create a modular, expressive kinetic system capable of complex, synchronized 2-axis movement (e.g., spirals, Lissajous curves, rolling waves) using a lightweight, accessible embedded stack. The system needed to demonstrate precise synchronization between digital simulation and physical output.
Solution
Math Engine & Digital Twin
- A custom Python-based “Math Engine” in TouchDesigner was developed to generate normalized (0.0–1.0) coordinates for each servo pair. This engine incorporated “Stagger Logic” to enable phase-shifted wave propagation, allowing the physical grid to mirror a real-time 3D digital twin.
Embedded Control Pipeline
- A high-speed, low-latency control pipeline was implemented using an ESP32 microcontroller. This involved developing custom C++ firmware to parse incoming Serial data streams from TouchDesigner and accurately map the normalized coordinates to precise microsecond pulse widths for the PCA9685 PWM driver, controlling 12 synchronized hobby servos.
Kinematic Expression
- The system utilized 2-DOF (Degree of Freedom) servo pairs, enabling a broader range of kinematic expression beyond simple linear motion. This allowed for the creation of intricate geometric patterns and fluid, organic movements across the physical grid.
Rapid Prototyping
- The physical structure was designed for rapid iteration using a LEGO baseplate, allowing for quick adjustments to servo spacing and alignment during development.