Our inspiration comes from the light texture.texture created by the tension of the water to create light and delicate lines with the change of the water wave.



After consulting with Tom, we tried to use mylar of different materials and trim it into a special shape. When mylar was shaking, it had an alkaline reaction with the light and produced a light texture.



Parts of the materials that we used or tested



Thanks for Davids' suggestions, we use Motor Driver (H-bridge), model TB6612FNG to control linear motor, which generate pull up and down actions.

Arduino Code:

const int motor1Pin = 3;    // Motor driver leg 1 (pin 3, AIN1)

const int motor2Pin = 4;    // Motor driver leg 2 (pin 4, AIN2)

const int pwmPin = 9;  

void setup() {


    // set all the other pins you're using as outputs:

    pinMode(motor1Pin, OUTPUT);

    pinMode(motor2Pin, OUTPUT);

    pinMode(pwmPin, OUTPUT);

    // set PWM enable pin high so that motor can turn on:

//    analogWrite(pwmPin, 153);


  void loop() {

//     int potValue = analogRead(); // Read potentiometer value

     int pwmOutput = 110;

     analogWrite(pwmPin, pwmOutput);


      digitalWrite(motor1Pin, LOW);   // set leg 1 of the motor driver low

      digitalWrite(motor2Pin, HIGH);  // set leg 2 of the motor driver high


      digitalWrite(motor1Pin, HIGH);  // set leg 1 of the motor driver high

      digitalWrite(motor2Pin, LOW);   // set leg 2 of the motor driver low




Final Look


©2020 by Siyuan Zan. Proudly created with