Archive for August, 2006



Archive ads by Google


Arduino USB - getting it running on OSX with Pd and Max/MSP

Tuesday, August 29th, 2006

Arduino is “an open-source physical computing platform based on a simple i/o board and a development environment that implements the Processing/Wiring language. Arduino can be used to develop stand-alone interactive objects or can be connected to software on your computer (e.g. Flash, Processing, MaxMSP).”

A good starting point is to read the Arduino HOWTO webpage - also available as an offline page in the Arduino IDE Help menu > HOWTO.

Then, following the HOWTO instructions, do the following:

  1. first, install the FTDI Virtual Com Port drivers (v2.1.6) for Mac OS X from FTDI’s website
  2. download the Arduino IDE software
  3. run the macosx_setup.command in the Arduino software folder
  4. connect the Arduino and run the IDE software
  5. select the correct serial port in the IDE Tools > Serial Port menu. For the USB version, for me, I used /dev/cu.usbserial-1B11. I left the Serial Monitor Baud Rate at the default 9600. Note: apparently, “the tty’s are for incoming (to the system) calls; the cu’s are for outgoing (from the system) calls (”cu” == “call unix”);”, according to this mailing list post. A further note, from GPSBabel, is that (at least for their software), using the tty port “will block trying to open the serial port and the only solution will be to unplug the adapter.”
  6. reset the Arduio (using the small reset button on the board)
  7. open and upload the firmware of choice

And that was it.

Arduino interface software
The main application of interest to me is using Arduino as a (nice and cheap) sensor interface - to read external sensor analog and digital inputs into other software environments.

For this purpose, I tried Pduino, SimpleMessageSystem and Gomalab solutions, all linked from the Arduino Playground Pd interface page. Gomalab didn’t seem to come with any firmware, so I didn’t investigate further at this stage.

Pduino interface for Pd
I loaded Hans Christof Steiner’s Pduino firmware, then the arduino-help patch for Pd. I modified the patch to set the comport device to the correct /dev/cu.?????? port, then clicked the relevant parts of the patch and saw numbers coming from the analogue ins of the arduino.

For the latest version of Pduino firmware, go to the sourceforge page here. Unfortunately, the v1.14 firmware didn’t work for me - it made all analogue inputs move continually (with apparently random data), even if I’d only selected one of them in the patch. So for now, I’m sticking to the older firmware on Hans’ website.

SimpleMessageSystem
SimpleMessageSystem firmware has interfaces for Pd, Max/MSP and Processing. Make sure you get the latest version of the library from Thomas Ouellet Fredericks’ code webpage. I was able to get the Max version going easily, just by changing the port number argument in the serial port object to suit my system - trying each number and watching the Max console to see which device it mapped to, until I found the Arduino’s usbserial device. For Pd, I found that on OSX, I had to load the correct comport device name with a loadbang (using the object: “devicename /dev/cu.usbserial-xxx”), otherwise I couldn’t get output from comport (a strange issue, i know). Other than that, SimpleMessageSystem made it easy to use the Arduino as a sensor interface, getting analog data out in both Max and Pd.

some other arduino links

Clay Shirky on Situated Software

Wednesday, August 16th, 2006

Situated software is a way of saying “Most software gets only a few users for a short period; why not take advantage of designing with that in mind?”This, strangely, is a kind of progress, not because situated software will replace other kinds of applications, but because it mostly won’t. For all the value we get out of the current software ecosystem, it doesn’t include getting an application built for a handful of users to use for a few months. Now, though, I think we’re starting to see a new software niche, where communities get form-fit tools for very particular needs, tools that fail most previous test of design quality or success, but which nevertheless function well, because they are so well situated in the community that uses them.

read more here http://www.shirky.com/writings/situated_software.html

DIY windshield for DIY ambisonic microphone - recording on motor boat

Tuesday, August 15th, 2006

Short video of my home built DIY ambisonic microphone with home built DIY windshield recording 4 channel ambisonic surround audio on a small motor boat on the Hawkesbury River in Sydney Australia.

This video shows the view to the front of the boat, with the driver, then pans around to show the microphone and windshield mounted in the middle of the boat.

The sound on the video is straight from the Canon IXUS, so it’s pretty poor quality and shows the effect of the wind, which is blocked very well by the DIY windscreen on the ambisonic mic.

Here’s a binaural rendering of the ambisonic recording taken at the same time as this video - showing the effectiveness of the windscreen. Listen with headphones!

electrofringe performance ideas

Friday, August 4th, 2006

I will be performing at electrofringe 2006, in spac[v]e, (performance working title: swarm sands around scapes), using ambisonic field recordings and synthetic spatialisation, granular synthesis, physical modeling and other processes to create and control my sounds on 5 or 6 channels. To make things more interesting to watch than just me at a laptop (or two?), I am thinking of using some kinetic toys to control sounds (via sensors and a microcontroller). The idea is to take my software processes back out into the real world, in the mold of a recent thread of art where computer processes are implemented as real objects. For example, Reuben Margolin’s Square Wave or Daniel Rozin’s Wooden Mirror (both pictured below). I would say this idea also underpins the burgeoning practice of physical computing.

Reuben Margolin's Square Wave Daniel Rozin's Wooden Mirror

Other points of reference include the venerable SodaConstructor, Ixi software’s SpinOSC, a Japanese project called Modulobe, and Cyrille Henry’s pmpd, which I demonstrated during my Pd masterclass at Electrofringe 2004. Incidentally, I’m not claiming to be doing anything drastically new here, and I note that GCTTCATT used SodaConstructor to control spatial audio at a performance in 2001. Hopefully my idea for some real physical kinetic objects controlling software sound synthesis and spatialisation via physical modeling tools will make for an engaging visual and aural performance. I guess the biggest risk is to lose the elegance of simplicity by using so many ideas in one performance. That is definitely something to work on avoiding…. OR - maybe I can make something out of excessive fiddly complexity!?!