Making Things Interactive

Vicious Cycle – Final Documentation

‘Vicious Cycle’ is a machine that ‘promotes’ health and active lifestyle through a portion-controlled diet. Today’s obsession with insane workout routines and different types of diets (whether it be no carbs, Paleo, raw food, or an-apple-a-day diet – you name it) inspired me to work on this project. The goal is to reflect on the common mindset that it is absolutely acceptable to eat as much junk as you want as long as you exercise.

howdoes it work?

‘Vicious Cycle’ is a machine that spits out information about the food that you deserve to eat based on how much you exercise.

A Fitbit wristband records the number of steps and calories burned during your walk. The calories data is updated every time a button is pushed. The food is chosen randomly within the food database (all junk, of course), and information (calories burned, what food to eat, how much you deserve, the nutrition fact label) is then printed using a thermal printer connected to a Raspberry Pi.

The most difficult part about this specific project is coming up with a solid idea. A lot of the time, I tend to focus on the technology without spending enough time on the concept. Therefore, the work itself becomes more like a demo or a proof of concept, rather than a work of art that has meaning.

I originally wanted to work on a light installation based on my GPS data that I collected over the past year using OpenPaths, but I was not sure how to make the final deliverable meaningful using a limited number of lights. I decided to go on a different direction, but I still wanted to use a self-quantified data, and that’s when I got the idea for this project. Once I had the concept down, I started prototyping using a raspberry pi, a thermal printer, and the data collected using the application runKeeper. However, I decided to use a Fitbit Flex to collect the workout data for the final show so anyone can just wear the wristband instead of having to download the app.

Here are some very useful links I used to get the project started.

For connecting a thermal printer to a Raspberry Pi

For getting data from runKeeper App and Fitbit

For generating nutrition label


For obtaining food nutritional information

I am very happy with the end result, and really enjoyed the final show at Assemble. Thanks Eric and Jake for a great semester!

Vicious Cycle – Final Documentation

Vicious Cycle – Final Documentation

Vicious Cycle – Final Documentation

Vicious Cycle – Final Documentation

myPath – Final Project – Concept Video

Project01: iVolume — a volume-controlled RPi Radio

iVolume is a device that allows you to listen to your favorite radio station on Pandora, where the volume of the music is controlled based on how loud or quiet the surrounding environment is. As someone who loves listening to music on Pandora, I thought this would be an interesting way to use the input from the microphone, and a productive way to get my hands dirty with the Raspberry Pi.

iVolume — a volume-controlled RPi Radio(1)

iVolume — a volume-controlled RPi Radio (2)

iVolume — a volume-controlled RPi Radio (3)

iVolume — a volume-controlled RPi Radio (4)

The video above has illustrated the basic working of the device. The electret microphone amplifier senses the crowd noise, where the data is interpreted and sent to the Raspberry Pi through Serial communication. Pianobar, an open-source, console-based client for Pandora, comes with many features including playing, managing, and rating stations. For this project, I used the input data to manipulate the volume of the music. In the video, I plugged in a set of speakers to the Raspberry Pi to illustrate how the device works. However, a more ideal setting would be to use headphones instead because the microphone will take in the loud sound from the speakers, which will eventually make the volume go up and never come down.

Even though there are quite a number of tutorials for Pianobar + Raspberry Pi, I learned a lot working on this project. This includes figuring out how to manually install the libraries onto the Raspberry Pi, working in terminal, sending data from an Arduino to a RPi, and coding in Python. Looking forward, I plan to create a more durable and portable prototype, and possibly mix in other types of inputs to manage the different stations.

Project 2.03 — OSC — Patt and Alan

The images below show how things talk to each other, and the wiring diagram of the motor (using a 2N7000 transistor and an external power supply):

OSC — Patt and Alan OSC — Patt and Alan

Also, here is a video of another test we did where we hooked up a light sensor to a raspberry pi, and used it as a digital input. Then, we sent the data (through OSC) to an openFrameworks application on another computer, which connected to an Arduino (through Serial) and controled the motors.

Precedent Analysis 2

Art: “Quotidian Record” by Brian House (2012)

Quotidian Record is a custom-made vinyl record, featuring Brian’s location-tracking data over a year. The data is mapped to a harmonic relationship from 365 days down to approximately 11 minutes. This project connects digital information to the physical world though music. I find it a very unique and interesting way to visualize the data that can be easily forgotten and make it tangible and memorable.


Industry: Fitbit

I am still deciding on the type of data I’d like to collect, and that would also determine the tool I use. Fitbit is definitely on top of the list. One idea is to track the amount of sleep I get each night, and how that affects my daily activities the following day.

Academia: “Understanding Quantified-Selfers’ Practices in Collecting and Exploring Personal Data” by Eun Kyoung Choe, Nicole B. Lee, Bongshin Lee, Wanda Pratt, and Julie A. Kientz (2014)

link to paper

Even though everyone tracks something about themselves, this paper looks into the “extreme users” – the quanified-selfers, who diligently collect many different kinds of data about themselves. Through Meetup groups, blogging, and other outlets, they have shared their experiences of what they have found useful and the mistakes they recommend to avoid.  This paper will help me narrow down the data I should be collecting, thinking about how the data would be beneficial or appropriate for this project.


Since I am looking to work with my personal data that is collected over time, the most appropriate outlet would be to be published on a few notable design blogs. However, my ultimate goal for this project is to learn a little bit more about myself through making this data permanent and tangible.

Project 2.01 — rpi’s GPIO Pins + oF WiringPi Library

This is my first time working with a raspberry pi and I am hooked! This project demonstrates the basic working of the GPIO Pins on the raspberry pi, using openFrameworks library ‘WiringPi’. I used three buttons as inputs to control the direction, size and color of a circle on the screen.

It took me a while to get in the flow of accessing the raspberry pi through ssh, but after I got that working the rest wasn’t too bad. I worked on the hardware and software separately and made sure that everything worked on its own before integrating them. It was definitely a good introduction to raspberry pi and openFrameworks.

rpi’s GPIO Pins + oF WiringPi Library

rpi’s GPIO Pins + oF WiringPi Library

rpi’s GPIO Pins + oF WiringPi Library

rpi’s GPIO Pins + oF WiringPi Library

“Saying Things That Can’t Be Said” by Daniel Sher and Ben Hagin (2014)


Saying Things That Can’t Be Said by Daniel Sher and Ben Hagin is a series of projects that allows a long-distant couple to transfer messages to each other through physical senses.

“Blinkdrink” by Bradley Simpson (2013)


Blinkdrink is a simple iPhone application that makes a drinking experience much more interesting. It gathers ambient noise and conversations, where the information is visualized through the refraction of the glass and the liquid inside. All you need to do is turn on the app, use the phone as a coaster and enjoy the show.

“Contact” by Felix Faire (2014)


Contact by Felix  uses contact microphones to gather touch information from the wrist, fingers, and fingernails on the hard surface, and translates it into melodic notes and sounds, where the audio is recorded and playback in a custom built in loop pedal.

Background – Patt Virasathienpornkul

Hi all!

I’m Patt, and I am doing an accelerated graduate program in Mechanical Engineering. I am passionate in integrating hardware and software, while quickly learn the wonderful things you can create by mixing art with technology. In the next 15 weeks, I am hoping to be exposed to new technology, to learn different techniques for making things interactive, and to collaborate with people – because that’s when amazing stuff happen.

For now, here is an example of my work:

For more, you can visit my website:

really looking forward to meeting you all!

For more detail: Making Things Interactive

Scroll to Top