The Bonded Brothers


My project is a pair of brothers that can sense and reciprocate each other’s feelings, no matter how far they are apart.

If one of the brothers is touched, he expresses his feelings in the form of a light or a vibrate. Because the bond between siblings is so strong, however, those feelings get reci-procated on the other doll. In this way, whatever you do to one doll is felt by the other.

These little guys can be shared between any pair of people who share a bond like the brothers do, that way, no matter how near or far, you can always let them know you’re still bonded.













































IMG_5939 2

Redefining Task Zero

Task Zero was originally about materialising a person’s digital task list, showing only one task per day. This helps he/she does his/her tasks more efficiently. But hold on…

Living in the society that values high efficiency and stresses success, one may tend to forget there is life beside work.

Task Zero, now, is about the task before the first. Task 0: Treasure your personal life.

Don’t put off those tasks that cultivate your soul. It’s not about booking a flight, it’s about going home. It’s not about getting the groceries, it’s about cooking it for someone.

With this desktop device, I hope to convey to those getting swept away by a fast-paced work life that: the things that might make you smile are those important, not urgent and seemingly mundane tasks.

urgemt diagram-01.png

Introducing Task Zero


Instructables Tutorial to come. Please visit this doc for process.

Close the door (Magnetic Sensor Alarm)



Every night when I go home, I spend my commute panicking over whether my roommates forget to close the door again or not! Walking into an open door at midnight has become a regular thing, so I decided to make a device that would remind them to close the door when I’m not around.

To find out more go to this Instructable.


Is this situation ever freak you out that when you are ready to bed, after turning off the light, you cannot see anything. Has it ever happened to you that when you are chilling on your bed, somehow you are too sleepy to get up turn off the switch?

If so, let’s make a lazzzie lamp which can detective the motion( by a motion sensor) and volume(microphone) of your room. So if you are getting sleepy, and stopping moving or making any sound, the lamp will get dimmer till turn off.


Want to build your own one? Let’s go.


  • Wire strippers;
  • Soldering iron;
  • Lathe;
  • Laser cutter;
  • Table saw;
  • Blend saw;
  • (Or 600$ + 3D printing);


  • Arduino Uno;
  • Motion sensor;
  • Microphone:
  • Breadboard:
  • Acrylic;
  • Breadboard wires;
  • Solder;
  • Dotstar LED stripper

Step 1: Soldering and Connecting Circuit

Step 2: Coding

#include <Adafruit_DotStar.h>
#include <SPI.h>

#define NUMPIXELS 20 // Number of LEDs in strip

// Here’s how to control the LEDs from any two pins:
#define DATAPIN 13
#define CLOCKPIN 12
Adafruit_DotStar strip = Adafruit_DotStar(

int brightness = 255; // rudamentary brightness value output to the dotstars (0-255)
const int sampleWindow = 50; // Sample window width in mS (50 mS = 20Hz)
unsigned int sample;

int micrphonePin = A0; // Analog input pin that the microphone is attached to
int sensorValue = 0; // value read from the microphone (0-1024)

int inputMotion = 11; // Digital input pin that the motion sensor is attached to
int motionValue = 0;

int fadeAmount = 4;
int plus = 10;
int line = 400;

unsigned int signalMax = 0;
unsigned int signalMin = 1024;

void setup() {

pinMode (inputMotion, INPUT); // digital pins can be either inputs or outputs so we have to define which it will be this time

strip.begin(); // Initialize pins for output; // Turn all LEDs off ASAP

// initialize serial communications at 9600 bps:



void loop()
int sample = soundSample();

motionValue = digitalRead(inputMotion);

Serial.print(“\t microphone sample = ” );
Serial.print(“\t motion = ” );
Serial.print(“\t brightness = “);

if(brightness >0){
if(sample >= line || motionValue == 1){
brightness = brightness + plus;

if(sample < line && motionValue == 0){
brightness = brightness – fadeAmount;

fillAll(strip.Color(brightness, brightness, brightness));


int soundSample()
unsigned long startMillis= millis(); // Start of sample window
unsigned int peakToPeak = 0; // peak-to-peak level

// collect data for 50 mS
while (millis() – startMillis < sampleWindow)
sample = analogRead(micrphonePin);
if (sample < 1024) // toss out spurious readings
if (sample > signalMax)
signalMax = sample; // save just the max levels
else if (sample < signalMin)
signalMin = sample; // save just the min levels
peakToPeak = signalMax – signalMin; // max – min = peak-peak amplitude
return sample;


void fillAll(uint32_t c)
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, c);

Step 3: Making the shape of the lamp

1.Laser cut acrylic

  1. Stripper: the width of the stripper is a little bit wider than the LED stripper,  so that you can glue them on later.
  2. Circles for the bottom.IMG_4405

2.Build dowels

  1. Glue wood sheets together overnight;IMG_4245
  2. Use table saw to cut the cuboid;IMG_4259
  3. Use lathe to make your own dowels;
  4. use blend saw to cut them in pieces;IMG_4274

3. Bend your acrylic.

  1. Use tape glue the pieces together and fix it with clamps;
  2. Heat the acrylic;IMG_4298
  3. Bend it;
  4. Cool down;IMG_4333
  5. Untaped 
  6. A little bit sanding

4. Glue

Steps 4: Assembled each part