Square Root of Negative One


Posted in Uncategorized by cheng on March 4, 2015

For Yahoo Q4 hackday, we built a physical version of Yahoo Weather.
Screen Shot 2015-03-03 at 11.35.58 PM

The 24-hour hack involved a lot of wires and hotglue, but it survived the demo day and went into the finalist. We presented to the whole company, and, to everyone’s surprise, won the grand overall prize at a software company. David Filo hand shake? Check!

Me and my gCode hanging out at the Garage:


Knappa Tutu

Posted in make by cheng on March 4, 2015

UPDATE: for the step_by_step DIY instruction, visit instructables.
DISCLAIMER: This party trick might result in people touching your skirt and attempting to peak underneath.

I was wondering around Ikea one day and thought ‘This lamp looks oddly like a skirt!’ (Image from ikea site)

50 bucks later, I was putting the leafs of this beautiful lamp together…

…into a Tutu!

And since Knappa is a lamp, of course it needs to light up! I picked some programmable light strip to go inside the lamp.

IMG_7797 knappa

And to spice it up, I added a Dance Move Detector and cleaned up the circuit. I used:

  • SparkfunArduino Mini Pro 5V
  • Sparkfun ADXL335
  • Adafruit NeoPixel Digital RGB LED
  • USB cable (to plug into external battery pack and power the system up )

This is definitely a more obsessed prototype among all other things I hotglued together. But hey, if you plan to dance around with your circuit, everything must be secured!


Next, code up the accelerometer do some dizzling light effects! Soon enough you realize that you need a standing table to debug a tutu! I let the colors swirl slowly when the lamp is still, and do an abrupt change when a hop is detected.


I brought this to the Burner Halloween party and here are some live actions :]

IMG_7996 dance


WARNING: this party trick might result in a lot of people touching your skirt…

bezier mustache

Posted in baking idea by cheng on February 5, 2012

cute possibilities with mustache


