TITLE:  Sensor Suit ( NYU Masters thesis project)

CATEGORY:  Sensors, movement data

DATE: May 2016

TOOLKITS:   Arduino, Eagle CAD

DESCRIPTION:  A garment with lightweight flexible sensors custom built for my body. These embedded array of sensors that precisely track the motions of the body. Tracking these movements enables the user to map gestures to sound and visual outputs thereby establishing a new method of communication and interaction. Gestures are a form of communication that bridge cultural and lingual divides. They allow us to express ideas, feelings, emotions, and intentions through the subtle nuances of movement. It’s my intention to create a piece of apparel than enables such a form of communication.  In order to achieve the desired levels of sensitivity, I’ve designed and built my own custom sensors that are embedded into the fabric.  By creating my custom sensors using flexible materials, my goal is to augment the user’s experience without impeding or inhibiting their natural range of motion.


My first prototype was for a class called NIME (New Interface for Musical Expression) called UNTITLED NO.36, this suit tracks specific types of movements: X & Y axis of the left arm, right and left elbow/arm extension, pectoral pressure sensing pads, and electromagnetic sensing in the palms of the hands. These movements and gestures controlled a 4X9 36 array of 120Volt spot lights and sound.

I decided to test out several types of moments and sensors to find out what exact type of movements gestures I wanted to sense so and I started a daily study of gestures you can see the the studies here and the tumblr blog for this here.

Realizing the most useful sensors were FSR/Pressure sensors I decided to custom build my own. 


I needed to make these sensors into a specific shape and they needed to be lightweight and thin. So I found high density silver conductive ink and Force sensing resistive from Conductive Compounds and screen printed the circuits on to .002 in mylar substate. 

Sensitivity of sensor is determined by the distance between the traces. Tests should always be done to determine the desired sensitivity. For example, if you wanted to detect how much weight you put of a full grown persons left foot vs right foot and your traces would most likely make the traces far apart due to the fact that the full weight of the person is on the sensor. 


The animation below visually explain the process of the layered screen printing process.




This board combines a Shift register and multiplex chips to size down the amount of pins used and to control the logic with the columns and rows coming into microcontroller ass seen from the video above.

To make the circuit boards I used an Othermill to mill out copper plated fiberglass boards. 

Sensor working in the serial monitor


This brings me to the code. In order to parse all the data from all 178 sensors, and not have the data come in to slow required me to get into port manipulation, bit shifting and AVR (Atmel Atmega microcontrollers) coding. 

Port manipulation lets me shift through all the and dynamically control the ports of an micro controller on a binary level which lets me run the program a lot faster. Bit shifting is the operations that aid to dynamically manipulating the ports. 

Some good resources to learn about Port manipulation and Bit shifting operations: Arduino & tronixStuff

See a sample of the code here on git hub.


Thesis presentation