The Rainbox is a box which produces the sound of rain when a user is nearby.

This project is a simple Arduino setup that involves the use of a servo motor and a rainstick. The Arduino is connected to a flex sensor that is intended to be hidden under a pillow or a mattress. When a person lies down on the resting place, the servo turns 180 degrees, and the rainstick attached to it will also turn. This causes the rainstick to simulate the sound of rain for a few seconds until all the beads in the stick reach the bottom. The servo then turns back 180 degrees and the process repeats until the user leaves the resting spot or thirty minutes after the flex sensor was first activated. All of this is enclosed within a box, along with a blue LED light which emits a soft glow through a hole in the box.
The concept behind this project arose as a response to one of my long lasting personal issues – the inability to sleep in silence. Maybe it is a symptom of a generation that grew up on television, but the lack of any sensory input used to be very unsettling to me, and it would cause my mind to wander into uncomfortable and frightening places. The sound of rain and the glow of muted television often helped me in these. The rainbox was designed to substitute all of this.
All in all, I ended up creating a working prototype, but it is nowhere near a form that I would want to present in public. The box was intended to make the rainstick echo for a more rich sound, but it ended up just being bulky. Having the setup more exposed but pleasing to look at is a goal for this project. A tighter documentation would help a lot in presentation. The light is also something to experiment with, as people thought it would be more distracting than comforting.

6 4 2


This is a piece by a kinetic sculptor called Zimoun. What I find enjoyable about this piece is how accessible it is. It has no baggage of social commentary or historical references. Any viewer of any background can jump in and appreciate the piece for what it is: something silly and fun that you can appreciate for just its formal qualities like the cacophonous sounds and simple motions. It feels like new media arts is somewhat saturated with works where the form of the piece serves the content or the technology, so it’s refreshing for me to see this piece where the form is the focus.


This is a work by Nils Volker. It is an installation placed on a wall that reacts to the movements of a viewer. It’s interesting how the artist was able to take an object as mundane as plastic bags and create something beautiful and intriguing. The plastic bags have an inherent property of flexibility and transience — that is, they wrinkle easily and don’t keep definite form — so it’s striking how the artist managed to make the bags move in an orderly fashion.



The Rainbox is a compact cube with a sensor that extends under the mattress of one’s sleeping space. When it senses that someone is lying on the bed, the motor in the cube will turn a rain stick within the cube, simulating the sound of rain.
I used to have a bit of a sleeping problem, where I would be lying in bed for hours on end trying to fall asleep, but my fear of the dark, the complete silence, and random thoughts about death would keep me awake to no end. During those times, the gentle sound of rain would relax me and distract my senses enough to allow me to fall asleep. Other times, I would just leave the television on and muted to keep the room dimly lit — the television would make me feel like there are others awake at that time and let me feel not as alone.
I want to create a piece that hearkens back to these times and provide me, and hopefully others, with an immense sense of comfort before sleep. The motor will stop turning after about 30 minutes, and it may even be used as a gentle alarm clock. If possible, I would also like to attach a small LCD screen with a looping video of raindrops on a glass pane to keep the room dimly lit.


The New Media Art is a realization of Jim Campbell’s “Formula for Computer Art”. This abomination will have a wide variety of cheap sensors and data collecting algorithms hooked up to the computer inside the piece as well as various different media of outputs. When the user presses the “Make Art” button, the computer will choose a random method of input and a random form of output and link them together. For example, pressing the button may trigger the proximity sensor, and the data may be transferred to the motor and make the joints in the piece dance. I want this to be an experiment in how meaning might come out of random generation.

Weight in Greed (Ralph + Maryyann)

Have you ever patiently stood in a Buffet line, waiting for your turn to grab some food? Finally, you reach the start of the table and pick up a plate, but you suddenly realize that the previous person had taken such  large portions that the rest of the hungry customers don’t have enough to eat.

People always say to be more conservative or watch our weight. But we never take the time to recognize how much we actually take when we serve ourselves. “Weight in Greed” is based on the idea of bringing awareness to that issue. The most difficult and most important part of our project was actually building the scale to measure the difference in weight. After many attempts, we finally created a wooden scale consisting of a force sensitive resistor, a rounded screw, a few pieces of hardboard, and of course an arduino. The round wooden table, as seen in the video holds a pillar which presses against the force sensitive resistor underneath. Whenever the weight changed, the force applied onto the sensor would change and the difference would flash before readjusting to inform the next customer.



#include  // Enable this line if using Arduino Uno, Mega, etc.
//#include  // Enable this line if using Adafruit Trinket, Gemma, etc.

