Work

03 / 06Kinetic Sculpture

Loading model000%

Project 03

Kinetic Sculpture

Programmable electromechanical sculpture using rotating moiré geometry, custom transmission parts, sensing, machining, and embedded control.

Click a component to isolate it

Drag to orbit · Scroll or pinch to zoom

ProjectNo. 03 of 06Kinetic / mechatronic sculpture

The Kinetic Sculpture

Printed atD.P.E.A.Santa Barbara, Calif.

Programmable electromechanical sculpture using rotating moiré geometry, custom transmission parts, sensing, machining, and embedded control

Final assembled and illuminated sculpture used to validate optics, mechanics, and lighting together.
Kinetic Sculpture - selected project documentation image.

The project

A programmable sculpture of rotating moiré disks: two laser-cut patterns turn against each other on machined hex axles, and the interference between them becomes the motion you see. Flip POWER on the panel to run it, then work through the firmware's eight modes.

Type
Kinetic / mechatronic sculpture
Core tools
SolidWorks, lathe, laser, Arduino
Systems
Motion + optics + sensing + control
Figure 7. Early hand-drawn radial study used to explore repeating geometry before CAD.
Alternate radial study exploring phase and blade count before final CAD modeling.
Layered hand study showing how overlapping radial patterns create a third apparent pattern.
Physical/drawn overlay used to compare two rotating pattern layers.
Additional radial geometry trial used to understand line density and visual motion.
Overlay analysis comparing disk interaction before manufacturing.
Final black-and-white disk profile used as a fabrication reference.
Practice disk model used to refresh sketch/extrude/configuration techniques before the final custom disk.
Personalized moiré geometry assembled digitally with central pulley/interface geometry.
Physical disk produced from the digital design, bridging CAD geometry and fabrication.
The same DPEA laser-cutting step: the laser head tracing curved moiré-style profile lines in brown sheet stock, shot through the lid.Photo: Emily Diffenderfer, DPEA ’26
Figure 8. Project documentation connecting measured motor behavior to the mechanical drive system.
Electromagnetic motor experiment connecting current direction and magnetic field to rotation.
Wire-wrapped nail electromagnet used to study field strength vs current/coil turns.
Bench experiment measuring motor current, load, and rotational behavior.
Same DPEA kit before enclosure: back transmission plate with pulley trees and spacers, plus PCB, Arduino Mega, motors and striped encoder rings.Photo: Emily Diffenderfer, DPEA ’26
Figure 10. Fitted hex axles documented alongside the optical sensing work.
Two completed structural base plates showing repeated machining and matched geometry.
Side view of the completed machined vertical base, showing edge finish and thickness.
Machined structural plate used to support and register the sculpture assembly.
Delrin spacer with a central threaded hole. Spacer length controls plate separation and therefore transmission alignment.
Current-project close-up of the tapped spacer bore and finished cylindrical surface.
The same DPEA kit's square Delrin enclosure-hoop mount spacer, from another build: one hole through the top face, another in the end.Photo: Lindsey Rios, DPEA ’24
Six long Delrin transmission-plate spacers from another DPEA build, ends faced and bores tapped; matched lengths keep the two plates parallel.Photo: Lindsey Rios, DPEA ’24
The same DPEA spacer process: a tailstock drill chuck drilling the center hole in black Delrin rod held in the lathe's three-jaw chuck.Photo: Emily Diffenderfer, DPEA ’26
The same DPEA enclosure-hoop mount part: a black Delrin block clamped in a mill vise, ready for spot drilling.Photo: Emily Diffenderfer, DPEA ’26
Freshman-year shop training, not a sculpture part: an aluminum mobile node turned to size, center-drilled, and cross-tapped for a set screw.
Freshman-year shop training: sizing an aluminum mobile node with the parting tool on a benchtop lathe, before the sculpture work.
Freshman-year shop training: three aluminum mobile nodes parted off the lathe to matching length, early practice in repeatable sizing.
Figure 11. Project documentation of tapped transmission components and LED integration.
Controller board used as part of the motor/lighting control system.
Populated controller board showing the completed electronic subsystem.
The same DPEA controller PCB, populated in another build: Bit 1-3 slide switches, OFF/ON power switch, 12 V jack and regulator heatsink.Photo: Lindsey Rios, DPEA ’24
The same DPEA controller PCB being hand-soldered: iron and solder wire on through-hole joints between the long header-pin rows.Photo: Emily Diffenderfer, DPEA ’26
Figure 14. CAD assembly and manufactured components representing the mechanical side of the system controlled by the embedded electronics.
Programming/debugging environment used to build the operating modes controlling motors and LEDs.

