Archive for the ‘gear (hardware)’ Category

Archive ads by Google

Arduino SimpleMessageSystem for Max/MSP

Tuesday, September 12th, 2006

I edited Thomas Ouellet Fredericks’ Max/MSP patch for Arduino (available here) which uses his SimpleMessageSystem to control outputs and read digital and analog inputs.

The original patch only read the analog and digital inputs to the Max console. My modification streams the analog and digital inputs into number boxes that can then be used to control other Max patches. Here’s an image of the patch:

SimpleMessageSystem - modified Max/MSP patch

Get the modified patch here.

my addition

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 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

“physical computing” - microcontrollers for sensor interfaces

Friday, July 28th, 2006

yes, it seems that it’s all the rage to be using microcontrollers for sensor interfaces and to a lesser extent, control of external devices from a computer (commonly a powerbook running max/msp, pd or processing).

This trend seems to beg the question that if everyone’s doing this stuff, what is actually worth doing with these tools? It has actually been possible to do this since before laptops.. I remember a book called “how to control the world from your pc” or something like that, which used parallel port interfaces for input and output, with much the same effect. Now it’s a commodity, so we can expect to see more and more half-baked new media art ideas using sensor interfaces and external device control from max. What is actually worth doing? Where are the really interesting concepts that will overcome the techno fetishism of the process?

Having got that little rant off my chest, it’s time to jump on the bandwagon (already totally overloaded), and get a microcontroller and some sensors to play with. To help the process, here are some links I have gathered in my exploration of the options.

  • One of the first places to look should be, started by Prof. Marcelo M. Wanderley from McGill university’s IDMI Laboratory, where there is a good range of links and info surveying currently available sensors and microcontroller boards (sensor interfaces).
  • Some of the cheapest options from sensorwiki are: DIY Atmel based USB interface, then the open source Atmel based projects: Arduino (around US$30 for USB board) and Wiring (about US$80), both available from Sparkfun (under Development Tools). Both these boards use the simple Wiring programming language, which has a c like syntax, and is currently at a pre-beta stage of development.
  • Finally, there are a growing number of user-level tools for Arduino and Wiring boards: Hans-Christoph Steiner has developed Pduino: An Arduino firmware and matching PD object, with some more info here. There is also an extensive page of Processing examples here, coming from Anders Gran, Jacob Holst, and Melvin Ochsmann for K3, Malmö University and licensed under creative commons. Another great page of examples (here) comes from Tom Igoe at ITP, NYU.
  • On a slightly different tangent, it seems that i2c bus (or the non-proprietary name : two wire interface TWI) is rather neglected as a highly scalable sensor bus for new media art projects (though maybe not for high-rate capture). Apparently the Brainstem board from Acroname can be used for i2c interfacing. Also, Guido Socher has a project page for interfacing ic2 with Atmel AtMega8 microcontrollers - the same ones used in Arduio.
  • Another interface is the Create USB Interface from Dan Overholt from UCSB.
  • Another place to look is the Open Sound Control application page.

field recording equipment

Tuesday, April 25th, 2006

Edirol R-1 - useful as a solid state MD recorder replacement - currently available for about US$400, it has plug-in power mic input socket, but not phantom power pro inputs…
…if you want those you need to go more upmarket
- like the Marantz PMD660 available down to US$499…
- or go all the way to the Nagra range - some of which are even becoming quite affordable! - such as the Ares M or Ares PII+.

M-Audio Microtrack is US$499 rrp

bonephones and other sound conduction in solids

Monday, April 24th, 2006

via r-echos, some links down the track, we find a company called Feonic who produce products to produce audio from a piece of glass (feonicglass) or other objects (soundbug)

lots of possibilities here… !