mbed_eth

I have been playing with the mbed microcontroller, a new platform for rapid prototyping from NXP. I like the mbed because it has a lot of power (32-bit ARM chip at 100Mhz), a lot of I/O (serial, SPI, CAN, I2C, USB, Ethernet, analog and digital…) and is easy to program. The code is C/C++ and the development environment is fully web-based, similar to Google Docs. When you compile the program the browser downloads the .bin file and you just drag and drop it onto the mbed (it mounts like a 2MB flash drive). Very simple.

For independent study in MAT this quarter I sought to implement the Open Sound Control (OSC) protocol on the mbed. This involved getting UDP send and receive working on mbed and then setting up a parsing / callback system that can take an incoming message and delegate it to the proper subsystem. The low-level networking is handled by an mbed port of LWIP and uses their NetServer class to handle DHCP and set up raw UDP receiver callbacks. I used the Make Controller’s OSC system as inspiration since their code provides a sensible implementation that gives control to the digital I/O and system networking parameters. Each subsystem is independent and custom subsystems that interact with application-specific code can easily be developed.

My initial OSC system can control the four on-board LEDs and turn 8 digital output pins on and off. The Mbed has a lot more than 8 digital pins but some of them overlap with the analog input pins and other interfaces that I want to interact with using OSC so I chose 8 non-interfering pins for now. There is also a /system address space that returns information such as mbed’s IP address and listening port number. It broadcasts this information on startup so that other OSC applications can learn what IP address it has since it can vary between networks.

mbed-osc_layout

I initially tested it using a simple Max patch and also made a custom TouchOSC layout for my iPhone to interact with the mbed without needing a computer. The Max patch has message buttons that made it easy to test individual subsystems and also catches the IP address broadcast packet and routes it to the udpsend automatically so its always sending to the right place. The TouchOSC layout just controls the LEDs and Digital I/O for now but will be expanded in the future to cover more of the I/O.

mbed_osc_max

The mbed OSC code (including code based on the Make Controller, with attributeion) is released on my mbed.org account. It is in-progress as stated-above but may be useful to someone.

I had the unique experience of being part of the Syynlabs team for the second “This Too Shall Pass” music video for OK Go. They hired us to design and build a massive Rube Goldberg-style machine that would play along with their music in one unbroken sequence from start to finish. We took over a 10,000 square foot warehouse in the Echo Park neighborhood of Los Angeles for a few months and built our contraption using everything from mouse traps to an Upright piano. The result is over three minutes of gravity-fed chaos.

More pictures to come…

ms_dec092My safecracking game ‘Scrooge’  from LACMA Halloween made an appearance at the December 2009 Mindshare event. It was installed on the rooftop of the Downtown Independent theater in Los Angeles with a great view of the skyline.

Since LACMA I re-engineered the door-release mechanism to be more powerful and reliable and it has worked like a charm since.The prize inside was a bowl of candycanes and mini Kit Kats and people enjoyed trying to crack it.

ms_dec095

(more…)

IMG_6956

I brought the laser project to King King in Hollywood for the Create Digital Music Lounge celebrating the 5th birthday of the blog. The event was a sort of after party for a two-day Ableton Live workshop sponsored by Dubspot out of NYC.

The event also featured a few performances by live-looping-beat-boxer Kid Beyond, including an in-depth look at how he uses foot pedals, MIDI and automation to control every aspect of his Ableton Live setup.

IMG_6926

Aaron McLeran was there to demonstrate his Enso generative audiovisual system, now with iPhone OSC control!

IMG_6949

Meason Wiley demonstrated his gestural music controller that uses lasers and photodiodes to sense the position of you hand and give you continuous control of your sound:

IMG_6941

(more…)