And with processing, I made this parametric mustache generator :{P

It’ll connect with our Piccolo and draw mustache at all the places you don’t expect…

Bed Making

Posted in Uncategorized by cheng on November 21, 2011

After I moved to Chicago, I had a few days to settle down before I started my first job at Motorola Mobility. I decided to make my own bed. It’s the first time I make a piece of furniture (though not the imaginative ones I dreamed of), and also my first instructables project, following aeray’s wonderful instructions.


I used the home depot bricks to stack the frame up, which I later raised to fit more boxes under.

After the bed is set, I bought a used door frame, bolted it down to the wooden workhorse left from bed project, and made my dining table. Zero waste! 😀 Mind you though, this is still more expensive than Ikea.


The door frame is covered with wood floor, unintentionally giving it an expensive solid-wood-blocks-glued-together look. Lock hole now works as a candle holder.

One shortcoming of making furniture at home is, none of these objects will fit through the door when I’m moving out of the place. Oh well.

sparkfun tour!

Posted in look at that! by cheng on June 17, 2011

This June I took a Friday afternoon tour to Sparkfun, organized by their new education department.

Greeting us at the entrance is a robotic dinosaur!

Like all hackers, we started with a grill…

Ninja dart attack!
Never knew this, but if you take lilipad parts out of the PCB board, what is left would work as ninja darts! Photo shot in their workshop space.

Testing driver board for stepper motors. Grrrrrr…..

new business cards!

Posted in TID by cheng on June 3, 2011

New business card created by Processing, and mass-cut by laser!


Posted in TID by cheng on March 21, 2011

BlackBelt is a wearable gadget that augments martial actions with cinematic sound effects.
Inspired by Kung Fu costumes, the gadget takes the form of hand wraps, with electronics embedded inside fabric. Out of a total of five, four are wrapped around wrists and ankles, each embedded with a sensor that detects wearer’s strike. One has a speaker, and is worn around waist. The waist belt communicates wirelessly with the four limbs, and plays striking sound effects when action is taken. All sounds effects are pre-recorded and saved on a SD card. Just wrap on BlackBelt and play!

The dramatic sound effect creates an instant reward to movements, leaving an augmented yet compelling experience. Players can easily extend the fun by changing the sound files to drum beats, musical notes, and other sound effects. BlackBelt can potentially be used in motor skill rehabilitation.

Premiere at Superhero Custome Show at the 5th ACM SIGCHI Conference on Tangible, Embedded, and Embodied Interaction, Maderia, Portugal.

Collaborated with Ying-Jung Chen, Huaishu Peng, Kuanju Wu.

Setup Xbee with xbib-u board

Posted in Digi by cheng on January 18, 2011

download driver for xbib-u

so far I haven’t got it working with win7, but here is the instruction for winXP


Config X-CTU

go to modem configuration

Click “read”

all settings other than those listed below should be left at the default value.

usb dongle – controller

ID (PAN ID) – 777

PAN ID should be same for all xbee chips in one kit

MY (source address) – 1

controller address should be 1

CE (coordinator enable) – 1

controller should have coordinator enable bit set

A2 (coordinator association) – 6 (110b)

bit 0 – 0 – no reassign PAN ID

bit 1 – 1 – reassign channel

bit 2 – 1 – allow associate

Click write to write to central device flash

Then repeat these to set up all end devices

hub – end device

ID (PAN ID) – 777

PAN ID should be same for all xbee chips in one kit

DL (destination address low) – 1

should be set to low address byte of controller

MY (source address) – [unique address > 1]

each end device should have a unique address

I used 2 3 4 5

A1 (end device association) – 6 (0110b)

bit 0 – 0 – no reassign PAN ID

bit 1 – 1 – reassign channel

bit 2 – 1 – auto associate

bit 3 – 0 – no poll on wake

Pasted from <http://philetus.code.arc.cmu.edu/index.php?title=Set_parameters_for_zigbee_transceiver_in_each_posey_hub>

connection for xbee

Pin 1 (Vcc) – 3.3V

Pin 2 (UART data out) – connects to RX pin of arduino/serial port

Pin3(UART data in) – connects to TX pin of arduino/serial port

Pin10 (gournd)

Pin15 (associate indicator) – connects through a led and a resistor to ground
For end device, LED is steady when xbee is first plugged in. Once it finds a controller, led begins to flash.


Set up a PC with serial monitor (e.g. realterm) and talks to the controller xbee.

Then connect the end devices to arduino with RX, TX and 3.3V power, plus ground. In the arduino program, use Serial.write to send 1-byte data.

Data should show up in serial monitor.


– Things are showing up, but not what i sent.
+ Double check baud rate. xbee has a default rate of 9600.  this should be the same as that of the serial terminal.

-nothing shows up.
+make sure the serial port is set up right.
+ on serial/usb converter, lights would flash when data is received. if not, check if RX and TX is reversed.
+ sending char that has a value <30 (?) will not show up

New Year’s Card

Posted in baking idea by cheng on December 30, 2010

I made some new year’s cards out of the google voice sms conversation for a few friends. Here is one for my roommate. Looks like I’m constantly inviting her to dinner at home while she is still in class.


labmate. working hard and playing hard

with family. almost look like a life log….

acquiring google map api key

Posted in android, coding by cheng on November 14, 2010

1. run cmd
navigate to D:\Program Files\Java\jdk1.6.0_22\bin in cmd line
(to change root directory- d: )

2. find the keystore file
assume it is in C:\Users\[useraccount]\.android\

3. run keytool
in cmd line, type in
keytool -list -alias androiddebugkey -keystore C:\Users\[useraccount]\.android\debug.keystore -storepass android -keypass android

4. For reference on API –

Example Using Google Maps in Android

cybernetics…or, super hero

Posted in baking idea by cheng on October 14, 2010

Interestingly, Kevin Warwick, professor of cybernetics at University of Reading, visited CMU the same week we read Bruce Sterling’s vision of the SPIME. Kevin talked about his research projects, including the ones in which he implanted a nerve-computer interface in his body.
In his view, the technology expands the input and output human beings can get. On one hand, we could sense things we weren’t able to before ( “ Who is not envious that your television can see infrared but you can’t?”). Kevin spent 6 weeks to learn to interpret ultrasonic sensor input, and to use it to avoid obstacles. “Yes!” One would immediately infer that blind people can benefit from this. (Actually, Electronic Lollipop is already doing it.) How about feeling hazards, such as radioactivity? If a firefighter can see the temperature, and know what’s about to explode, could that be a form of super power of seeing the future? “More than 50 years ago, Austrian researcher Ivo Kohler gave people goggles that severely distorted their vision: The lenses turned the world upside down. After several weeks, subjects adjusted – their vision was still tweaked, but their brains began to process the images so they’d appear normal. In fact, when people took the glasses off at the end of the trial, everything seemed to move and distort in the opposite way”( sensory prosthetics, http://www.wired.com/wired/archive/15.04/esp_pr.html) Could we merge some 6th sense into people’s existing sensors, or use some less occupied ones (like Electronic Lollipop)?
On the other hand, we could extend our impact to a new level. Kevin showed a robotic arm connected to the human body. It could be engineered to mimic a human arm. It might as well be 100 times stronger. It doesn’t even need to connect to the human body (I was imagining Ian Ingram’s “YOU ARE NO. 1 “ installation, hmm…) . “Your body gets as large as the internet goes”. Potentially, yes. A more interesting question is, if each body is an I/O node, what can we get out of the whole network? Are we more intelligent? More powerful? How do we show it in a costume design, and deliver the idea in a show?
Coincidently, TEI student design competition is calling for superhero suit. I see an intriguing opportunity to make a statement on this topic. It’ll be fun to stop by Kevin Warwick’s lab and show my vision of the future.

“what do you want to be?”

it’s all about display

Posted in baking idea, TID by cheng on June 28, 2010

This particular display caught my eyes in Ivan’s report from CES2010 :


“Experia phone from Sony Ericsson that had half transparent screen, which looked very nice, designy and conceptual.”

Now you can type from the back of your cell! I had always want to make a phone with keyboard on the back, since a lot of us don’t need to look at keyboard anyway (more true in China where we’re crazy about texting). Now with this translucent screen, you even get visual feedback where your finger is.

Planck’s Duck

Posted in make by cheng on May 26, 2010

Planck’s constant, the size of quanta, is the base of universe, defining substance, light, energy. With a different value, another universe can overlap with ours, yet not been sensed.

Modeled in Rhino. Material: CNC-milled foam, plastic, paint.


Posted in material by cheng on May 8, 2010

some experience shared by fish tank maker:

making things interact final show

Posted in visual by cheng on May 5, 2010

Final Show of Making Things Interact this semester!

Inspired by the post board layered by all sorts of posters, I made this poster of posters…