motorNet – proof of concept

quick video of a potentiometer controlling a servo motor over the interwebs.

arduino -> processing -> PHP [serverside] -> .txt file [serverside] and all the way back on the other computer.

i’ll put up code when it’s all ready to go. as it is, this is ready to go both ways, but for clarity i just filmed it going one way.

these two computers could be thousands of miles apart, just need to be online.

MapDuino/HackDuino Project Launch

online at !!!

v01 aka BaseDuino was on a yellow, double guttered breadboard. With this version, I followed ITP’s tutorial, almost exactly. Worked amazingly, super happy with the convenience and functionality afforded by this.

v02 BaseDuino02 was done on a slightly smaller white board, with ground and power on oposite sides of the board. This complicated matters slightly, and is not really worth the small gain in size.

v03 BaseDuino03 is the mostly the same as 01, however it has been executed on a radioshack PCB. So that I am able to reproprogram the chip, I also added a 28-pin IC socket for the ATmega to sit in. v03 was implemented in the Spatialized Umbrella Project.

v04 aka Auduino will include an onboard stereo DAC (digital to audio converter). Auduino will have an 1/8″ or 1/4″ stereo output for instrument building and live sound performance.

v05 aka Auduino02 will include a DAC as well as audio input or microphone serving as an ADC (analog to digital converter).

To Do:
– Create a site devoted to updates in hackduino projects, but for now this post will serve as the main update page.

– set a better versioning system to differentiate different types of MapDuinos- Auduino, BaseDuino, ???

[images and more soon]

Spatialized Umbrella v01

This is my first prototype of the Spatialized Umbrella.

The Spatialized Umbrella project offers an entirely new dimension to walking in the rain. Using light and sound spatialization this umbrella creates an immersive, mobile, and highly personal multi‐sensory environment.  Range sensing technology helps the Spatialized Umbrella react to your movement through a space.

5 speakers and LEDs are mounted inside of the umbrella, around the users’ head, allowing for sound and light spatialization.  The ‘raindrop’ samples play in a loop, each speaker playing their own unique raindrop. The LEDs light up the speaker playing at that moment. The tempo of the loop is controlled by a long-range Sharp Infrared range finder.  The closer an object is to you, the faster the loop plays. If an object is close enough and a threshold is reached, a lightning sequence is triggered. Best part: COMPLETELY SAFE FOR USE IN THE RAIN.

This video is actually an early version of the code, and I apologize for not using a microphone INSIDE the umbrella (it’s hard to hear the ‘raindrop’ sounds). New video soon.

The most time consuming part of the project was in soldering the PCB i used (i wanted it to be small to fit at the top, so the entire arduino did not make sense). I designed my own “mapduino” circuit and used an IC socket for the ATMega168 chip to sit in on the PCB. This way i can just pop the chip out and replace it with another I have reprogrammed on an Arduino. Rigging the umbrella also took a little while.

***ALL SOUND IS MADE USING ONLY AN ARDUINO AND 8OHM SPEAKERS:: lookup tables store values for waveshaping, which is output directly from Digital Pins from the ATmega chip. See the current version of the code, which can be found HERE.

still to do: linearize the IR data so that there is a more even rate of change in the tempo. When I began, I also had the thought to use an accelerometer, to measure the direction of movement. BUT, I have been successful tonight in reading data from a digital compass sensor, which can give me degrees of rotation — like say if the user spins the umbrella, i could have the sound/light spin around the users head in that direction, at that speed. This is much more interesting data than an accelerometer, in my opinion.

>> UPDATE :: Featured on and and !!

Sharp Infrared Range Finder sensors

Click on image to walk through a great lesson myself, kerstin, and cecilia put together about Sharp Infrared range finding sensors. there’s info in there about pin connections, the 3 types of sharp IRs, and code for mapping, smoothing, and calibrating the range finder data.

HERE is the link to the page, if your resolution isn’t high enough for lightbox. and code links:


Smoothing and Mapping a tri-color LED

..and a vid – sorry, didn’t realize our hands were so out of frame when we filmed it — but you get the idea: closer the bluer, the further the redder the LED gets. this is demoing the last arduino code link i just listed.


Breadboarding an Arduino (ATMega168)

arduino, breadboarded.
arduino, breadboarded.

I recently found a FANTASTIC tutorial on how to breadboard the ATMega168 chip. I can’t even begin to list out how many good reasons there are to do this.  However, I will attempt:

1. cost. sparkfun sells ATMega168’s with the arduino bootloader for $4.95 (versus $35 for a full arduino)

2. size. now, instead of needing space for that entire bulky arduino board, you can make your project as small as you want, well assuming you can fit this chip in (which is very small on it’s own i’d like to add.)

3. pin access.  now, you have unlimited ground and power pins, something that you previously NEEDED A BREADBOARD TO DO ANYWAY.

4. reproducability. now, if you want to make several copies of one prototype, this is an actually viable process you can follow, whereas previously you may have thought “oh, i guess i’ll need to port this to PIC or BASICStamp to be cost/size/design effective”. nope. not anymore.


