Kinetic Sculpture

A kinetic sculpture art installation on an ESP32 TTGO T-Display for Professor Mark Santolucito’s Creative Embedded Systems (COMS 3930) Course in Spring 2022 (in collaboration with Anaïs Lawson)


Miniature parade float with a rotating green flower and spinning leaves
Miniature Parade Float


For this project, we were tasked to collaborate on a kinetic sculpture using three types of motors — Servo motors, step motors, and DC brush motors. We were inspired by the design of floats for the Rose Parade and decided to design a miniature float with movable flowers. Our project rotates two sets of leaves and a 3D printed rose all of which sit upon a rolling wooden box. We were especially inspired to repurpose unwanted or broken scrap materials within the Columbia Makerspace.

Project Demo

How It Works

The 3D printed flower is connected to a step motor, the leaves are connected to small Servo motors, and the front two wheels are connected to DC brush motors. These motors are controlled by an ESP32, and when a button is pressed on an associated webpage, the device begins rolling and spins the flower and leaves.

Miniature parade float with a rotating green flower and spinning leaves
Miniature Parade Float

Designing the Enclosure

We focused on building and decorating our device with supplies that could be found in the Columbia Makerspace — especially by repurposing material scraps and finding unconventional solutions to designing the enclosure. For the box, we used scraps of 1/8 in wooden sheets and our axel was initially made with the stick of a Q-Tip. The wheels are all attached to protoboards and the back axel rotates within a pair of jewelry eye hooks that fit into the protoboard. We also repurposed scrap felt and painted clear jewelry pieces to disguise the wiring and motors. In the end, we were able to design the enclosure at no cost and repurpose other students’ scrap materials to design an eco-friendly enclosure.

Class installation of kinetic sculptures
In-Class Installation

Designing the Code

The box itself is relatively simple, but I focused my efforts on designing an efficient object-oriented program to independently control the various motors. In my previous project, I created classes for multiple sensors attached to an ESP32, but I wanted to push myself to create independent files for each class that could be imported and would minimize the main file. Building on the last project with sensor classes, the addition of motors and the documentation made it extremely easy to add any of the peripherals to be handled by the main code without the need to maintain or normalize any values.

Breadboard with connected wires for a DC motor
DC Motor Test

While designing the class-based controls, I especially focused on implementing clean-code practices and writing formal in-code documentation pages. I used Doxygen with JavaDoc syntax to auto-generate HTML and man pages as documented in my code. I was introduced to formal in-code documentation recently but had never used it in C++. I found that adding the documentation and being able to reference my own code documentation and treat the ESP32 code as simply implementing a miniature peripherals API.

Breadboard on a wheeled base with wires connecting to two DC motors
Final DC Motor Setup
Box with a green flower and felt leaves on wheels
Final Float Design

Special Thanks to Professor Mark Santolucito and the staff at the Barnard Design Center for all of their help!!!




Student at Columbia University studying Computer Science and Human Rights through Columbia’s 4–1 Program

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

The Best Guide To Making Wedding A Guest Book

How many apps made healthy revenue through In-App Subscription?

Color journal

Global Design Future using Speculative Design thinking

Futures Cone. Image: Warren Walker, adapted from Voros (2003, 2017), which was based on Hancock and Bezold (1994).

Brainster is coming to Vienna

6 ways to reduce mobile app uninstall rates

viralvsvirus: creativity and agility to fight against pandemics

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Sedona Thomas

Sedona Thomas

Student at Columbia University studying Computer Science and Human Rights through Columbia’s 4–1 Program

More from Medium

A hard or soft link, Lady Linux?

A brown bridge stretching across a river to barren and mountainous landscape. Photo by Simon Berger on Unsplash

Claude Shannon turned dream into reality

What is a UVC camera? What are the different types of UVC cameras?

DIY Simple BME280 Arduino Weather Station