PhysComp Final

02 Dec 2013

PhysComp Final Prototype


To create a wearable video distortion device.


The Code

The code for this project was from my ICM final; Swapping out the mouse input for the accelerometer took some time to understand. I had a handle on mapping the values earlier than I expected. My trouble understanding how the accelerometer altered the video stemmed from the prototype: an Arduino attached by alligator clips to the sensor. It wasn't wearable and so difficult to get the range of motion I originally visualized.

Soft circuit fabrication Though I followed the techniques of sewing conductive thread and insulating wires, the connections from the board to the sensor were too easily disturbed and threw of the readings.

FABRICATION: First Attempt

Video Link 1

Video Link 2

I sewed up a harness during my mid-term and used that as the base for this unit. Sewed onto another piece of fabric was the Arduino and sensor. I did not use the FLORA board in the end because it just wasn't working.

For the final, I avoided using conductive thread because the ends eventually fray and short the circuit. I sewed insulated wire from the accelerometer and stripped the ends to carry current from the sensor to the Arduino.

Despite being separated by two layers of fabric, the connections were still disturbed when I wore the unit. At one point, the connections were so disturbed that the serial port stopped recognizing the Uno. I then replaced the wires with alligator clips.

FABRICATION: Second Attempt

After this last attempt, I soldered the wire to the accelerometer and plugged the free ends into the appropriate Arduino pins. To free the prototype of wires, I mounted an XBee and Sparkfun XBee adapter onto an Arduino shield and placed that on top of the Arduino.


The rig was then placed inside a plastic container only large enough for itself and a 9V battery. The container was then placed inside a new harness: a sock sewed over with black fabric and attached to an elastic band. I choose a sock because of the snug fit would keep the lid in place. It also made encasing the unit easier as well as attaching an elastic band.


Video Link 3

This setup worked until it fell apart during the final presentation. The soldered wire to powering the XBee and its adapter destabilized while in the harness. The harness was a bit too snug.

FABRICATION: Third Attempt

I don't have enough time to finish both the code and a more sophisticated fabrication before the semester closes. I re-soldered the XBee's power wire and will continue to use the unit outside of the harness.

CODE: Briefly

The openFrameworks app uses the accelerometer data to swap between two shaders, a pixelate and blur. The x and y coordinates are mapped to determine pixel and blur size. The z coordinate determines playback. Within the Arduino IDE, I smoothed the axis values by averaging them. This did help stabilize the readings.

However, I think the swapping between the two shaders doesn't fit the current user input design. I stripped the blur shader, and focused on the pixelation. As for the accelerometer, I need to establish how to read difference in incoming data to switch the shader on and off rather than using the mapped values to draw the pixels and playback position.


Though my programming knowledge and skills are relatively new, I very much enjoy figuring out the algorithm to get the desired experience. Fabrication is a significant challenge where I could perform better working with another person or team.


Next immediate steps are to re-work the Arduino sketch and openFrameworks code with the current rig in the container.

Later plans: When time allows next semester, I will ask for assistance in designing a wearable version.

Direct links to posts related to project are below


comments powered by Disqus Categories