the tutorial (of course) is from the ITP site. man, ITP, you are great. thanks.

User Testing • Luminosphere v0.4

Welcome to my User Test for NiteLite Luminosphere®!

I invite you to examine the concept and look of a new product to be released worldwide in March 2009.

NiteLite® is a product to be used in any darkened room. Simply turn NiteLite® on, and enjoy the vibrant colors radiating from the base of the product and then watch in awe at the projection of colors on your ceiling or wall!

Watch a video of NiteLite® in action!


Learn about additive color synthesis, as Red, Blue and Green light mix to make White, and every color in between! **assuming projection surface is white to begin with

Here’s a diagram of how it works!

Now for a few questions:

1. What are your initial reactions to NiteLite®? Are you interested in using this product?

2. Do you want to have any control, or do you desire any physical interaction with the product (ie, pressing buttons to alter the light)?

3. What do you think could/should change about the NiteLite®’s physical design? Size? Shape?

4. What room of your domicile would you put NiteLite® in?

5. What sorts of activities do you think you would partake in, while in a room with NiteLite® turned on?

6. Is there any functionality you would want NiteLite® to have? Features?

7. Any other comments?

8. Would you consider purchasing this product, and how much would you pay?

LED time piece • v03

third iteration of the timepiece project for computation. we were allowed to use PWM (pulse width modulation) with the LEDs, so now they can FADE, not just on/off. i created a “nite light”, that projects the colors vertically onto your ceiling. it’s a nice effect, i feel alright about it. the green is brighter than red or blue (this is just a fact about color LEDs, green and yellow are brightest), so a perfect WHITE is never reached.

i also added buttons as you can see here – the toggle, simply breaks the ground to all the LEDs, essentially turning the device off (although in reality, the arduino is still running the sequence).  holding either the red or black push buttons down triggers a different sequence of light color.

LED time piece • v02

second iteration of the expression of time through LEDs and an arduino project. i built an enclosure for the LEDs, complete with outside access to both power and USB inlets for the arduino mounted inside.

i tried to arrange the LEDs in a pattern according to color (yes, believe it or not, they are not randomly spread out over the cardboard backbone with which they are held. My idea was that the color alone would express the progression of time, along with the incrementing light. I think the result would make a good entry into the failblog(.org). Aesthetically, i am satisfied, and the sequence still comes through, but it doesn’t have the same gravity as when the colors were placed together, in order (like in v01).

here is the schematic i used for construction, followed by more images of guts, etc…


my hilariously ineffective code can be viewed HERE.  yes, i realized a nested for loop could accomplish the final 500 lines in about 10, but that’s my style, OK?! i’ll fix this in the next iteration.

speaking of my next iteration, i realized after working on this project, that i am BASICALLY re-constructing the same object/aesthetic as i did for my studio final LAST SEMESTER.  a cube, littered with colored LEDs. see what the hell i am talking about.  i have decided that my next iteration will be a completely new enclosure, and one consisting of perfect spheres. i’m done with cubes, it will be a very, very long time before i put LEDs into plastic or plexi cubes. this i vow.

expressing time with LEDs

first project for second semester major studio: computation class. this is the first iteration, and uses blink intervals, sequencing, and color to express the passage of time. 12 LEDs and an Arduino.

the idea is the blue LED represents seconds (i realize here, it is much faster, around 500ms intervals), and every 5 seconds, a new marker lights up, until are are lit. then a complete blink sequence begins, with the interval getting smaller and smaller. then repeat.


LightBox • modular controller

concept: physically and functionality modular, multi-input controllers with visual feedback and dynamic sensor data output.  Manipulating video, sound, or anything digital is possible with LightBox, and when using more than one simultaneously, group interaction and collaboration is possible, as the controllers themselves are wirelessly networked. project post-mortem paper here.

final design:

final schematic

Here is a not-so-revealing video of one mothercube and one daughtercube (all i had the time and money to build), being run through a theremin-emulator max patch.  I have written a sampler patch and video controller in jitter, I will document these soon enough (making sure you can see my hands) and then post the patches.

[vimeo 2800746]

***I apologize that you cannot see my hands, however they are controlling the pitch of the sound based on how close they are to the cubes — very similar to how a theremin works***

Essentially, frosted plexi-glass cubes with IR range finders and one single button (capacitance [touch] sensor).  The sensors are being powered and read by an arduino, and then processed in Max/MSP/Jitter.  I used the PDuino firmware for that connection.  What I was hoping to acheive also, was one array of LEDs sensitive to the IR (you’ll see in this video, only the touch changes the color).  I worked on using a TLC5940 LED driver run by a PIC16F88 microcontroller, but was never completely successful. In fact it was quite frustrating, to the point that i gave up on it for the moment.

Here are some images of the process:

mothercube, finished

daughter guts

mothercube guts

LED driver circuit

mother and daughter

mother and daughter

Left to do now is finish the wireless aspect, between the two cubes.  Then more patching.