All posts by cathyfeng

Final Project: Butterfly II


I recreated my flying mechanical butterfly from last time and got it to fly using the same method and motor as I did from my mid-terms, as it turns out it was indeed the fact that the butterfly from mid-terms was too heavy for the motor to turn.

Since my previous mid-term version had a lot going on, which kind of got really visually unappealing after a while, I decided for this version I wanted to keep things small and simple.

I kept all the parts to this exposed because I liked the rustic, mechanical, electrical, yet tattered, right down to the broken, in pieces wired mesh I used.

I decided to forego the motion sensor, because it wouldn’t fit in the base along with the driver and Nano without ruining the aesthetics.

Final Proposal

For  my finals, I want to redo my mid-term project, since it wasn’t working quite well. I want to do a mechanical butterfly, and am inspired by this jeweler, Dukno Yoon’s work. I want to borrow the mechanical aspects of it and have it motorized.

Audio Pop Making O-Hey

2014-11-08 13.58.33

There is something really satisfying about making your own circuit board.

Soldering something this small needs some serious soldering skills. I accidentally burnt a bit of my audio cord. But what I realized was that having a good soldering iron makes a WORLD of difference. (My LOL shield was a nightmare.)

And most times, when soldering, I wish I had hands like this:

Yeah… trying to hold solder, soldering iron and thing needed to be soldered in place is tricky with two hands.

Midterm: Milkweed

2014-10-23 18.12.09


No video, just a photo, because the motors I used aren’t strong enough to turn the butterfly wings. =(

I was inspired by butterflies such as Monarchs who perch on plants such as butterfly milkweed. When they’re perched on these plants, they’re hard to spot, until they move. So I wanted to create little robotic butterflies that were camouflaged against mechanical pieces that would flutter when there were no people moving around them, and would stop and hide themselves when there are people. I used two motion sensors to control the butterflies, and two stepper motors to make the butterflies flutter. Unfortunately, the motors I used weren’t strong enough to turn the butterflies and kept getting jammed and so can only move very, very subtly.


Continue reading

The Spinning Bow Tie

I created this spinning bow tie that will spins when there is someone near you using the servo and a motion sensor. The motion sensor goes at the back, while the bow tie at the front so that if there’s someone who walks up to you from behind, the bow tie will start to spin. The trouble is that the sensor is too sensitive and it picks up motion unless you’re sitting absolutely still.

Used my mug since it was tricky trying to shoot a decent selfie shot.

Continue reading

The Talking Tissue Box

So far it’s not working quite the way I want it to yet. Had problems getting Processing to read my Serial messages properly when I coded in Arduino, so in frustration, I used Firmata and controlled Arduino through Processing.

Except my talking box still isn’t working the way I want to yet. I think I bent the sensor too many times…. Seemed to work a bit better after I switched sensor.

Firmata is included with Arduino’s examples, so I’m not going to include it here. Here’s the Processing code that is still buggy:

Continue reading




I Fritzed multiple LEDS being connected to different pins allowing for individual control. One of the things that was confusing and hard and drove my OCD obsessions crazy was the difficulty of drawing wires that were neat and organized and most importantly not overlapping/touching. I’m not sure if it’s ok for the wires to be overlapping in PCB view, so I tried a simplified version of the multiple LEDs, but I still ended up with a mess, so surely, it’s ok to overlap?

fritz fritz2 fritz3 fritz4 fritz5 fritz6

Homework: Blink, Baby, Blink!

Tried doing serial communications between Processing and Arduino. The LEDs are blinking according to the bouncing ball through mapping the bouncing ball’s y position to the number of LEDs. This number is sent through Processing to the Arduino board, where it will turn the LED in an array of LEDs with that number on.

The result is kind of buggy, maybe a change in the positioning of lights would help. But I think part of it is also the large difference in the mapping, so it would probably work much better with a lot more LEDs, which I don’t have. And also there’s probably a slight lag in the serial communication.

Screen Shot 2014-09-11 at 1.01.43 AM

Because Code Snippets is being mean to me, I’m just going to copy and paste the code here:


import processing.serial.*;

Serial myPort; // create new serial connection named myPort
int x = 0;
int y = 0;
int xspeed = 10;
int yspeed = 10;

void setup() {
String portName = Serial.list()[17];
myPort = new Serial(this, portName, 9600);

void draw() {
x = x + xspeed;
y = y + yspeed;
float m = map(y, 0, height, 0, 10);
byte val = byte(m);
// println(val);

if ((x > width) || (x < 0)) {
xspeed = xspeed * -1;

if ((y > height) || (y < 0)) {
yspeed = yspeed * -1;

// Display circle at x location



char val; // create a variable named val
int ledPins[] = { 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }; // array of LEDs

void setup() {
for(int i=0; i<10; i++) pinMode(ledPins[i], OUTPUT); // declare all pins in array as output

void loop() {
if (Serial.available()) {
val =; // val equals the number being sent over from Processing
digitalWrite(ledPins[val], HIGH); // turn the LED with the current number from Processing on
delay(100); // delay 100
digitalWrite(ledPins[val], LOW); // turn the LED with the current number from Processing off


Cathy’s Way Too Much Info Introduction

Hello world!

My name is Peiying Feng. I go by Cathy in English sometimes, but either name is fine — whatever rocks your boat, yeah!

I’ve lived in the US, Canada and for the past few years in China where I did my undergrad  in Information Design (wut?). We do a lot of random stuff like data viz, interactive installations, a dabble of user interface… Fun stuff.

I know a little bit of Arduino, mostly little bits and pieces that I’ve picked up while trying to figure out what the hell I’m doing in my interactive installations and had one scary encounter with openFrameworks and Kinect (had no clue what the hell I was doing with that). I’m hoping in PComp class to learn Arduino/openFrameworks/etc in depth so that I can do more than just blink lights on and off so I can make a gaggle more of interactive installations. They’re a lot of fun to make!

My work is on here:

V Motion Project – one of the coolest projects out there:

Link to the video because I can’t seem to embed here: