A ceiling that is responsive to the people passing by or standing under it. It is a physical communication considering negative and positive space as an alternative to video, image and text messaging on the computer networks.


An array of 60x60cm (~24x24 inches) balsa wood plates hanged with strings and pulleys.


A stepper motor (55MO048D2U) driving a pulley wheel with 10 cm radius. The circumference of the pulley is ~ 60cm (2*PI*r), so a single cycle of the motor will travel 60cm up or down. The torque is 10*weight of the balsa wood planes.


The Sharp GP2Y0A infrared sensor reads a distance with a range of 10cm-80cm, reports the distance as analog voltage.

Control and Comunication

An ATtiny 26 microcontroller for motor control, infrared sensing, and IP packet transmission. When a signal from the infrared sensor is received, tiny26 measures the analog signal by the A/D, drives the motor according to the distance value, and sends the same data coupled with an IP packet to another controller. So both the infrared sensor and the transmitted data will be able to trigger the microcontroller to drive the motor.

Some pseudo code for the mechanism:

if(received.UP || ir.UP){
  	else if(received.DOWN || ir.DOWN){


Version Alpha
Two hanged planes controlled by the motor and a gear system, triggered with infrared sensors and IP transmission.

Version Beta
An array of hanged planes with the same mechanism. Use of the network transmission and motor response time for optimization.

Version 1.0
An array of planes working in relation to their neighbourhood planes, and use of the distance data from IR sensor to have a more responsive form.

Version 1.1
Refinement of the whole system based on tests and feedback.

NOTES updated 28 Nov 2004

+ I need to move the planes around 60cm (~23inches) up and down. And it should be pretty fast for a higher quality of interaction. So the torque i need depends on the weight of the balsa wood that i'm going to use. I've been looking for suitable motors, there are variety of stepper motors available in digikey, and also this one seems useful.

+ can we drive a stepper with full cycle? like a linear motor.

+ if i use a r=10cm gear, my revolution will be 2*PI*r = 60cm. so only one full cycle creates the distance i need. but this is a huge gear and needs some reasonable torque.

+ is "step per revolution" important? and "step angle"?

+ there is a "holding torque" that we need to consider, but how?

+ RPM (revolution per minute) which is also mean (velocity = distance /time)

+ Torque = Force x Distance (a torque is the force that produces rotation)

+ A decision between digitally and physically distributed actuators is needed.

+ A torque is the force that produces rotation. It causes an object to rotate.

+ World of gears and pulleys is useful, there are formulas and visual explanations of these mechanisms.

+ Calculating motor torque, speed.

+ DC motors, servo motors, stepper motors. A Servo is a small device that incorporates a three wire DC motor, a gear train, a potentiometer, an integrated circuit, and an output shaft bearing. More info: servocity.com

+ Basics and applications of solenoids from Saia Burgess, Solenoids in Jameco. A solenoid is a coil and a moveable iron core used to convert electrical energy into mechanical energy. See solenoidcity.com

+ Sensors, bend sensor, Sharp GP2D12

+ Simple mechanism definitions in Flying Pig

+ XPort is a tiny embbeded device server.

+ Resource for "acronym madness" in electronics

+ Some vendors: Parallax, Jameco, Acroname, Linear, Digikey, National Semiconductor

The controller (click to enlarge)

Control and communication sketch

The controller (click to enlarge)

Circuit board schematic (click to enlarge)

Board milling paths (click to enlarge)

A sketch for the interaction (click to view)