#include "Adafruit_LEDBackpack.h"
#include "Adafruit_GFX.h"

Adafruit_7segment matrix = Adafruit_7segment();
const int pressurePin = 3;
int prevPressureLevel = 5;

void setup()
#ifndef __AVR_ATtiny85__
  Serial.println("7 Segment Backpack Test");

void loop()
  int pressureLevel;
  pressureLevel = analogRead(pressurePin); 
  boolean drawDots = false;
  int ledDisplay = 0;

  if (abs(pressureLevel - prevPressureLevel) > 15){
    ledDisplay = abs(prevPressureLevel - analogRead(pressurePin));

  matrix.writeDigitNum(0, (ledDisplay / 1000), drawDots);
  matrix.writeDigitNum(1, (ledDisplay / 100) % 10, drawDots);
  matrix.writeDigitNum(3, (ledDisplay / 10) % 10, drawDots);
  matrix.writeDigitNum(4, ledDisplay % 10, drawDots);

  //  Serial.print("sensor: ");
  //  Serial.println(pressureLevel);
  prevPressureLevel = pressureLevel;




This is the easy to use data logging shield.  According to the description, all the parts are already assembled, so it only needs to soldered to the Arduino to function properly. For any long-term project that requires extensive data-collection, this is the shield I would use for the sake of convenience and assurance. The less I need to fiddle with the parts myself, the less likely I’ll screw everything up.


This is the thing that everyone seems interested in, and for good reason. The alternative is the video game shield kit, which feels underwhelming due to its black and white output. The variety of color available to this shield makes projects feel more dazzling yet portable. I would love to see just how powerful this shield is.

http://www.adafruit.com/products/175   wavepack_MED

This shield can be used to add an entirely new dimension to an art piece and make the experience all the richer. In terms of what we perceive in an interactive project, sound is much more subtle when compared to visual feedback. But with it, the project can feel more fulfilling and polished. For example, touching an onscreen bubble and watching it pop only is a significantly different experience from hearing the pop also.


We see here a soil moisture and temperature sensor. It can be very useful in terms of gardening or farming, as it is able to measure to the habitability of a land. I  t is easy to see here a strong environmentalist message that can be conveyed with this very tool. Perhaps one could plant it all over the world and compare the health of soil between less inhabited places and cities.
I can see a joystick like this adding a new dimension of interactivity and playfulness to any computer art piece. The joystick has loaded connotations, harking back to the arcades and Atari 2600 of the 70s and 80s, and reminds us of the innocent childlike concept of fun. Add a button to the setup, and you can have any interactive art piece play like a game of Pac-man.

A more utilitarian approach to receiving input as opposed to the joystick. The standalone trackpad allows an art piece to be interactive without the method of input being too heavily loaded with connotation and distracting. In the spirit of being undistracting, having the trackpad out alone means the computer used to run the piece can be hidden, so the inner workings of the piece need not be revealed.


There is a certain sensation of satisfaction we gain from clearing things out. Like when we’re done washing dishes, and there’s just gunk leftover in the sink. There’s satisfaction in swiping all of that down into the food disposal drain. Or when we’re playing Bejeweled, and we clear out a poop-load of diamonds in one move. This sensation was the inspiration for this project, and what I wanted to emulate.
Little balls will appear to fall into the bucket until it fills up, and when the user presses space, the bucket will flush and all of the balls will drain. If the user does not flush within a certain amount of time, the bucket will clog and explode balls in all directions. The idea behind this project was to create a tension between the user’s desire to drain the bucket and let it fill up. The more the bucket fills up, the more satisfying the drain is. But the user should not want to allow the bucket to fill for too long, as it will empty out in a messy manner.



This piece is a simple evolution simulator. I was inspired by my complete bafflement at the Evolution vs Creationism “debate” in the United States. I could not understand how such a simple logic behind the concept of evolution was so difficult to understand for so many people, so I created a created a very basic emulation of it. The reference in this piece is the pepper moth case, where a population of species of moth near London clearly changed color depending on the pollution level. Similarly, the finches in the simulation has a higher probability of eating a moth that has greater contrast with the background. The speed of the simulation and the shade of the tree is also adjustable by the user, so there’s no bullshit going on here.

Ralph-Assignement-06-LasercutScreen (UPDATED)

The pattern currently does not utilize a particle system. I am still working on making each hexagonal unit (as a particle) stack on top of each other in an organic way using repulsion force. While I’m still tweaking that, I put together this image as my placeholder piece for now.


The code is working precisely as I described now. Here’s the son-of-a-bitch:
Link to the piece on OP: http://www.openprocessing.org/sketch/113878

poop poop

ArrayList myPattern;
int maxPattern = 1;

void setup() {
  size (864, 864);
  myPattern = new ArrayList();

void draw() {


  for (int i=0; i= ithPattern.py) {

        float jx = jthPattern.px;
        float jy = jthPattern.py;
        float ix = ithPattern.px;
        float iy = ithPattern.py;
        float distance = sqrt((jy-iy)*(jy-iy) + (jx-ix)*(jx-ix));

        //radius of pattern
        if (distance < (jthPattern.l*2.6 + ithPattern.l*2.6)) { 
          myPattern.get(i).addForce(0, 0);
          ithPattern.vy = 0;


  if (maxPattern < 400) {
    maxPattern ++;


class Pattern {
  float l;
  float ptheta;
  float px;
  float py;
  float vx;
  float vy;

  //constructor for Pattern
  Pattern(float x, float y, float theta, float rl) {
    ptheta = theta;
    px = x;
    py = y;
    l = rl;

  // Add a force in. One step of Euler integration.
  void addForce (float fx, float fy) {
    float ax = fx;
    float ay = fy;
    vx += ax;
    vy += ay;

  void update() {
    px += vx;
    py += vy;
    if (py > height) { //land
      py = height;

  void render() {
    translate(px, py);
    line(-l, 0, -l/2, round(-0.866*l));
    line(-l/2, round(-0.866*l), l/2, round(-0.866*l));
    line(l/2, round(-0.866*l), l, 0);
    line(l, 0, l/2, round(l*0.866));
    line(l/2, round(l*0.866), -l/2, round(l*0.866));
    line(-l/2, round(l*0.866), -l, 0);
    for (int i = 0; i < 6; i++) {
      rect(-l/2, 3*l/2, l, l/2);


“Rewind” by Pauline Saglio is a series of digital clocks whose interface reacts to a certain manner of physical interaction. For example, when a gear is turn, it would start to unwind and the drawings on the clock would come to life while telling the time. I find this piece enjoyable to watch and well-crafted because it breaks the mold of the simple Campbell formula. The work does not react just to touch, but to a specific action, like turning a gear, and it seems to react in a plausible way to the physical input. What really surprised me was that the little elements in the clock were hand-drawn, rather than computationally generated. This quality sets the clocks apart from any old arduino-rigged digital clock, and becomes something quite personal. The only thing I wish to see would be just more of these clocks that react to different input, or one all-encompassing clock that can react to all of the different inputs and let those inputs interact in complicated ways.

The kinograph is a rig consisting of a digital camera, arduino, raspberry pi, and a bunch of 3D printed parts which work together to digitize films. This is a project that is utilitarian, but highly beneficial to the preservation of the arts. I can appreciate that this is just as important as the arts themselves. I know for a fact that many classics and landmark films have regrettably been lost and/or destroyed in fires. It is distressing for me to think how parts of our culture have been permanently lost, like losing something that has sentimental value to my history. The kinograph does not completely democratize film digitization (the cost of $3200 is nothing to sneeze at), but it is a huge improvement from the standard hundreds of thousands of dollars. It provides a much better alternative for private collectors and film studios, and it is a significant step forwards towards a complete democratization of the process, possibly saving thousands of pieces of our cultural history as well as preparing them for mass distribution.


“Missing” is an installation produced by The xx. Because it’s the brainchild of an extremely famous band, it seems to have a lot of ambition and professional polish. The form of the space and its function are both very well-crafted. As for the form, the way the lightbulbs, speakers, and wires are all arranged makes it look like the set of a high-budget music video, and the fact that it functions as an installation piece that reacts to its audience puts it streets ahead of other music video sets. What really surprised me was the resourcefulness of the creators. The piece was completed from scratch in the span of six weeks with relatively modest means. I would love to actually visit this site, since the piece can only be appreciated through direct presence and sound. I would also enjoy seeing the piece re-appropriated as a music video set, or otherwise interacting with something other than just random people walking through.


This piece is about the impact that small gestures put together can have on the world. With just the subtle motion of blinking one’s eyes, the fire will react in an equally subtle way until, eventually, the fire grows too big and wild for the candle and burns out.
The program tracks the height of the user’s eyes, and when it detects that the eyes are closed, a disturbance is sent through the fire and the wildness, number of fire particles, and the height increases by a tiny margin.

The video shows the program less responsive than usual, as faceOSC had a poor time trying to differentiate between my eyes and eyebrows under the bad lighting. Also, my eyes are already tiny enough as is. I’ll try to make a better recording.