A force-sensitive resistor (FSR) sits inside the sculpture. An Arduino reads the pressure and sends one clean value at a time over USB. WebSerial connects that live data stream directly to a p5.js sketch in the browser, where it drives the visuals and the audio mix simultaneously.
The biggest technical challenge was the serial connection itself: older WebSerial libraries froze, ports refused to open, and fragmented readings were arriving as merged strings ("324335412" instead of separate values). The fix was simplifying the Arduino output to a single reading per line and rebuilding the serial layer with P5SerialLite, which made the data clean and the interaction responsive.
Visual states: ambient (soft gradients, slow movement, low saturation) and intense (tunnel effects, kaleidoscopes, glitchy motion). The LEDs in the sculpture mirror the same pressure mapping, so the physical object itself feels alive.
Phase 01
Introduction
"Diamonds Dancing" plays on the projected wall. The sculpture glows at rest, inviting touch. No prompts needed.
Phase 02
Transformation
Your pressure drives everything in real time. The FSR value maps to visual chaos, color energy, and the São Paulo audio mix simultaneously.
Phase 03
Return
Release and the system breathes back down. Gradual decay restores the ambient state for the next visitor.