The codeEight light-and-motion programs, picked by three binary switches and run by an Arduino Mega.

Board
Arduino Mega 2560
Mode switches
Pins 63, 64, 65 (bits 1, 2, 4), INPUT_PULLUP
Front disc motor
Left motor: direction 15, PWM 11, tachometer 19
Back disc motor
Right motor: direction 14, PWM 12, tachometer 18
Motor PWM
Inverted (255 = off), Timer 1 at 31.25 kHz so it can't be heard
LED strip
Red 6, green 8, blue 7, through a 256-step gamma table
Ultrasonic sensor
HC-SR04: trigger 4, echo 3 (58 µs of echo per cm)
Disc calibration
Disc(motor, 40, 25): 40 % minimum power, 25 RPM at full
The modes · run one and the page glides up to the live model
SelectModeWhat the code doesRun
000Forest glowmode0()A mint-green glow held for 1.5 s, a 150 ms blink off, the same green 20 points brighter, then a 50 ms blink. It never touches the motors, so the discs keep whatever the last mode set.
001Breathing counter-rotationmode1()Speed swells from 5 to 60 % and back over 8 s with the discs turning opposite ways, then the directions swap. The green brightens with speed and washes toward white when the discs are slow.
010Colour strobemode2()Blue, green, purple, yellow and pink, 70 ms each, with the discs at 80 %. Every 6 s the discs stop, the strip fades to white twice, and the discs reverse.
011Hand sensormode3()Reads the ultrasonic sensor every 100 ms. Closer than 15 cm: red at full speed. Under 30 cm: orange at 60 %. Under 60 cm: yellow at 30 %. Farther: the motors coast and the strip rests green.
100Heartbeatmode4()Two magenta beats with the discs pulsing at 40 %, then a pause that shrinks from 800 to 150 ms and grows back, so the heart speeds up and slows down.
101Beat sweepmode5()A white flash every 475 ms (126 BPM) over a fade from magenta to teal. The discs ramp between 15 and 90 % and reverse only at their slowest. Press play in the model to run it with One More Time.
110Random driftmode6()Each disc picks a random speed from 20 to 90 % and holds it for 0.5 to 2 s; the green follows the faster disc. The sketch never calls randomSeed(), so every power-up replays the same sequence.
111Blue wavemode7()Speeds build from 20 to 40 to 80 to 100 % through deepening blues to an icy flash, then the discs reverse at 40 and 20 % for twice as long.
KineticSculpture.inoThe sketch: mode selection and all eight modes309 lines
#include "globals.h"

bool modeChanged(int startMode) {
  return getSwitchState() != startMode;
}

void setup() {
  setupGlobals();
}

void loop() {
  int modeNum = getSwitchState();

  Serial.print("Mode: ");
  Serial.println(modeNum);

  if (modeNum == 0) mode0(modeNum);
  else if (modeNum == 1) mode1(modeNum);
  else if (modeNum == 2) mode2(modeNum);
  else if (modeNum == 3) mode3(modeNum);
  else if (modeNum == 4) mode4(modeNum);
  else if (modeNum == 5) mode5(modeNum);
  else if (modeNum == 6) mode6(modeNum);
  else mode7(modeNum);
}

int getSwitchState() {
  int b3 = digitalRead(BIT_3_SWITCH_PIN);
  int b2 = digitalRead(BIT_2_SWITCH_PIN);
  int b1 = digitalRead(BIT_1_SWITCH_PIN);
  return 4 * b3 + 2 * b2 + b1;
}

void setColor(int r, int g, int b) {

Component directory44 parts · choose one to isolate it in the model

Moiré Geometry + CAD

Electromagnetic Motor Physics

Torque / RPM + Transmission

Precision Machining

Transmission Plates + Threading

PCB + Soldering

Arduino + Seven Modes

Full System Integration

Hardware + other components

Next edition · No. 0421 Waves